JSP九大隱含物件介紹
一、 request物件
客戶端的請求資訊被封裝在request物件中,通過它才能瞭解到客戶的需求,然後做出響應。它是HttpServletRequest類的例項。
request.getRequestURL()方法返回客戶端發出請求時的完整URL。
request.getRequestURI()方法返回請求行中的資源名部分。
request.getRemoteAddr() 獲得客戶端的ip地址
request.getRemoteHost() 獲得客戶端電腦的名字,若失敗,則返回客戶端電腦的ip地址
request.getRemoteUser()
request.getRemotePort()方法返回客戶機所使用的網路埠號
request.getLocalAddr()方法返回WEB伺服器的IP地址。
request.getLocalName()方法返回WEB伺服器的主機名
request.getQueryString(); 返回請求行中的引數部分
request.getParameter(String name) 返回name指定引數的引數值
request.getParameterNames() 返回可用引數名的列舉 (Enumeration)
request.getParameterValues(String name) 返回包含引數name的所有值的陣列
request.getAttribute(String name) 返回指定屬性的屬性值
request.setAttribute(String key,Object obj) 設定屬性的屬性值
request.getCharacterEncoding() 返回字元編碼方式
request.getContentLength() 返回請求體的長度(以位元組數)
request.getContentType() 得到請求體的MIME型別
request.getInputStream() 得到請求體中一行的二進位制流 (ServletInputStream型別)
request.getProtocol() 返回請求用的協議型別及版本號
request.getScheme() 返回請求用的計劃名,如:http.https及ftp等
request.getServerName() 獲得伺服器的名字
request.getServerPort() 獲得伺服器的埠號
request.getRealPath(String path) 返回一虛擬路徑的真實路徑request.getReader() 返回解碼過了的請求體 (BufferedReader)
request.getMethod();獲得客戶端向伺服器端傳送資料的方法有get、post、put等型別
request.getRequestURI();獲得發出請求字串的客戶端地址
request.getServletPath();獲得客戶端所請求的指令碼檔案的檔案路徑
request.getHeaderNames();返回所有request header的名字,結果集是一個enumeration(列舉)類的例項
request.getPathInfo();
request.getPathTranslated();
request.getRequestedSessionId();
request.getHeader("user-agent"); //返回客戶端瀏覽器的版本號、型別
request.getHeader("Accept");
request.getHeader("Host");
request.getHeader("Referer"); 請求的完整地址
request.getHeader("Accept-Language"); 語言
request.getHeader("Accept-Encoding");
request.getHeader("User-Agent"); //返回客戶端瀏覽器的版本號、型別
request.getHeader("Connection");
request.getHeader("Cookie");
二、 response物件response物件包含了響應客戶請求的有關資訊,但在JSP中很少直接用到它。它是HttpServletResponse類的例項。
respones.getCharacterEncoding() 返回響應用的是何種字元編碼
respones.getOutputStream() 返回響應的一個二進位制輸出流(ServletOutputStream )
respones.getWriter() 返回可以向客戶端輸出字元的一個物件( PrintWriter)
respones.setContentLength(int len) 設定響應頭長度
respones.setContentType(String type) 設定響應的MIME型別
respones.sendRedirect(String location) 重新定向客戶端的請求
三、 session物件
session物件指的是客戶端與伺服器的一次會話,從客戶連到伺服器的一個WebApplication開始,直到客戶端與伺服器斷開連線為止。它是HttpSession類的例項.
session.getCreationTime() 返回SESSION建立時間
session.getId() 返回SESSION建立時JSP引擎為它設的惟一ID號
session.getLastAccessedTime() 返回此SESSION裡客戶端最近一次請求時間
session.getMaxInactiveInterval() 返回兩次請求間隔多長時間此SESSION被取消(ms)
session.getValueNames() 返回一個包含此SESSION中所有可用屬性的陣列
session.invalidate() 取消SESSION,使SESSION不可用
session.isNew() 返回伺服器建立的一個SESSION,客戶端是否已經加入
session.removeValue(String name) 刪除SESSION中指定的屬性
session.setMaxInactiveInterval() 設定兩次請求間隔多長時間此SESSION被取消(ms)
四、 out物件
out物件是JspWriter類的例項,是向客戶端輸出內容常用的物件
out.clear() 清除緩衝區的內容
out.clearBuffer() 清除緩衝區的當前內容
out.flush() 清空流
out.getBufferSize() 返回緩衝區以位元組數的大小,如不設緩衝區則為0
out.getRemaining() 返回緩衝區還剩餘多少可用
out.isAutoFlush() 返回緩衝區滿時,是自動清空還是丟擲異常
out.close() 關閉輸出流
五、 page物件
page物件就是指向當前JSP頁面本身,有點象類中的this指標,它是java.lang.Object類的例項
page.getClass 返回此Object的類
page.hashCode() 返回此Object的hash碼
page.equals(Object obj) 判斷此Object是否與指定的Object物件相等
page.copy(Object obj) 把此Object拷貝到指定的Object物件中
page.clone() 克隆此Object物件
page.toString() 把此Object物件轉換成String類的物件
page.notify() 喚醒一個等待的執行緒
page.notifyAll() 喚醒所有等待的執行緒
page.wait(int timeout) 使一個執行緒處於等待直到timeout結束或被喚醒
page.wait() 使一個執行緒處於等待直到被喚醒
page.enterMonitor() 對Object加鎖
page.exitMonitor() 對Object開鎖
六、 application物件
application物件實現了使用者間資料的共享,可存放全域性變數。它開始於伺服器的啟動,直到伺服器的關閉,在此期間,此物件將一直存在;這樣在使用者的前後連線或不同使用者之間的連線中,可以對此物件的同一屬性進行操作;在任何地方對此物件屬性的操作,都將影響到其他使用者對此的訪問。伺服器的啟動和關閉決定了application物件的生命。它是ServletContext類的例項。
application.getAttribute(String name) 返回給定名的屬性值
application.getAttributeNames() 返回所有可用屬性名的列舉
application.setAttribute(String name,Object obj) 設定屬性的屬性值
application.removeAttribute(String name) 刪除一屬性及其屬性值
application.getServerInfo() 返回JSP(SERVLET)引擎名及版本號
application.getRealPath(String path) 返回一虛擬路徑的真實路徑
application.getContext(String uripath) 返回指定WebApplication的application物件 ServletContext
application.getMajorVersion() 返回伺服器支援的Servlet API的最大版本號
application.getMinorVersion() 返回伺服器支援的Servlet API的最大版本號
application.getMimeType(String file) 返回指定檔案的MIME型別
application.getResource(String path) 返回指定資源(檔案及目錄)的URL路徑
application.getResourceAsStream(String path) 返回指定資源的輸入流 InputStream
application.getRequestDispatcher(String uripath) 返回指定資源的RequestDispatcher物件 RequestDispatche
application.getServlet(String name) 返回指定名的Servlet
application.getServlets() 返回所有Servlet的列舉
application.getServletNames() 返回所有Servlet名的列舉
application.log(String msg) 把指定訊息寫入Servlet的日誌檔案
application.log(Exception exception,String msg) 把指定異常的棧軌跡及錯誤訊息寫入Servlet的日誌檔案
application.log(String msg,Throwable throwable) 把棧軌跡及給出的Throwable異常的說明資訊 寫入Servlet的日誌檔案
七、 exception物件
exception物件是一個例外物件,當一個頁面在執行過程中發生了例外,就產生這個物件。如果一個JSP頁面要應用此物件,就必須把isErrorPage設為true,否則無法編譯。他實際上是java.lang.Throwable的物件
exception.getMessage() 返回描述異常的訊息
exception.toString() 返回關於異常的簡短描述訊息
exceptionprintStackTrace() 顯示異常及其棧軌跡
exceptionFillInStackTrace() 重寫異常的執行棧軌跡
八、 pageContext物件
pageContext物件提供了對JSP頁面內所有的物件及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當於頁面中所有功能的集大成者,它的本 類名也叫pageContext。
pageContext.getOut() 返回當前客戶端響應被使用的JspWriter流(out)
pageContext.getSession() 返回當前頁中的HttpSession物件(session)
pageContext.getPage() 返回當前頁的Object物件(page)
pageContext. getRequest() 返回當前頁的ServletRequest物件(request)
pageContext.getResponse() 返回當前頁的ServletResponse物件(response)
pageContext.getException() 返回當前頁的Exception物件(exception)
pageContext.getServletConfig() 返回當前頁的ServletConfig物件(config)
pageContext.getServletContext() 返回當前頁的ServletContext物件(application)
pageContext.setAttribute(String name,Object attribute) 設定屬性及屬性值
pageContext.setAttribute(String name,Object obj,int scope) 在指定範圍內設定屬性及屬性值
pageContext.getAttribute(String name) 取屬性的值
pageContext.getAttribute(String name,int scope) 在指定範圍內取屬性的值
pageContext.Object findAttribute(String name) 尋找一屬性,返回起屬性值或NULL
pageContext.removeAttribute(String name) 刪除某屬性
pageContext.pageContext.removeAttribute(String name,int scope) 在指定範圍刪除某屬性
pageContext.getAttributeScope(String name) 返回某屬性的作用範圍
pageContext.getAttributeNamesInScope(int scope) 返回指定範圍內可用的屬性名列舉
pageContext.release() 釋放pageContext所佔用的資源
pageContext.forward(String relativeUrlPath) 使當前頁面重導到另一頁面
pageContext.include(String relativeUrlPath) 在當前位置包含另一檔案
九、 config物件config物件是在一個Servlet初始化時,JSP引擎向它傳遞資訊用的,此資訊包括Servlet初始化時所要用到的引數(通過屬性名和屬性值構成)以及伺服器的有關資訊(通過傳遞一個ServletContext物件)
config.getServletContext()返回含有伺服器相關資訊的ServletContext物件
config.getInitParameter(String name)返回初始化引數的值
config.getInitParameterNames()返回Servlet初始化所需所有引數的列舉