JSP內(nèi)置了9大對(duì)象,簡(jiǎn)單的記憶方法:記住一個(gè)單詞:parscope (氣象雷達(dá))示波器,它包含:page,application,request,response,session,config,out,pagecontext,exception。
一、request對(duì)象
客戶(hù)端的請(qǐng)求信息被封裝在request對(duì)象中,通過(guò)它才能了解到客戶(hù)的需求,然后做出響應(yīng)。它是HttpServletRequest類(lèi)的實(shí)例。
1.object getAttribute(String name) 返回指定屬性的屬性值
2.Enumeration getAttributeNames() 返回所有可用屬性名的枚舉
3.String getCharacterEncoding() 返回字符編碼方式
4.int getContentLength() 返回請(qǐng)求體的長(zhǎng)度(以字節(jié)數(shù))
5.String getContentType() 得到請(qǐng)求體的MIME類(lèi)型
6.ServletInputStream getInputStream() 得到請(qǐng)求體中一行的二進(jìn)制流
7.String getParameter(String name) 返回name指定參數(shù)的參數(shù)值
8.Enumeration getParameterNames() 返回可用參數(shù)名的枚舉
9.String[] getParameterValues(String name) 返回包含參數(shù)name的所有值的數(shù)組
10.String getProtocol() 返回請(qǐng)求用的協(xié)議類(lèi)型及版本號(hào)
11.String getScheme() 返回請(qǐng)求用的計(jì)劃名,如:http.https及ftp等
12.String getServerName() 返回接受請(qǐng)求的服務(wù)器主機(jī)名
13.int getServerPort() 返回服務(wù)器接受此請(qǐng)求所用的端口號(hào)
14.BufferedReader getReader() 返回解碼過(guò)了的請(qǐng)求體
15.String getRemoteAddr() 返回發(fā)送此請(qǐng)求的客戶(hù)端IP地址
16.String getRemoteHost() 返回發(fā)送此請(qǐng)求的客戶(hù)端主機(jī)名
17.void setAttribute(String key,Object obj) 設(shè)置屬性的屬性值
18.String getRealPath(String path) 返回一虛擬路徑的真實(shí)路徑
二、response對(duì)象
response對(duì)象包含了響應(yīng)客戶(hù)請(qǐng)求的有關(guān)信息,但在JSP中很少直接用到它。它是HttpServletResponse類(lèi)的實(shí)例。
1.String getCharacterEncoding() 返回響應(yīng)用的是何種字符編碼
2.ServletOutputStream getOutputStream() 返回響應(yīng)的一個(gè)二進(jìn)制輸出流
3.PrintWriter getWriter() 返回可以向客戶(hù)端輸出字符的一個(gè)對(duì)象
4.void setContentLength(int len) 設(shè)置響應(yīng)頭長(zhǎng)度
5.void setContentType(String type) 設(shè)置響應(yīng)的MIME類(lèi)型
6.sendRedirect(java.lang.String location) 重新定向客戶(hù)端的請(qǐng)求
三、session對(duì)象
session對(duì)象指的是客戶(hù)端與服務(wù)器的一次會(huì)話(huà),從客戶(hù)連到服務(wù)器的一個(gè)WebApplication開(kāi)始,直到客戶(hù)端與服務(wù)器斷開(kāi)連接為止。它是HttpSession類(lèi)的實(shí)例.
1.long getCreationTime() 返回SESSION創(chuàng)建時(shí)間
2.public String getId() 返回SESSION創(chuàng)建時(shí)JSP引擎為它設(shè)的惟一ID號(hào)
3.long getLastAccessedTime() 返回此SESSION里客戶(hù)端最近一次請(qǐng)求時(shí)間
4.int getMaxInactiveInterval() 返回兩次請(qǐng)求間隔多長(zhǎng)時(shí)間此SESSION被取消(ms)
5.String[] getValueNames() 返回一個(gè)包含此SESSION中所有可用屬性的數(shù)組
6.void invalidate() 取消SESSION,使SESSION不可用
7.boolean isNew() 返回服務(wù)器創(chuàng)建的一個(gè)SESSION,客戶(hù)端是否已經(jīng)加入
8.void removeValue(String name) 刪除SESSION中指定的屬性
9.void setMaxInactiveInterval() 設(shè)置兩次請(qǐng)求間隔多長(zhǎng)時(shí)間此SESSION被取消(ms)
四、out對(duì)象
out對(duì)象是JspWriter類(lèi)的實(shí)例,是向客戶(hù)端輸出內(nèi)容常用的對(duì)象
1.void clear() 清除緩沖區(qū)的內(nèi)容
2.void clearBuffer() 清除緩沖區(qū)的當(dāng)前內(nèi)容
3.void flush() 清空流
4.int getBufferSize() 返回緩沖區(qū)以字節(jié)數(shù)的大小,如不設(shè)緩沖區(qū)則為0
5.int getRemaining() 返回緩沖區(qū)還剩余多少可用
6.boolean isAutoFlush() 返回緩沖區(qū)滿(mǎn)時(shí),是自動(dòng)清空還是拋出異常
7.void close() 關(guān)閉輸出流
五、page對(duì)象
page對(duì)象就是指向當(dāng)前JSP頁(yè)面本身,有點(diǎn)象類(lèi)中的this指針,它是java.lang.Object類(lèi)的實(shí)例
1.class getClass 返回此Object的類(lèi)
2.int hashCode() 返回此Object的hash碼
3.boolean equals(Object obj) 判斷此Object是否與指定的Object對(duì)象相等
4.void copy(Object obj) 把此Object拷貝到指定的Object對(duì)象中
5.Object clone() 克隆此Object對(duì)象
6.String toString() 把此Object對(duì)象轉(zhuǎn)換成String類(lèi)的對(duì)象
7.void notify() 喚醒一個(gè)等待的線(xiàn)程
8.void notifyAll() 喚醒所有等待的線(xiàn)程
9.void wait(int timeout) 使一個(gè)線(xiàn)程處于等待直到timeout結(jié)束或被喚醒
10.void wait() 使一個(gè)線(xiàn)程處于等待直到被喚醒
11.void enterMonitor() 對(duì)Object加鎖
12.void exitMonitor() 對(duì)Object開(kāi)鎖
六、application對(duì)象
application對(duì)象實(shí)現(xiàn)了用戶(hù)間數(shù)據(jù)的共享,可存放全局變量。它開(kāi)始于服務(wù)器的啟動(dòng),直到服務(wù)器的關(guān)閉,在此期間,此對(duì)象將一直存在;這樣在用戶(hù)的前后連接或不同用戶(hù)之間的連接中,可以對(duì)此對(duì)象的同一屬性進(jìn)行操作;在任何地方對(duì)此對(duì)象屬性的操作,都將影響到其他用戶(hù)對(duì)此的訪問(wèn)。服務(wù)器的啟動(dòng)和關(guān)閉決定了application對(duì)象的生命。它是ServletContext類(lèi)的實(shí)例。
1.Object getAttribute(String name) 返回給定名的屬性值
2.Enumeration getAttributeNames() 返回所有可用屬性名的枚舉
3.void setAttribute(String name,Object obj) 設(shè)定屬性的屬性值
4.void removeAttribute(String name) 刪除一屬性及其屬性值
5.String getServerInfo() 返回JSP(SERVLET)引擎名及版本號(hào)
6.String getRealPath(String path) 返回一虛擬路徑的真實(shí)路徑
7.ServletContext getContext(String uripath) 返回指定WebApplication的application對(duì)象
8.int getMajorVersion() 返回服務(wù)器支持的Servlet API的最大版本號(hào)
9.int getMinorVersion() 返回服務(wù)器支持的Servlet API的最大版本號(hào)
10.String getMimeType(String file) 返回指定文件的MIME類(lèi)型
11.URL getResource(String path) 返回指定資源(文件及目錄)的URL路徑
12.InputStream getResourceAsStream(String path) 返回指定資源的輸入流
13.RequestDispatcher getRequestDispatcher(String uripath) 返回指定資源的RequestDispatcher對(duì)象
14.Servlet getServlet(String name) 返回指定名的Servlet
15.Enumeration getServlets() 返回所有Servlet的枚舉
16.Enumeration getServletNames() 返回所有Servlet名的枚舉
17.void log(String msg) 把指定消息寫(xiě)入Servlet的日志文件
18.void log(Exception exception,String msg) 把指定異常的棧軌跡及錯(cuò)誤消息寫(xiě)入Servlet的日志文件
19.void log(String msg,Throwable throwable) 把棧軌跡及給出的Throwable異常的說(shuō)明信息 寫(xiě)入Servlet的日志文件
七、exception對(duì)象
exception對(duì)象是一個(gè)例外對(duì)象,當(dāng)一個(gè)頁(yè)面在運(yùn)行過(guò)程中發(fā)生了例外,就產(chǎn)生這個(gè)對(duì)象。如果一個(gè)JSP頁(yè)面要應(yīng)用此對(duì)象,就必須把isErrorPage設(shè)為true,否則無(wú)法編譯。他實(shí)際上是java.lang.Throwable的對(duì)象
1.String getMessage() 返回描述異常的消息
2.String toString() 返回關(guān)于異常的簡(jiǎn)短描述消息
3.void printStackTrace() 顯示異常及其棧軌跡
4.Throwable FillInStackTrace() 重寫(xiě)異常的執(zhí)行棧軌跡
八、pageContext對(duì)象
pageContext對(duì)象提供了對(duì)JSP頁(yè)面內(nèi)所有的對(duì)象及名字空間的訪問(wèn),也就是說(shuō)他可以訪問(wèn)到本頁(yè)所在的SESSION,也可以取本頁(yè)面所在的application的某一屬性值,他相當(dāng)于頁(yè)面中所有功能的集大成者,它的本 類(lèi)名也叫pageContext。
1.JspWriter getOut() 返回當(dāng)前客戶(hù)端響應(yīng)被使用的JspWriter流(out)
2.HttpSession getSession() 返回當(dāng)前頁(yè)中的HttpSession對(duì)象(session)
3.Object getPage() 返回當(dāng)前頁(yè)的Object對(duì)象(page)
4.ServletRequest getRequest() 返回當(dāng)前頁(yè)的ServletRequest對(duì)象(request)
5.ServletResponse getResponse() 返回當(dāng)前頁(yè)的ServletResponse對(duì)象(response)
6.Exception getException() 返回當(dāng)前頁(yè)的Exception對(duì)象(exception)
7.ServletConfig getServletConfig() 返回當(dāng)前頁(yè)的ServletConfig對(duì)象(config)
8.ServletContext getServletContext() 返回當(dāng)前頁(yè)的ServletContext對(duì)象(application)
9.void setAttribute(String name,Object attribute) 設(shè)置屬性及屬性值
10.void setAttribute(String name,Object obj,int scope) 在指定范圍內(nèi)設(shè)置屬性及屬性值
11.public Object getAttribute(String name) 取屬性的值
12.Object getAttribute(String name,int scope) 在指定范圍內(nèi)取屬性的值
13.public Object findAttribute(String name) 尋找一屬性,返回起屬性值或NULL
14.void removeAttribute(String name) 刪除某屬性
15.void removeAttribute(String name,int scope) 在指定范圍刪除某屬性
16.int getAttributeScope(String name) 返回某屬性的作用范圍
17.Enumeration getAttributeNamesInScope(int scope) 返回指定范圍內(nèi)可用的屬性名枚舉
18.void release() 釋放pageContext所占用的資源
19.void forward(String relativeUrlPath) 使當(dāng)前頁(yè)面重導(dǎo)到另一頁(yè)面
20.void include(String relativeUrlPath) 在當(dāng)前位置包含另一文件
九、config對(duì)象
config對(duì)象是在一個(gè)Servlet初始化時(shí),JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時(shí)所要用到的參數(shù)(通過(guò)屬性名和屬性值構(gòu)成)以及服務(wù)器的有關(guān)信息(通過(guò)傳遞一個(gè)ServletContext對(duì)象)
1.ServletContext getServletContext() 返回含有服務(wù)器相關(guān)信息的ServletContext對(duì)象
2.String getInitParameter(String name) 返回初始化參數(shù)的值
3.Enumeration getInitParameterNames() 返回Servlet初始化所需所有參數(shù)的枚舉