標籤:row 回應標頭 charset bool content let boolean lan imp
jsp是將java的實現邏輯和HTML 結合到了一起.
jsp的原理就是 jsp代碼在第一執行的時候會產生一個Java檔案,
然後編譯成class檔案,裡面就相當於之前寫的servlet檔案.
jsp中的page指令用來指導頁面中的某些特性
有多個屬性.‘
language="java"
pageEncoding="UTF-8"
contentType="text/html;charset=UTF-8" 指定回應標頭的資訊
import="" 需要匯入的java包
session="boolean" //是否建立session
errorPage="url" //指定此jsp錯誤跳轉的頁面
isErrorPage="boolean " //是否指定此jsp是錯誤處理頁面 可以拿到exception的資訊
page裡面設定errorPage="url" 指定錯誤頁面
1.防止系統內部的錯誤資訊通過報錯泄露給訪問者
2.展示友好的可視化的報錯頁面,避免使用者的恐慌
3.有機會把程式沒有處理的異常記錄下來,方便程式員來發現錯誤
在xml中配置統一配置錯誤頁面
<error-page><error-type></error-type><loaction></location></error-page>
<error-page><error-code></error-code><loaction></location></error-page>
location以"/"開頭
jsp的對象,
都可以用setAttrbute()索引值對的方式來設定屬性,
然後getAttrbute來擷取屬性
pageContext對象有一個findAttrbute()方法
依次從pageContext/request/session/application裡面
去尋找name=value的索引值對然後把值返回;
只要找到就返回,不會再繼續往後去尋找覆蓋.
統一配置錯誤頁面
<error-page>
<exception-type>java.lang.Throwabke</exception-type>
<location>/Error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
1.瀏覽器不直接存取jsp檔案,而是直接去找servlet檔案
2.servlet把資料準備好,然後 forward給給JSP去顯示
3.servlet和JSP直接傳遞資料,不要傳遞ResuleSet,
而是傳遞普通的對象或者對象集合.
forward 和sendRedirect的區別
1.如果邏輯是伺服器處理的,"/"就可以表示項目的跟目錄
如果邏輯是瀏覽器處理的,就不能加"/".
2.sendRedirect發次兩次請求,兩次請求的資料不共用;
第一次請求瀏覽器的請求,第二次請求重新導向之後的請求.
而req.set是把屬性存在了第一個網域名稱的網站上。
req.get就無法再第二個網域名稱吧屬性取出來.
javaweb----part5 jsp