系統(tǒng)軟件園 - 專注分享最好的電腦系統(tǒng)軟件!免費安全下載 系統(tǒng)軟件園首頁 | Win7激活工具 | 熱門專題
系統(tǒng)軟件園>您的位置:首頁 > > 系統(tǒng)教程 > Win7系統(tǒng)教程 >

jsp內(nèi)置對象是什么?常見的jsp內(nèi)置對象有哪些?(jsp高手筆記)

更新時間:2018-01-29 15:32:34| 編輯:本站整理 | 信息來源:本站整理|瀏覽數(shù):

  jsp內(nèi)置對象是什么?JSP內(nèi)置對象是Web容器創(chuàng)建的一組對象,不使用new關(guān)鍵字創(chuàng)建,就可以直接使用。JSP全名為Java Server Pages,中文名叫java服務(wù)器頁面。那么常見的jsp內(nèi)置對象有哪些呢?

常見的九大jsp內(nèi)置對象詳細(xì)介紹:

JSP中一共預(yù)先定義了9個這樣的對象,分別為:request、response、session、application、out、pagecontext、config、page、exception

out對象:

緩沖區(qū)——Buffer,就是內(nèi)存的一塊區(qū)域,用來保存臨時數(shù)據(jù)。

out對象是JSPWriter類的實例,向客戶端輸出內(nèi)容時常用的對象。

out對象常用的方法有:

  • void println() 向客戶端打印字符串;
  • void flush() 將緩沖區(qū)內(nèi)容輸出到客戶端;
  • void clear() 清除緩沖區(qū)的內(nèi)容,如果在flush之后調(diào)用會拋出異常;
  • void clearBuffer() 清除緩沖區(qū)的內(nèi)容,在flush之后調(diào)用不會拋出異常;
  • int getBufferSize() 返回緩沖區(qū)字節(jié)數(shù)的大小,如果不設(shè)緩沖區(qū)則為0;
  • int getRemaining() 返回緩沖區(qū)還剩余多少可用;
  • boolean isAutoFlush() 返回緩沖區(qū)滿時,是自動清空還是拋出異常;
  • void close() 關(guān)閉輸出流

get與post的區(qū)別:

表單有兩種提交方式:get與post

提交方式 提交內(nèi)容的方式 數(shù)據(jù)量大小 安全性 效率 適用情況
get 明文,通過URL提交數(shù)據(jù)(數(shù)據(jù)在URL中可以看到) 不超過2KB 較低 適合提交數(shù)據(jù)量不大,安全性不高,的數(shù)據(jù);比如:搜素、查詢等功能。
post 將用戶提交的信息封裝在HTML HEADER內(nèi) 數(shù)據(jù)量大   適合提交數(shù)據(jù)量大,安全性高,的用戶信息;比如:注冊、修改、上傳等功能。

 

request對象:

客戶端的請求信息被封裝在request對象中,通過它才能了解到客戶的需求,然后做出響應(yīng)。

request對象是HttpServletRequest類的實例。

request對象具有請求域,即完成客戶端的請求之前,該對象一直有效。

常用的方法有:

  • String getParameter(String name) 返回指定參數(shù)的參數(shù)值;
  • String[] getParameterValues(String name) 返回包含指定參數(shù)的所有參數(shù)值的數(shù)組;
  • void setAttribute(String,Object) 存儲此請求中的屬性;
  • object getAttribute(String name) 返回指定屬性的屬性值;
  • String getContentType() 得到請求體的MIME類型;
  • Stirng getProtocol() 返回請求的協(xié)議類型和版本號;
  • String getServerName() 返回接收請求的服務(wù)器主機名;
  • int getServerPort() 返回服務(wù)器接收此請求所用的端口號;
  • String getCharacterEncoding() 返回字符編碼方式;
  • int getContentLength() 返回請求體的長度(字節(jié)數(shù));
  • String getRemoteAddr() 返回發(fā)送此請求的客戶端IP地址;
  • String getRealPath(String path) 返回某虛擬路徑的真實路徑;
  • String getContentPath() 返回上下文路徑。

response對象:

response對象包含了,響應(yīng)客戶請求的有關(guān)信息,在JSP中很少直接用到它。

response對象是HttpServletResponse類的實例。

response對象具有頁面作用域,即訪問一個頁面時,該頁面內(nèi)的response對象只能對這次訪問有效,其它頁面的response對象對當(dāng)前頁面無效。

常用的方法:

  • String getCharacterEncoding() 返回響應(yīng)的字符編碼;
  • void setContentType(String type) 設(shè)置響應(yīng)的MIME類型;
  • PrintWriter getWriter() 返回一個 可以向客戶端輸出字符的 對象;(response對象生成的輸出流對象,出現(xiàn)在out內(nèi)置對象的前面)
  • sendRedirect(java.lang.String location) 重新定向客戶端的請求。

請求轉(zhuǎn)發(fā)VS請求重定向

方式 Client/Server 方法 說明 URL內(nèi)容
請求重定向 客戶端行為 response.sendRedirect() 本質(zhì)上等同于兩次請求,前一次的請求對象不會保存 URL改變
請求轉(zhuǎn)發(fā) 服務(wù)器行為 request.getRequestDispatcher().forward(req,resp) 一次請求,轉(zhuǎn)發(fā)后請求對象會保存 URL不變


session對象:

  session:客戶端與服務(wù)器的一次會話

Web中的session:用戶在瀏覽某個網(wǎng)站時,從進入網(wǎng)站,到瀏覽器關(guān)閉所經(jīng)過的這段時間,也就是,用戶瀏覽這個網(wǎng)站所花費的時間。

  session實際上是一個特定的時間概念。

session對象在第一個JSP頁面被裝載時自動創(chuàng)建,開始會話期管理。

一個session:從客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個服務(wù)器結(jié)束。

session對象,是HttpSession類的實例。

常用的方法:

  • long getCreationTime() 返回session創(chuàng)建時間;
  • String getId() 返回session創(chuàng)建時JSP引擎為它設(shè)的唯一ID號;
  • Object setAttribute(String name,Object value) 使用指定名稱將對象綁定到此會話;
  • Object getAttribute(String name) 返回此對話中,與指定名稱綁定在一起的對象,如果該名稱下沒有綁定對象,返回null;
  • String[] getValueNames() 返回一個 包含此會話中所有可用屬性 的數(shù)組;
  • int getMaxInactiveInterval() 返回兩次請求間隔多長時間此session被取消;
  • void setMaxInactiveInterval(long time) 設(shè)置兩次請求間隔多長時間此session被取消。

Session的生命周期

創(chuàng)建:當(dāng)客戶端第一次訪問某個jsp或者Servlet的時候,服務(wù)器會為當(dāng)前會話創(chuàng)建一個SessionId,每次客戶端向服務(wù)器端發(fā)送請求時,都會將該SessionId攜帶過去,服務(wù)器端會對此SessionId進行校驗。

活動:

  • 某次會話當(dāng)中,通過超鏈接打開的新頁面,屬于同一次會話;
  • 只要當(dāng)前會話頁面沒有全部關(guān)閉,重新打開新的瀏覽器窗口訪問同一項目資源時屬于同一次會話;
  • 除非本次會話的所有頁面都關(guān)閉后,再重新訪問某個jsp或者servlet將會創(chuàng)建新的會話。

銷毀:

session的銷毀方式有3種:

  1. 調(diào)用session.invalidate()方法;
  2. Session過期(超時);
  3. 服務(wù)器重新啟動。

  tomcat默認(rèn)session超時時間為30分鐘,

設(shè)置Session超時,兩種方式:

  1. session.setMaxInactiveInterval(time) //單位是秒;
  2. 在web.xml中配置

<session-config>

<session-timeout>

10

</session-timeout>

</session-config>  //單位是分鐘

application對象:

application對象,實現(xiàn)用戶間數(shù)據(jù)的共享,可存放全局變量;

application對象,開始于服務(wù)器啟動,終止于服務(wù)器關(guān)閉;

在用戶的前后連接或不同用戶之間的連接中,可以對application對象的同一屬性進行操作;

在任何地方對application對象屬性的操作,都將影響到其他用戶對此的訪問;

application對象是ServletContext類的實例。

常用的方法:

  • void setAttribute(String name,Object value) 使用指定名稱將對象綁定到此會話;
  • Object getAttribute(String name) 返回此會話中,指定名稱綁定的對象,如果該名稱沒有綁定任何對象,則返回null;
  • Enumeration getAttributeNames() 返回此會話所有可用屬性名的枚舉;
  • String getServerInfo() 返回JSP(servlet)引擎名及版本號。

 

page對象:

page對象,就是指當(dāng)前JSP頁面本身,有點像類中的this指針;

page對象,是java.lang.Object類的實例。

pageContext對象

pageContext對象,提供了對JSP頁面內(nèi)所有對象及名字空間的訪問;

pageContext對象,可以訪問到本頁所在的session,也可以取本頁面所在的application的某一屬性值;

pageContext對象是pageContext類的實例。
 

config對象:

config對象,是在一個servlet初始化時,jsp引擎向它傳遞信息用的,此信息包括servlet初始化時所要用到的參數(shù)(由屬性名和屬性值構(gòu)成)以及服務(wù)器的有關(guān)信息(傳遞一個ServletContext對象);

常用的方法:

  • ServletContext getServletContext() 返回含有服務(wù)器相關(guān)信息的ServletContext對象;
  • String getInitParameter(String name) 返回初始化參數(shù)的值;
  • Enumeration getInitParameterNames() 返回Servlet初始化所需要的所有參數(shù)的枚舉。


exception對象:

exception對象,是一個異常對象,當(dāng)一個頁面在運行過程中發(fā)生了異常,就產(chǎn)生這個對象。如果一個Jsp頁面要應(yīng)用此對象,就必須把isErrorPage設(shè)為true,否則無法編譯。是java.lang.Throwable的對象。

常用方法:

  • String getMessage() 返回描述異常的消息;
  • String toString() 返回關(guān)于異常的簡短描述消息;
  • void printStackTrace() 顯示異常及其棧軌跡;
  • Throwable FillInStackTrace() 重寫異常的執(zhí)行棧軌跡。
以上就是常見的jsp內(nèi)置對象的詳細(xì)介紹了,內(nèi)容比較詳細(xì)想必對大家會有用。

返回頂部


系統(tǒng)軟件園發(fā)布的系統(tǒng)鏡像及軟件均來至互聯(lián)網(wǎng),僅供學(xué)習(xí)和研究使用,不得用于任何商業(yè)用途并請在下載后24小時內(nèi)刪除,如果滿意請聯(lián)系版權(quán)方購買。
如果您發(fā)現(xiàn)本站侵害了您的版權(quán),請立即聯(lián)系我們,本站將第一時間進行相關(guān)處理。聯(lián)系方式(見首頁)
版權(quán)聲明|下載聲明 Copyright @ 2016 系統(tǒng)軟件園