標籤:轉寄 context 運算式 另一個 方式 ssi 建立 pat als
一、jsp中java小指令碼
1.<% java程式碼片段%>
2.<% =java運算式%>不能有分號
3.<%!成員變數和函式宣告%>
二、注釋
1.<!--html注釋-->用戶端可以看到
2.<%--jsp注釋--%>用戶端不能看到
三、jsp頁面的的執行過程
1.用戶端請求(輸入URL)
2.伺服器
(1)現將jsp翻譯成.java檔案(第一次請求)
如果是第二次請求,並且jsp頁面內容未改變
(2)將java檔案編譯成.class檔案
(3)執行.class檔案
3.將執行後的結果和html靜態內容發送到用戶端
4.中斷連線
四、jsp內建對象
是由web容器建立的對象,可以直接用,不用再new
1.out:方法print(文本)向用戶端輸出內容
2.request:用戶端請求內容
方法:
getParameter(“鍵”),擷取用戶端提交的單個資料
getParameterValues(“鍵”)擷取用戶端提交的多個資料
setCharacterEncoding("編碼")解決post提交方式的亂碼
getRequestDispatcher("頁面"):進行頁面轉寄
3.response:響應用戶端的請求,向用戶端輸出內容
方法
sendRedirect("頁面");//進行頁面重新導向
五、轉寄和重新導向的區別
1.轉寄
a.伺服器行為
b.用戶端只發送了一次請求
c.保留請求資料,頁面間可以共用資料
d.地址欄不改變
2.重新導向
a.用戶端行為
b.用戶端發出了2次請求
c.不能保留資料,頁面間不能共用資料
d.地址欄改變
六、會話:session
瀏覽器與伺服器的一次通話(類似一次打電話)
1.會話跟瀏覽器是一一對應的
2.同一個瀏覽器不同請求是一次會話
3.不同瀏覽器就是不同會話
4.一般用於儲存用戶端特定的資訊(臨時)
session失效:
1.原則上,瀏覽器關閉,session就失效(實際過程中不一定)
2.超過有效期間失效
3.調用invalidate(),立即失效
方法:
setAttribute(String key,object value),向session儲存資料
object getAttribute(String key)向session讀取資料
setMaxInactiveIntervals設定有效期間
invalidate()使session失效
removeAttribute(String key)移除指定的session
七、inlude指令:將頁面資訊包含到另一個頁面(靜態包含)
<%@ include file="頁面"%>
八、application:應用程式層級的對象
各個用戶端共用的資料
方法:
setAttribute(String key ,object value)
getAttribute(String key)
getRealPath("虛擬路徑");根據虛擬路徑擷取實體路徑
九、Cookie: 儲存特定用戶端的資訊
用法:
1.建立
Cookie ck=new Cookie(String key,String value)
ck.setMaxAge("時間"),設定有效時間,不設定預設瀏覽器關閉時失效
2.儲存
response.addCookie(ck);
3.讀取cookie
a.Cookie[]cks=request.getCookies();
b.遍曆
getName():擷取當前cookie的名字(鍵名)
getValue():擷取當前cookie的值
十、session與cookie的區別
session cookie
儲存在伺服器的記憶體中 儲存在用戶端的硬碟上
儲存object類型 儲存String類型
儲存臨時資料 儲存永久資料
安全性高 安全性差
十一、JavaBean
是一個java類
從功能上來說,java類分為:業務類和資料類
一個java類符合以下要求才是JavaBean:
1.是一個公有類
2.有無參的公用的構造方法
3.屬性私人:第一個字母小寫
4.有getter和setter方法
(方法名格式:get屬性名稱(大寫),set屬性名稱(大寫))
十二、內建對象補充
1.pageContext:當前頁面執行期間的資訊
2.page:當前jsp頁面
3.config:配置jsp頁面初始化資料
4.exception:異常
十三、四大範圍(作用範圍)
1.page:當前頁面
2.request:一次請求同一個請求
3.session:同一個用戶端
4.application:整個應用程式
十四、檔案包含
1.include指令:<%@ include file="頁面"%>
靜態包含:將指定頁面的內容複寫到另一個頁面,然後執行
2.include方法:pageContext.include("頁面")
動態包含:先執行頁面動態代碼,然後將結果和靜態程式碼封裝含到另一個頁面
十五、頁面之間的傳值
1.form表單傳值
2.session傳值
3.通過超連結(類似form表單 get提交)
url?keyname=值1 &keyname=值 2
JSP資料互動