九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java Web程序員應(yīng)知應(yīng)會:Jsp的內(nèi)置對象與應(yīng)用

雖然Jsp已經(jīng)是中古時期的技術(shù)了,但是對于很多新入門的程序員來說,學(xué)會Jsp不僅是了解JavaEE設(shè)計原理的重要環(huán)節(jié),也是了解現(xiàn)在盛行的前后端分離技術(shù)的源流的基礎(chǔ)。而且,很多程序員可能會接觸到的一些中古時期的代碼修改,很可能需要對Jsp頁面進行修改,因此,了解并會使用JspJava Web程序員來講,還是非常必要的。

下面我們就來了解一個Jsp內(nèi)置對象的相關(guān)知識。

一、什么是Jsp內(nèi)置對象

顧名思義,Jsp內(nèi)置對象就是Jsp本身自帶的,不需要new一下也能直接使用的對象,為提高程序員的開發(fā)效率,Jsp將一些內(nèi)置對象預(yù)定義好,這樣就可以直接使用了。Jsp的內(nèi)置對象是web容器實現(xiàn)和管理的,在使用的時候可以直接調(diào)用,而不需要實例化。但是在項目里,需要引入servletjspjar包。

Jsp內(nèi)置對象使用的代碼實例如下:

二、Jsp有哪些內(nèi)置對象

Jsp的內(nèi)置對象主要有以下9種:

1、out對象

out對象是Jsp內(nèi)置的向客戶端輸出內(nèi)容的對象。out對象繼承于java.io.Writer,其類型為javax.servlet.jsp.JspWriter,與與HttpServletResponse接口的getWriter()方法獲得PrintWriter對象對象的功能相同。out對象的常用方法包括print, println, newline等。

2、request對象

request對象用于存儲客戶端向服務(wù)端發(fā)送的請求信息。其類型為javax.servlet.http.HttpServletRequest。request的常用方法有getProtocol、getRemoteAddrgetRemoteHost、getQueryStringgetMethod、getParameter、setAttribute、getParameterNames、getParameterValues、getRequestURI等。代碼示例如下:

3、response對象

request相對應(yīng),response對象表示服務(wù)器端對客戶端的響應(yīng),其類型為javax.servlet.http.HttpServletResponse。大部分時候,程序無需使用response來響應(yīng)客戶端請求,因為有個更簡單的響應(yīng)對象——out,它代表頁面輸出流,直接使用out生成響應(yīng)更簡單。但outJspWriter的實例,JspWriterWriter的子類,Writer是字符流,無法輸出非字符內(nèi)容。假如需要在JSP頁面動態(tài)生成一副位圖、或者一個PDF文檔,使用out作為相應(yīng)對象將無法完成,此時需要response作為響應(yīng)輸出。除此之外,還可以使用response來重定向請求,以及用于客戶端增加Cookie。代碼示例如下:

4、session對象

HTTP是無狀態(tài)協(xié)議,這意味著每次客戶端檢索網(wǎng)頁時,都要單獨打開一個服務(wù)器連接,因此服務(wù)器不會記錄下先前客戶端請求的任何信息。在這種情況下,Jsp利用servlet提供的HttpSession來識別用戶,存儲這個用戶的所有訪問信息。這就是session對象,其類型為javax.servlet.http.HttpSession。默認(rèn)情況下,JSP允許會話跟蹤,一個新的HttpSession對象將會自動地為新的客戶端實例化。禁止會話跟蹤需要顯式地關(guān)掉它,通過將page指令中session屬性值設(shè)為false來實現(xiàn)。

<%@ page session="false" %>

其代碼示例如下:


5、application對象

application對象是jsp中的全局變量,用于用戶間數(shù)據(jù)的共享,其類型為ServletContext。在從服務(wù)器啟動到關(guān)閉的過程中,application對象一直存在。在任何地方對application對象進行操作,都會影響到其它用戶的訪問。其代碼示例如下:


6、exception對象

exception對象是Jsp內(nèi)置的異常處理對象。其類型為java.lang.Throwable。代表JSP腳本中產(chǎn)生的錯誤和異常,是JSP頁面機制的一部分。但是在JSP腳本中無須處理異常。所以,如果想使用jspexception對象,必須把頁面中的isErrorPage設(shè)為true。如下圖所示:

實際上,JSP腳本所包含的所有可能出現(xiàn)的異常都可以交給錯誤處理頁面進行處理。但是需要指定errorPage,如圖所示:

這樣的話,如果程序中出現(xiàn)什么異常,就可以直接使用exception.toString()來打印出異常了。

7、page對象

page對象即為當(dāng)前jsp頁面的內(nèi)置對象,類似開java里面的this,為處理當(dāng)前請求時,該頁面實現(xiàn)類的實例。在轉(zhuǎn)換后的Servlet類的代碼中,可以看到Object page = this。其類型為java.long.Object。page對象常以指令形式為Jsp頁面定義全局屬性。類型于:

<%@ page autoFlush = "false" %>

<%@ page buffer = "16kb" autoflush = "true" %>

<%@ page contentType = "text/html:charset=UTF-8" %>

8、pageContext對象

pageContext對象代表頁面上下文,其類型為javax.servlet.jsp.PageContext。用來代表整個JSP頁面。該對象主要用于訪問 JSP 之間的共享數(shù)據(jù),使用pageContext可以訪問page、request、session、application范圍的變量。JSP頁面中只需將pageContext對象傳遞給某個Java類的實例對象,在該Java對象中就可以訪問和調(diào)用其他隱式對象的功能了。在Jsp中,pageContext可以獲取到其它的內(nèi)置對象,雖然本身內(nèi)置對象在jsp中可以直接使用,但是在el表達(dá)式中卻不能直接使用,所以可以通過pageContext來獲取。

9、config對象

config對象代表當(dāng)前JSP配置信息,其類型為ServletConfigconfig對象常用來獲取Servlet的初始化參數(shù)。例如:

<%=config.getServletName()%>  

<%=config.getInitParameter("name")%>

三、Jsp內(nèi)置對象的使用范圍

在這些內(nèi)置對象中:

pageContext僅對當(dāng)前頁面有效,頁面跳轉(zhuǎn)后無效;

request對同一次請求有效,重定向后無效;

session對同一次會話有效,無論怎么跳轉(zhuǎn),都有效,關(guān)閉/切換瀏覽器后無效,從登錄到退出之間全部有效;

application 整個服務(wù)器運行期間有效,切換瀏覽器也依然有效。除非服務(wù)器端重啟了服務(wù)。

以上就是Jsp內(nèi)置對象的使用方法,在平時的工作中,你會用到嗎?

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
jsp內(nèi)置對象詳解
JSP內(nèi)置對象_垂柳迎風(fēng)111
JSP九大內(nèi)置對象及四個作用域
Javaweb重要知識點總結(jié)(四) jsp 技術(shù)
技術(shù)干貨Java學(xué)習(xí)路線之JSP對象
java web JSP相關(guān)介紹學(xué)習(xí)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服