在JSP中,因為對部分Java對象作了聲名,因此即使不重新聲明這些對象,也可以調用,這些內置對象起到簡化頁面的作用,不需要由開發人員進行實例化,他們由容器實現和管理,在所有的Jsp頁面中都能使用內置對象,內置對象在JSp初始化時生成,可以利用這些對象制作多種JavaWeb應用程序
一 out對象
主要用來向客戶端輸出各種數據類型內容,並且管理應用服務器上的輸出緩沖區。
out.print()//輸出數據
out.newLine()//輸出一個換行符
out.flush()//輸出緩沖區里的數據
out.close()//關閉輸出流
out.clearBuffer()//清除緩沖區里的數據,並把數據輸出到客戶端
out.clear()//清除緩沖區里的數據,但不會把數據輸出到客戶端
out.getBufferSize()//獲得緩沖區大小
out.getRemaining()//獲得緩沖區中沒有被占用的空間大小
out.isAutoFlush()//返回布爾值。如果AutoFlush為真 則返回真。
二 page對象
page對象是為了執行應答請求和設置的Servlet類的實體,即顯示JSP頁面自身,只有在JSP頁面內才是合法的。Page隱含對象本質上包含當前Servlet接口引用的變量,可以看作是this變量的別名,因此該對象對於開發JSP比較有用
page.getClass()//獲得page對象的類
page.hashCode()//獲得page對象的hash碼
page.toString()//將此page對象轉換為String類對象
page.notify()//喚醒一個等待的進程
page.notifyAll()//喚醒所有等待的進程
page.wait()//使一個線程處於等待直到被喚醒
page.wait(long timeout)//使一個線程處於等待直到timeout或被喚醒
三 request對象
requeset對象是從客戶端向服務器發出的請求,可以通過這個對象了解客戶端信息
isUserInRole(String role) 判斷認證后的用戶是否屬於邏輯的role中的成員
getAttribute(String name) 返回由name指定的屬性值。若不存在則為空
getAttributes()返回request對象的所有屬性的名字集合,其結果是一個枚舉的實例。
getCookies() 返回客戶端的所有Cookie對象,結果是一個Cookie數組。
getCharacterEncoding() 返回請求中的字符編碼方式。
getContentLength() 返回請求的Body的長度,如果不確定長度,返回-1
getHeader(String name) 獲得HTTP協議定義的文件頭信息
getHeaders(String name) 返回指定名字的request Header的所有值,其結果是一個枚舉的
getHeaderNames()返回所有request Header的名字 ,其結果是一個枚舉實例。
getInputStream() 返回請求的輸入流,用於獲得請求中的數據
getMethod() 獲得客戶端向服務器端傳送數據的方法,如GET,POST,HEADER,TRACE等。
getParameter(String name)獲得客戶端傳送給服務器端的參數值。
getParameterNames() 獲得客戶端傳送給服務器端的所有參數名字,其結果是一個枚舉的實例
getParameterValues(String name) 獲得指定參數的所有值。
getProtocol() 獲取客戶端向服務器端傳送數據所依據的協議名稱
getQueryString() 獲得查詢字符串,該字符串是由客戶端以GET方式向服務器端傳送的
getRequestURI() 獲取發出請求字符串的客戶端地址
getRemoteAddr() 獲取客戶端IP地址
getRemoteHost() 獲取客戶端名字
getSession([Boolean create]) 返回和請求相關的session。create參數是可選的。當有參數create且這個參數值為true時,如果客戶端還沒有創建session,那么將創建一個新的session。
getServerName() 獲取服務器的名字
getServletPath() 獲取客戶端所請求的腳本文件的文件路徑
getServerPort() 獲取服務器的端口號
removeAttribute(String name) 刪除請求中的一個屬性
setAttribute(String name, java.lang.Object obj) 設置request的參數值
四 response對象
response對象和request對象的性質相反,它所包含的是服務器向客戶端做出的應答信息.實現過程中response被包裝成HttpServletResponse接口,它包含裝了JSP產生的響應,然后被發送到客戶端以響應客戶端的請求
addCookie(Cookie cook) 添加一個Cookie對象,用來保存客戶端的用戶信息
addHeader(String name,String value) 添加HTTP文件頭信息。該Header信息將傳達到客戶端,如果已經存在同名的則會覆蓋
containsHeader(String name) 判斷指定字句的Header是否已經存在,返回真假
encodeURL() 使用sessionId封裝URL。如果沒有封裝URL則返回原值
flushBuffer() 強制把當前緩沖區的內容發送到客戶端
getBufferSize() 返回緩沖區的大小
getOutputStream() 返回到客戶端的輸出流
sendError(int) 向客戶端發送錯誤信息。如404 指網頁不存在
sendRedirect(String location) 把響應發送到另一個位置 進行處理 即請求重定向
setContent(String contentType) 設置響應的MIME類型
getWriter() 此方法返回一個PrintWriter對象
getCharacterEncoding() 該方法獲得此時相應所采用的字符編碼類型
setDateHeader(String name,heaername,long date)把指定的頭名稱以及日期設置為響應頭信息 其值是從新紀元算起的毫秒數
setHeader(String name,String value) 設置指定名字的HTTP文件頭的值,若存在則會覆蓋。
五 session對象
session是用於保護客戶端信息而分配給客戶的對象
getAttribute()獲取與指定名字相聯系的屬性
getAttributeNames()session對象中存儲的每一個對象,其結果為一個枚舉的實例
getCreateTime() 返回session的創建時間,最小單位這千分之一秒
getId() 返回唯一的標識,每個session的ID是不同的
getLastAccessedTime()返回和當前session對象相關的客戶端最后發送的請求時間
setMaxInactiveInterval(int number)該方法設定保存session數據的時間,參數number為秒數
getMaxInactiveInterval() 返回決時間,負值表示session永遠不會過期。它的值為session的生存時間
invalidate() 銷毀這個對象,
isNew() 如果客戶端不接受使用session,那么每個請求中都會產生一個session對象。
removeAttribute(String name) 刪除與指定名字相聯系的屬性
setAttribute(String name,java.langObject obj) 設置指定名字的屬性值 並將 其存儲在session中。
六 application對象
application用來保存所有應用系統中的公有數據。
getAttribute(String name)返回指定名字的application對象的屬性的值
getAttributeNames() 返回所有應用程序級對象的屬性的名字 ,其結果為枚舉的實例
getInitParameter(String name) 返回由指定名字的application對象的某個屬性的初始值
getServletInfo() 返回Servlet編譯器的當前版本的信息
setAttribute(String name,Object obj) 設置 指定名字的application對象的屬性的值
removeAttribute(string Key)通過關鍵字來刪除一個對象的信息
getRealPath(String path)返回虛擬路徑的真實路徑
getContext(String URLPath)返回執行Web應用的application對象
getMajorVersion() 返回服務器支持的Servlet API最大版本號
getMinorVersion()返回服務器支持的Servlet API最小版本號
getMimeType(String file)返回指定文件的MIME類型
getResource(String path) 返回指定資源的輸入流
getResourceDispathcher(String URLPath)返回指定資源的RequestDispathcher
getServlet(String name) 返回 指定名稱的servlet
getServlets() 返回所有的Servlet,返回類型為枚舉型
getServletNames() 返回所有的Servlet名稱,返回類型為枚舉型
log(String msg) 把指定信息寫入到Servlet的日志文件中
log(String msg,Throwable throwable)把軌跡以及給出的Throwable異常說明信息寫入Servlet的日志文件
七 config對象
config對象被封裝成javax.servlet.ServletConfig接口.標識servlet的配置。當一個servlet初始化時,容器把某些信息通過此對象傳遞給servlet
getServletContext() 返回執行者的Servlet上下文
getServletName()返回Servlet的名字
getInitParameter(String name) 返回名字為name的初始參數的值
getInitParameterNames() 返回這個JSP的所有的初始參數的名字
八 pageContext對象
pageContext對象提供存取所有關於jsp程序執行時期所要用到的屬性方法,他被封裝成java.servlet.jap.pageContext接口,他的創建和初始化都是容器來完成的,jsp頁面里可以直接使用pageContext對象的句柄,pageContext對象的getXXX()、setXXX()和findXXX()方法可以用來根據不同的對象范圍實現對這些對象的管理
forward(String UriPath) 重定向
getAttribute(String name,[int scope] ) scope可選。用來檢索一個特定的已經 命名的對象的范圍,並且還可以通過調用 getAttributeNamesInScope()方法 ,檢索對鞭個特定范圍的每個屬性String字符串名稱的枚舉。
getException()返回當前的exception對象
getRequest()返回當前的request對象
getResponse()返回當前的response對象
getServletConfig()返回當前頁面的ServletConfig對象
getServletContext()返回ServletContext對象。這個對象對所有頁面都是共享的
getSession() 返回當前的session對象
findAttribute() 可以用來按照頁面,請求,會話以及應用程序范圍順序實現對某個已經命名的屬性的搜索。
setAttribute() 可以用來設置默認頁面范圍或特定范圍之中的已命名對象。removeAttribute()可以用來刪除默認范圍或特定范圍內的已命名對象
九 exception對象
exception指的是Web應用程序能夠識別並處理的問題,在Java中利用明為try/catch的關鍵字來處理異常情況,如果在JSP頁面中沒有捕捉到的異常,就會生成exception對象,並把這個exception對象傳送到在page指令中設定的錯誤頁面中,然后在錯誤提示頁面中處理相應的exception對象
exception對象只有在錯誤頁面(在頁面指令里有isErrorPage=true的頁面)才可以使用
getMessage()//獲取異常消息字符串
getLocalizeMessage()//獲取本地化語言的異常錯誤
printStackTrace()//顯示異常的棧跟蹤軌跡
toString()//返回關於異常錯誤的簡單消息描述
fillInStackTrace()//重寫異常錯誤的棧執行軌跡