jsp笔记一
jsp的頁(yè)面元素
腳本
通常,修改web.xml、配置文件、java 需要重啟tomcat服務(wù)
如果是修改 jsp\html\css\js,不需要重啟
注釋
- html注釋
- java注釋 // /.../
- jsp注釋 <%-- --%>
jsp指令
<@page %> 定義頁(yè)面的依賴屬性,如腳本語(yǔ)言,error頁(yè)面,緩存需求等 <@include %> 包含其他文件 <%taglib %> 引入標(biāo)簽庫(kù)的定義,可以是自定義標(biāo)簽page指定的屬性
jsp行為
JSP行為標(biāo)簽使用XML語(yǔ)法結(jié)構(gòu)來(lái)控制servlet引擎。它能夠動(dòng)態(tài)插入一個(gè)文件,重用JavaBean組件,引導(dǎo)用戶去另一個(gè)頁(yè)面,為Java插件產(chǎn)生相關(guān)的HTML等等。
行為標(biāo)簽只有一種語(yǔ)法格式,它嚴(yán)格遵守XML標(biāo)準(zhǔn):
| jsp:include | 用于當(dāng)前頁(yè)面中包含靜態(tài)或動(dòng)態(tài)資源 |
| jsp:userBean | 尋找和初始化一個(gè)javaBean組件 |
| jsp:setProperty | 設(shè)置JavaBean組件的值 |
| jsp:getProperty | 將JavaBean組件的值插入到output中 |
| jsp:forward | 從一個(gè)jsp文件向另一個(gè)文件傳遞一個(gè)包含用戶請(qǐng)求的request對(duì)象 |
| jsp:plugin | 用于在生成的HTML頁(yè)面中包含Apple和JavaBean對(duì)象 |
| jsp:element | 動(dòng)態(tài)創(chuàng)建一個(gè)XML元素 |
| jsp:attribute | 定義動(dòng)態(tài)創(chuàng)建的XML元素的屬性 |
| jsp:body | 定義動(dòng)態(tài)創(chuàng)建的XML元素的主體 |
| jsp:text | 用于封裝模板數(shù)據(jù) |
jsp隱含對(duì)象
JSP支持九個(gè)自動(dòng)定義的變量,江湖人稱隱含對(duì)象。
| request | 請(qǐng)求對(duì)象 |
| response | |
| out | 向客戶端輸出內(nèi)容 |
| session | |
| application | |
| config | |
| pageContext | |
| page | |
| Exception | Exception類的對(duì)象,代表發(fā)生錯(cuò)誤的JSP頁(yè)面的對(duì)應(yīng)的異常對(duì)象 |
session對(duì)象
| setAttribute(String key,Object value) | void | 一鍵值對(duì)的形式保存對(duì)象值 |
| getAttribute(String key) | Object | 通過(guò)鍵獲取對(duì)象值 |
| getID() | String | 獲取sessionId |
| invalidate() | void | 設(shè)置session對(duì)象失效 |
| setMaxInactiveInter | void | 設(shè)置session的有效期 |
| removeAttribute(String key) | void | 移除session中的屬性 |
Cookie 與 Session的比較
- Session 是在服務(wù)端保存用戶信息,Cookie是在客戶端保存用戶信息。
- Session 中保存的是對(duì)象,Cookie中保存的是字符串
- Session 對(duì)象隨會(huì)話結(jié)束而失效,Cookie則可以長(zhǎng)期保存在客戶端
- Cookie 通常用于保存不重要的用戶信息,重要的信息使用session保存
創(chuàng)建Cookie對(duì)象
Cookie cookieName=new Cookie(String key,String value);寫入Cookie
Response.addCookie(cookieName)
讀取Cookie
Cookie[] cookies=request.getCookies();
getCookies() 返回一個(gè)Cookie對(duì)象組(JSON格式,類似于字典)
getName() -> 獲取鍵(key)
getValue() -> 獲取值(Value)
所以取值時(shí)需要遍歷數(shù)組
在讀取Cookie時(shí),為了避免空指針異常,在循環(huán)Cookie數(shù)組時(shí)先對(duì)數(shù)組進(jìn)行非空判斷
關(guān)鍵代碼
| setValue(String value) | void | 創(chuàng)建Cookie后,為Cookie賦值 |
| getName() | String | 獲取Cookie的名稱 |
| getValue() | String | 獲取Cookie的值 |
| getMaxAge() | int | 獲取Cookie的有效期,以秒為單位 |
| setMaxAge(int expiry) | void | 設(shè)置Cookie..... |
Tip
通常情況下expiry參數(shù)應(yīng)為大于0的整數(shù),表示Cookie的有效時(shí)間。
如果設(shè)置expiry參數(shù)為0,表示刪除Cookie
設(shè)置expiry參數(shù)為-1或不設(shè)置,表示Cookie會(huì)在當(dāng)前窗口關(guān)閉后失效
application 內(nèi)置對(duì)象與全局作用域
application對(duì)象常用方法(setAttribute(),getAttribute)
page作用域與 pageContext 對(duì)象
page作用域的數(shù)據(jù)只能在本頁(yè)面中訪問(wèn)
,在該作用域內(nèi)可以使用pageContext對(duì)象的setAttribute()和
getAttribute()方法來(lái)訪問(wèn)該類型作用域數(shù)據(jù)
不同作用域的對(duì)比
| page作用域 | 只在當(dāng)前頁(yè)面有效,一旦離開(kāi)當(dāng)前頁(yè)面,則該范圍內(nèi)創(chuàng)建的對(duì)象將無(wú)法訪問(wèn) |
| request作用域 | 在同一個(gè)請(qǐng)求范圍內(nèi)可以訪問(wèn)該范圍內(nèi)創(chuàng)建的對(duì)象,一旦請(qǐng)求失效,則創(chuàng)建的對(duì)象也失效 |
| session作用域 | 在會(huì)話沒(méi)有失效或者銷毀前,都可以訪問(wèn)該范圍內(nèi)的對(duì)象 |
| application作用域 | 在整個(gè)web應(yīng)用服務(wù)沒(méi)有停止前,都可以從application中進(jìn)行數(shù)據(jù)的存取 |
轉(zhuǎn)載于:https://www.cnblogs.com/duoban/p/11536441.html
總結(jié)
- 上一篇: 如何利用System.Net.Mail类
- 下一篇: IIS AppCreate子目录的错误(