更新時間:2020-03-09 09:53:42 來源:動力節(jié)點 瀏覽1967次
一:內(nèi)置對象的出現(xiàn)原因
當JSP頁面被請求是,JSP會被Web轉(zhuǎn)換成_jspServlet(實質(zhì)上就是:Servlet),然后按照Servlet的調(diào)用方式進行調(diào)用
因為有了這個轉(zhuǎn)換過程,所以動態(tài)頁面被訪問時,第一次會比較慢,但是在以后被打開是會比較快,因為JSP文件已經(jīng)被轉(zhuǎn)化過,不需要再次轉(zhuǎn)換,
在轉(zhuǎn)化的過程中自動生成創(chuàng)建且生成9個對象來供_jspServlet使用.
二:九個內(nèi)置對象詳解
out
request
response
session
pageContext
application
config
pageex
ception
其中outrequestresponsesession是比較常用的,
其中有四個作用域,就是這個對象的生命周期,request、session、application、page
三:內(nèi)置對象詳解
1:out
類型:Javax.servlet.jsp.JspWriter
作用;主要用于向客戶端輸出數(shù)據(jù)
作用域:page及每個頁面都有自己的out對象
out中的重要方法:print()/println()/write()向客戶端輸送數(shù)據(jù)
可以這樣理解,一個Jsp文件編譯之后就是一個類,而out就對應(yīng)一個頁面對象。
2:request
類型:Javax.servlet.http.HttpServletRequest
描述:來自客戶端的請求經(jīng)Servlet容器處理后,由request對象進行封裝。(客戶端和服務(wù)器的一次通信就是一次請求(發(fā)送請求或得到相應(yīng))。
作用域:request。這次請求結(jié)束后,它的生命周期就結(jié)束了。
重要方法:
getParameter(key)獲取提交表單的數(shù)據(jù)
getParameterValues(key)獲取提交表單的一組數(shù)據(jù)
request.getRequestDispatcher("list.jsp").forward(request,response)轉(zhuǎn)發(fā)(通過代碼的方式進行轉(zhuǎn)發(fā))
request.setAttribute(key,object)設(shè)置請求對象的屬性
request.gettAttribute(key)獲取請求對象的屬性
request.setCharacterEncoding("UTF-8")對請求數(shù)據(jù)重新編碼
3:resonpse
類型:Javax.servlet.http.HttpServletResponse
描述:它封閉了JSP的響應(yīng),然后被發(fā)送到客戶端以響應(yīng)客戶的請求。
作用域:page
方法:
response.sendRedirect("頁面"):頁面跳轉(zhuǎn)。
response.setCharacterEncoding("gbk"):設(shè)置響應(yīng)編碼
4:session
類型:Javax.servlet.http.HttpSession
描述:表示一個會話,用來保存用戶信息,以便跟蹤每個用戶的狀態(tài)。
定義:是指在一段時間內(nèi)客戶端和服務(wù)器之間的一連串的相關(guān)的交互過程。
作用域:session。
客戶端與服務(wù)器之間可能需要不斷地進行數(shù)據(jù)交互(請求與相應(yīng)),這個過程就可以理解為一段回話。Tomcat默認的會話時間為30分鐘,這段時間內(nèi)如果沒有交互,會話結(jié)束;下次客戶端一旦發(fā)送請求,重新創(chuàng)建會話。當客戶端第一次發(fā)送請求的時候,才會創(chuàng)建一個會話。session的生命周期比request長
會話結(jié)束的條件的條件:服務(wù)器關(guān)閉會話過期手動終止(滿足一個即可)
方法:
session.getid():取得session的id號.id由tomcat自動分配。
session.isnew():判斷session時候是新建的
session.setAttribute(key,object):往當前會話中設(shè)置一個屬性
session.getAttribute(key):獲取當前會話中的一個屬性
session.removeAttribute(key):刪除當前會話中的屬性
session.setMaxInactiveInterval(1000*60*30):設(shè)置當前會話失效時間(ms)。Tomcat默認的會話時間為30分鐘。
session.invalidate():初始化當前會話對象(一般在推出的時候使用,可以刪除當前會話的數(shù)據(jù))
5.pageContext
類型:javax.servlet.jsp.PageContext
描述:本JSP的頁面上下文。(上下文可以聯(lián)系到當前頁面所有的信息。)
作用域:page
6:config
類型:javax.servlet.ServletConfig
描述:本JSP的ServletConfig
作用域:page
7:page
類型:java.1ang.Object
描述:實現(xiàn)處理本頁當前請求的類的實例(javax.servlet.jsp.HttpJspPage),轉(zhuǎn)換后的Servlet類本身
作用域:page
8:exception
類型:java.lang.Exception
描述:本JSP頁面的異常對象
作用域:page
9:application
類型:javax.servlet.ServletContext
描述:從servlet配置對象獲得的servlet上下文
作用域:application
這個對象的生命周期是最長的。服務(wù)器啟動的時候就會創(chuàng)建application對象。從服務(wù)器存在到服務(wù)器終止,都一直存在,且只保留一個對象,所有用戶共享一個application。
以上就是動力節(jié)點Java培訓機構(gòu)小編介紹的“Javaweb學習教程:JSP的內(nèi)置對象”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。