日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

JSP內(nèi)置對(duì)象詳解

 COZUCHOU 2012-09-19
轉(zhuǎn)載至:http://fulong258.blog.163.com

JSP內(nèi)置對(duì)象詳解

JSP程序中8個(gè)默認(rèn)的內(nèi)置對(duì)象
對(duì)于它們而言,不用聲明就可以直接使用.這8個(gè)對(duì)象分別是request,response,pageContext,session,application,out,config和page.
page
實(shí)現(xiàn)處理本頁(yè)當(dāng)前請(qǐng)求的類的實(shí)例
java.1ang.Object
page
page
本 JSP 的 ServletConfig
javax.servlet.ServletConfig
config
page
向輸出流寫(xiě)入內(nèi)容的對(duì)象
Javax.servlet.jsp.JspWriter
out
application
從 servlet 配置對(duì)象獲得的 servlet 上下文(如在 getServletConfig() ,getContext()的調(diào)用中)
Javax.servlet.ServletContext
application
session
為請(qǐng)求的客戶創(chuàng)建的session對(duì)象
Javax.servlet.http.HttpSession
session
page
本 JSP 的頁(yè)面上下文
Javax.servlet.jsp.PageContext
pageContext
page
對(duì)請(qǐng)求的應(yīng)答
依賴協(xié)議的java.servlet.ServletResponse 子類(例如,javax.servlet.HttpServletResponse)
response
request
觸發(fā)服務(wù)調(diào)用的請(qǐng)求
依 ??協(xié)議的java.servlet.ServletRequest 子類(例如,javax.servlet.HttpServletRequest)
Request
范圍
代表內(nèi)容
類型
內(nèi)置對(duì)象
3.2 request對(duì)象
request 對(duì)象是ServletRequest的一個(gè)實(shí)例.當(dāng)客戶端請(qǐng)求一個(gè)JSP網(wǎng)頁(yè)時(shí),JSP引擎會(huì)將客戶端的請(qǐng)求信息包裝在這個(gè)request對(duì)象中,請(qǐng)求信 息的內(nèi)容包括請(qǐng)求的標(biāo)題頭(Header),信息(如瀏覽器的版本信息,語(yǔ)言和編碼方式等),請(qǐng)求的方式(如HTTP方法:GET,POST,PUT 等),請(qǐng)求的參數(shù)名稱,參數(shù)值和客戶端的主機(jī)名稱等,然后將request對(duì)象當(dāng)作jspService方法的HttpServletRequest參數(shù) 值,所以我們可以通過(guò)這個(gè)對(duì)象來(lái)取得有關(guān)客戶端的請(qǐng)求信息.
3.2.1 request對(duì)象的方法
方法
返回接收請(qǐng)求的端口
getServerPort
返回接收請(qǐng)求的服務(wù)器的主機(jī)名
getServerName
返回發(fā)出請(qǐng)求的 URL 的機(jī)制
getScheme
返回發(fā)送請(qǐng)求的接口程序的完全限定的主機(jī)名
getRemoteHost
返回發(fā)送請(qǐng)求的接口程序的 IP 地址
getRemoteAddr
返回運(yùn)用替換規(guī)則從虛擬地址中獲得的實(shí)際地址
getRealPath
返回從請(qǐng)求體中讀取的文本的緩存數(shù)據(jù)
getReader
返回請(qǐng)求的協(xié)議和版本號(hào)
getProtocol
返回作為字符串列舉的指定參數(shù)的值
getParameterValues
返回本次請(qǐng)求的參數(shù)名字
getParameterName
返回包含指定參數(shù)的單獨(dú)值的字符串
getParameter
返回在請(qǐng)求體中讀取二進(jìn)制數(shù)據(jù)的輸入流
getlnputStream
返回請(qǐng)求實(shí)體數(shù)據(jù)的 InternetMedia 類型
getContenType
返回請(qǐng)求實(shí)體數(shù)據(jù)的大小
getContentLength
返回為請(qǐng)求的輸入進(jìn)行編碼的字符集合
getCharacterEncoding
返回請(qǐng)求的給出名字的屬性的值
getAttribute

3.3 response對(duì)象
response 對(duì)象的類型是javax.servlet.ServletResponse類的實(shí)例,JSP引擎會(huì)根據(jù)客戶端的請(qǐng)求信息建立一個(gè)默認(rèn)的response對(duì) 象.它用于將瀏覽器參考信息,如回應(yīng)的Header,回應(yīng)本體(HTML的內(nèi)容)以及服務(wù)器端的狀態(tài)碼等信息提供給客戶端.
3.3.1 response對(duì)象的方法
重定向客戶端的地址
sendRedirect
設(shè)定指定名字的HTTP文件頭的值
setHeader
向客戶端發(fā)送錯(cuò)誤信息
sendError
判斷指定的HTTP文件頭是否存在
containsHeader
添加HTTP文件頭(Header),將會(huì)傳送到客戶端
addHeader
添加一個(gè)Cookie對(duì)象,用來(lái)保存客戶端的用戶信息
addCookie
為應(yīng)答設(shè)置內(nèi)容類型
setContentType
為應(yīng)答設(shè)置內(nèi)容長(zhǎng)度
setContentLength
返回用于格式化文本應(yīng)答的打印程序
getWriter
返回用于書(shū)寫(xiě)二進(jìn)制應(yīng)答數(shù)據(jù)的輸出流
getCharacterEncoding
返回用于MIME編碼的字符集合
getCharacterEncoding

3.4 session對(duì)象
session對(duì)象是JSP中一個(gè)很重要的內(nèi)部對(duì)象,我們使用它來(lái)保存某個(gè)特定客戶端(訪問(wèn)者)一次訪問(wèn)的一些特定信息.
在JSP網(wǎng)絡(luò)編程中,有多種方法可以保存客戶信息,但是最常用,最實(shí)用的還是session對(duì)象.
3.4.1 session對(duì)象介紹
session對(duì)象,實(shí)際上就是服務(wù)器與客戶端之間的"會(huì)話"
(1) session可以用來(lái)儲(chǔ)存訪問(wèn)者的一些特定信息.主機(jī)服務(wù)器就是根據(jù)session來(lái)跟蹤這些信息的.
(2) session可以創(chuàng)建訪問(wèn)者信息容器.
(3) session可以用來(lái)跟蹤訪問(wèn)者的訪問(wèn)路徑,從中挖掘有用的信息,如訪問(wèn)者的興趣愛(ài)好,訪問(wèn)目的.
用戶在Web應(yīng)用程序中訪問(wèn)同一頁(yè)面時(shí),session變量始終存在,當(dāng)用戶在應(yīng)用程序的頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在session對(duì)象中的變量也不會(huì)清除,當(dāng)然也可以使用session方法顯式地結(jié)束一個(gè)會(huì)話和設(shè)置空閑會(huì)話的超時(shí)期限.
session在JSP程序中是一個(gè)內(nèi)置的對(duì)象
每一個(gè)客戶端都有一個(gè)session對(duì)象用來(lái)存放于這個(gè)客戶端相關(guān)的數(shù)據(jù).
在JSP的程序中,通常不用任何代碼,就可以直接使用session對(duì)象.不過(guò)為了確認(rèn),可以加入以下代碼,以表示需要啟動(dòng)session功能.

如果設(shè)置上述的session值為false,則說(shuō)明禁用session功能.
session對(duì)象的類為HttpSession,它提供了很多使用的方法.
3.4.2 session對(duì)象的方法
session對(duì)象的類是HttpSession.HttpSession由服務(wù)器的程序?qū)崿F(xiàn),提供HTTP服務(wù)器和HTTP客戶端之間的會(huì)話.會(huì)話,就是在給定時(shí)間段內(nèi)持續(xù)進(jìn)行多路連接和請(qǐng)求.會(huì)話被用來(lái)在多頁(yè)面請(qǐng)求中保持狀態(tài)和用戶認(rèn)證.
session對(duì)象的常用方法
移去和會(huì)話應(yīng)用層數(shù)據(jù)中指定名字相連的對(duì)象
removeValue
將指定的對(duì)象和使用指定名字的會(huì)話應(yīng)用層數(shù)據(jù)相連
putValue
檢查是否客戶端參加了會(huì)話
isNew
使會(huì)話無(wú)效,并將其從上下文中移出
invalidate
返回和會(huì)話相連的應(yīng)用層數(shù)據(jù)對(duì)象的名字
getValueNames
返回和應(yīng)用層數(shù)據(jù)中指定名字相聯(lián)系的對(duì)象
getValue
返回會(huì)話相連的上下文
getSessionContext
返回客戶端上一次發(fā)送攜帶會(huì)話賬號(hào)的時(shí)間
getLastAccessTime
返回會(huì)話標(biāo)識(shí)符
getId
返回會(huì)話創(chuàng)建的時(shí)間
getCreationTime

3.5 application對(duì)象
application 對(duì)象保存了一個(gè)應(yīng)用系統(tǒng)中一些公用的數(shù)據(jù).與session對(duì)象相比,application對(duì)象是所有客戶共享的,而session對(duì)象則是每個(gè)客戶專 用的.application對(duì)象可以是javax.servlet.ServletContext類型的.ServletContext接口讓 servlet訪問(wèn)關(guān)于其環(huán)境的信息.application對(duì)象的范圍是application.
3.5.1 application對(duì)象的方法
方法
設(shè)置某個(gè)application對(duì)象的某個(gè)屬性值
setAttribute
獲得當(dāng)前版本的Servlet編譯器的信息
getServerInfo
返回application某個(gè)屬性的值
getInitParameter
以Enumeration數(shù)據(jù)形式返回所有application對(duì)象的屬性名稱
getAttributeNames
以O(shè)bject對(duì)象的形式返回對(duì)應(yīng)名稱的application對(duì)象的屬性值
getAttribute

3.6 out對(duì)象
out對(duì)象用于輸出數(shù)據(jù),它可以是javax.servlet.jsp.JspWriter的一個(gè)實(shí)例.out對(duì)象的范圍是page.
從 java.io.Writer拓展而來(lái)的公共抽象類JspWriter效仿了java.io.BufferedWriter和 java.Io.PrintWriter中的某些功能.但是,不同之處在于它會(huì)在打印方法中拋出(throw) java.Io.IOException異常,而PrintWriter不這樣做.
JSP中的out對(duì)象就是這種類型的.如果page指令選擇了 autoflush="true",那么當(dāng)出現(xiàn)由于當(dāng)前的操作不清空緩存而造成緩沖區(qū)溢出的情況時(shí),這個(gè)類的所有I/O操作會(huì)自動(dòng)清空緩沖區(qū)的內(nèi)容.如果 autoflush="false",那么當(dāng)操作造成了緩沖區(qū)溢出時(shí),這個(gè)類的所有的I/O操作將拋出一個(gè)IOException.
3.6.1 out對(duì)象的變量
autoFlush
類型為protected boolean autoflush
如果變量值為真,則當(dāng)當(dāng)前的操作造成緩沖區(qū)溢出時(shí),緩沖區(qū)會(huì)被清空.
如果變量值為假,則如果當(dāng)前操作造成緩沖區(qū)溢出就會(huì)拋出一個(gè)IOException.
bufferSize
類型為protectedintbufferSize
表示緩沖區(qū)目前的大小.初始值根據(jù)不同的設(shè)備而不同,但是不少于8KB.
DEFAULT_BUFFER
類型為publicstaticfinalintDEFAULT_BUFFER
表示W(wǎng)riter正使用的缺省的緩沖區(qū)大小設(shè)置.
No_BUFFER
類型為Public static final int NO_BUFFER
表示W(wǎng)riter是否處于緩存輸出狀態(tài).
3.6.2 Out對(duì)象的方法
方法
打印一個(gè)對(duì)象
Object
print
打印一個(gè)長(zhǎng)整數(shù)
long
print
打印一個(gè)整數(shù)
int
print
打印一個(gè)浮點(diǎn)數(shù)
float
print
打印一個(gè)雙精度浮點(diǎn)數(shù)
double
print
打印一個(gè)字符數(shù)組
char[]
print
打印一個(gè)字符
char
print
打印一個(gè)布爾值
boolean
print
寫(xiě)一行分隔符
_
newLine
獲得autoFlush的當(dāng)前值
_
isAutoFlush
獲得緩沖區(qū)中未使用的字節(jié)數(shù)
_
getRemaining
獲得緩沖區(qū)的大小
_
getBufferSize
清除緩沖區(qū)的流
_
clearBuffer
Clear 清除緩沖區(qū)內(nèi)容
_
Clear
輸出流
_
flush
關(guān)閉流,并輸出
_
Close
描述
參數(shù)
方法
打印一個(gè)字符串,然后結(jié)束行
String
println
打印一個(gè)對(duì)象,然后結(jié)束行
Object
println
打印一個(gè)長(zhǎng)整數(shù),然后結(jié)束行
long
println
打印一個(gè)整數(shù),然后結(jié)束行
int
println
打印一個(gè)浮點(diǎn)數(shù),然后結(jié)束行
float
println
打印一個(gè)雙精度浮點(diǎn)數(shù),然后結(jié)束行
double
println
打印一個(gè)字符數(shù)組,然后結(jié)束行
char[]
println
打印一個(gè)字符,然后結(jié)束行
char
prinfln
打印一個(gè)布爾值,然后結(jié)束行
boolean
println
通過(guò)寫(xiě)一個(gè)行分隔符來(lái)結(jié)束當(dāng)前行
_
println
打印一個(gè)字符串
String
print
3.6.3 Out對(duì)象的使用示例
用out對(duì)象輸出多種不同類型的數(shù)據(jù),包括輸出中文
文件out.jsp
3.7 其他對(duì)象
pageContext對(duì)象
pageContext 對(duì)象是javax.servlet.jsp.PageContext類的一個(gè)實(shí)例.pageContext對(duì)象提供了存取所有關(guān)于JSP程序執(zhí)行時(shí)所需要 用到的屬性和方法,如session,application,config,out等對(duì)象屬性.對(duì)于pageContext對(duì)象,它的范圍是page.
page對(duì)象
page對(duì)象是java.lang.Object類型的,它是處理當(dāng)前請(qǐng)求的JSP頁(yè)的實(shí)現(xiàn)類的實(shí)例.page對(duì)象在頁(yè)的正文中可以被看作"this"的同義詞.page對(duì)象的范圍是page.
config對(duì)象
config對(duì)象是javax.servlet.ServletConfig類型的.它提供存取servlet class初始參數(shù)及有關(guān)Server環(huán)境信息的ServletContext對(duì)象.config對(duì)象的范圍是page.

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多