天天看點

jsp頁面九大内置對象

輸入輸出:request,response,out

作用域之間通信:session,application,pageContext,(request)

Servlet對象:page,config

錯誤對象:Execpiton

4+2+3

四大作用域

(1)-->Application,也就是servlet中的    ServeletContext對象-->負責提供整個web項目在伺服器中運作時的一些全局資訊

    生命周期:生命長度-->項目的加載到項目解除安裝

          作用範圍--->整個項目的所有servlet

(2)-->Session,也就是Servlet中的HttpSession對象---->代表伺服器和用戶端所建立的會話。當需要在不同的jsp檔案中保留客戶資訊的情況下使用。比如線上購物,客戶軌迹跟蹤

    生命周期:生命長度-->一次會話的長度【會話中斷,強制銷毀,超過最大不活動周期】

           作用範圍---->一個用戶端隻能由一個session,所有的servlet

(3)-->request,也就是httpservlet中的請求資訊對象--->代表來自用戶端的請求資訊。例如form表單送出的參數。http請求行,請求頭資訊,請求實體内容等資訊。還有cookie資訊

     生命周期:生命長度-->一次請求的長度

            作用範圍 --->所有被請求轉發到的servlet

(4)-->pageContext,頁面上下文對象,封裝了目前jsp頁面的運作資訊。它提供了傳回jsp頁面的其他隐式對象的方法。

兩大響應對象

(1)---->response,代表對用戶端的響應。通過response對象來組織發送到用戶端的資料。

(2)--->out,代表向用戶端發送資料的對象。與response對象不同,它發送的内容都在頁面中顯示。

        方法有print,println

                 clear,clearBuffer,flush,getBufferSize,getRemaining.這些方法是因為out對象内部包含一個緩沖區。

三個打醬油

(1)Config,配置對象。

(2)page,頁面對象

(3)Exception,例外對象。

内置對象

類型

說明

作用域

request

javax.servlet.ServletRequest

請求對象——在 一次請求/一個Request請求周期 中傳遞資料,請求結束後,資料不可通路,用于頁面之間的值的傳遞

使用者請求期

response

javax.servlet.SrvletResponse

響應對象——用來響應用戶端請求并向用戶端輸出資訊

頁面執行期

out

javax.servlet.jsp.JspWriter

輸出對象——表示輸出流,該流将作為請求的響應發送到用戶端

session

javax.servlet.http.HttpSession

會話對象——在一個session會話周期中,用于存儲有關使用者會話的所有資訊

會話周期

application

javax.servlet.ServletContext

應用程式對象——用于實作使用者之間的資料共享,負責提供應用程式在伺服器中運作時的一些全局資訊

整個程式運作期

pageContext

javax.servlet.jsp.PageContext

頁面上下文對象——此對象提供所有四個作用域層次的屬性查詢和修改能力,它也提供了轉發請求到其它資源和包含其他資源的方法

page

javax.lang.Object

頁面對象——隻在目前JSP頁面内有效,提供對網頁上定義的所有對象的通路,其表示的就是頁面本身

config

javax.servlet.ServletConfig

配置對象——是ServletConfig的執行個體,代理目前jsp頁面配置,提供配置資訊

Execpiton

javax.lang.Throwable

例外對象——此對象指JSP檔案運作時所産生的例外對象,也就是JSP引擎在執行代碼時抛出的異常,此對象不能在一般JSP檔案中直接使用,而隻能在使用了“<%@ page isErrorPage="true"%>”的JSP檔案中使用,也就是說隻有在page指令中具有屬性isErrorPage="true"時才有效

傳回類型

方法名稱

Object

getAttribute(String name)

傳回由name指定的屬性值,該屬性不存在時傳回null

Enumeration

getAttributeNames()

傳回request對象的所有屬性名稱的集合

String

getAuthType()

傳回用來保護servlet的認證方法的名稱,未受保護時傳回null

getCharacterEncoding()

傳回請求中的字元編碼方法,可以在response對象中設定

int

getContentLength()

傳回請求的BODY的長度,不能确定長度時傳回-1。可以在response中設定

getContentType()

傳回在response中定義的内容類型

getContentPath()

傳回請求的路徑

Cookie[]

getCookies()

傳回用戶端所有的Cookie的數組

getHeaderNames()

傳回所有HTTP頭的名稱的集合

getHeaders(String name)

傳回指定HTTP頭的所有值的集合

getHeader(String name)

傳回指定名稱的HTTP頭的資訊

long

getDateHeader(String name)

傳回指定名稱的Data類型的HTTP頭的資訊

getIntHeader(String name)

傳回指定名稱的Int類型的HTTP頭的資訊

ServletInputStream

getInputStream()

傳回請求的輸入流

Locale

getLocale()

傳回目前頁的Locale對象(此對象有兩個方法,分别是getDisplayCountry和getDisplayLanguage),可以在response中設定

getLocales()

傳回請求中所有的Locale對象的集合

getLocalName()

擷取響應請求的伺服器端主機名

getLocalAddr()

擷取響應請求的伺服器端位址

getLocalPort()

擷取響應請求的伺服器端端口

getMethod()

擷取用戶端向伺服器端發送請求的方法(GET、POST)

getParameter(String name)

擷取用戶端發送給伺服器端的參數值

Map

getParameterMap()

該方法傳回包含請求中所有參數的一個Map對象

getParameterNames()

傳回請求中所有參數的集合

String[]

getParameterValues(String name)

獲得請求中指定參數的所有值

getQueryString()

傳回get方法傳遞的參數字元串,該方法不分解出單獨的參數

getPathInfo()

取出請求中處于ServletPath和QueryString之間的額外資訊

getPathTranslated()

傳回用getPathInfo()方法取得的路徑資訊的實際路徑

getProtocol()

傳回請求使用的協定。可以是HTTP1.1或者HTTP1.0

BufferedReader

getReader()

傳回請求的輸入流對應的Reader對象,該方法和getInputStream()方法在一個頁面中隻能調用一個

getRemoteAddr()

擷取送出請求的用戶端IP位址

getRemoteHost()

擷取送出請求的用戶端主機名

getRemoteUser()

傳回經過用戶端驗證的使用者名,未經驗證傳回null

getRemotePort()

傳回送出請求的用戶端主機端口

getRealPath(String path)

傳回給定虛拟路徑的實體路徑

RequestDispatcher

getRequestDispatcher(String path)

按給定的路徑生成資源轉向處理擴充卡對象(轉發)

getRequestedSessionId()

傳回請求的session的辨別

RequestURI()

傳回送出請求的用戶端位址,但是不包括請求的參數字元串

StringBuffer

getRequestURI()

傳回響應請求的伺服器端位址

getScheme()

擷取協定名稱,預設值為HTTP協定

getServerName()

傳回響應請求的伺服器名稱

getServletPath()

擷取用戶端所請求的腳本檔案的檔案路徑

getServerPort()

擷取響應請求的伺服器端主機端口号

void

removeAttribute(String name)

在屬性清單中删除指定名稱的屬性

setAttribute(String name, Object value)

在屬性清單中添加/删除指定的屬性

setCharacterEncoding(String charset)

設定請求的字元編碼格式

HttpSession

getSession() | getSession(boolean create)

擷取session,如果create為true,在無session的情況下建立一個

boolean

isRequestedSessionIdFromCookie()

檢查請求的會話ID是否為通過Cookie傳入

isRequestedSessionIdFromURL()

檢查請求的會話ID是否為通過URL傳入

isRequestedSessionIdValid()

檢查請求的會話ID是否仍然有效

isSecure()

檢查請求是否使用安全連結,如果HTTPS等

isUserInRole(String role)

檢查已經通過驗證的使用者是否在是role所指定的角色

Principal

getUserPrincipal()

傳回包含使用者登陸名的一個java.security.Principal對象

addCookie(Cookie cookie)

添加一個Cookie對象,儲存用戶端資訊

addDateHeader(String name, long value)

添加一個日期類型的HTTP頭資訊,覆寫同名的HTTP頭資訊

addHeader(String name, String value)

添加一個HTTP頭,覆寫同名的舊HTTP頭

addIntHeader(String name, int value)

添加一個整型的HTTP頭,覆寫同名的舊HTTP頭

containsHeader(String name)

判斷指定的HTTP頭是否存在

encodeRedirectURL(String url)

對sendRedirect()方法使用的URL進行編碼

encodeURL(String url)

将URL予以編碼,回傳包含session ID的URL

flushBuffer()

強制把目前緩沖區的内容發送到用戶端

getBufferSize()

取得以kb為機關的緩沖區大小

擷取響應的字元編碼格式

擷取響應的類型

擷取響應的Locale對象

ServletOutputStream

getOutputStream()

傳回用戶端的輸出流對象

PrintWriter

getWriter()

擷取輸出流對應的writer對象

isCommitted()

判斷伺服器端是否已經将資料輸出到用戶端

reset()

清空buffer中的所有内容

sendError(int xc | int xc, String msg)

發送錯誤,包括狀态碼和錯誤資訊

sendRedirect(String locationg)

把響應發送到另外一個位置進行處理(轉發)

setBufferSize(int size)

設定以kb為機關的緩沖區大小

設定響應使用的字元編碼格式

setContentLength(int length)

設定響應的BODY長度

setContentType(String type)

設定響應的類型

setDateHeader(String name, long value)

設定指定名稱的Data類型的HTTP頭的值

setHeader(String name, String value)

設定指定名稱的HTTP頭的值

setIntHeader(String name, int value)

設定指定名稱的int類型的HTTP頭的值

setStatus(int xc)

設定響應狀态碼,新值會覆寫目前值

clear()

清除輸出緩沖區的内容,但是不輸出到用戶端

clearBuffer()

清除輸出緩沖區的内容,并輸出到用戶端

close()

關閉輸出流,清除所有内容

flush()

輸出緩沖區裡面的資料

擷取以kb為機關的目前緩沖區大小

getRemaining()

擷取以kb為機關的緩沖區中未被占用的空間大小

isAutoFlush()

是否自動重新整理緩沖區

newLine()

輸出一個換行字元

print(Object)

将指定類型的資料輸出到Http流,不換行

println(Object)

将指定類型的資料輸出到Http流,并輸出一個換行符

Appendable

append(char c | CharSequence cxq, int start, int end | CharSequence cxq )

将一個字元或者實作了CharSequence接口的對象添加到輸出流的後面

擷取與指定名字相關聯的session屬性值

取得session内所有屬性的集合

getCreationTime()

傳回session的建立時間,最小機關千分之一秒

getId()

取得session辨別

getLastAccessedTime()

傳回與目前session相關的用戶端最後一次通路的時間,由1970-01-01算起,機關毫秒

getMaxInactiveInterval(int interval)

傳回總時間,以秒為機關,表示session的有效時間(session不活動時間)。-1為永不過期

ServletContext

getServletContext()

傳回一個該JSP頁面對應的ServletContext對象執行個體

HttpSessionContext

getSessionContext()

傳回與會話辨別符關聯的會話

getValue(String name)

取得指定名稱的session變量值,不推薦使用

getValueNames()

取得所有session變量的名稱的集合,不推薦使用

invalidate()

銷毀這個session對象

isNew()

判斷一個session是否由伺服器産生,但是用戶端并沒有使用

pubValue(String name, Object value)

添加一個session變量,不推薦使用

removeValue(String name)

移除一個session變量的值,不推薦使用

setAttribute(String name, String value)

設定指定名稱的session屬性值

setMaxInactiveInterval(int interval)

設定session的有效期

移除指定名稱的session屬性

傳回由name指定的application屬性

getAttributes()

傳回所有的application屬性

getContext(String uripath)

取得目前應用的ServletContext對象

getInitParameter(String name)

傳回由name指定的application屬性的初始值

getInitParameters()

傳回所有的application屬性的初始值的集合

getMajorVersion()

傳回servlet容器支援的Servlet API的版本号

getMimeType(String file)

傳回指定檔案的類型,未知類型傳回null。一般為"text/html"和"image/gif"。

getMinorVersion()

傳回servlet容器支援的Servlet API的副版本号

傳回給定虛拟路徑所對應實體路徑

getNamedDispatcher(String name)

為指定名字的Servlet對象傳回一個RequestDispatcher對象的執行個體

傳回一個RequestDispatcher對象的執行個體

URL

getResource(String path)

傳回指定的資源路徑對應的一個URL對象執行個體,參數要以"/"開頭

InputStream

getResourceAsStream(String path)

傳回一個由path指定位置的資源的InputStream對象執行個體

Set

getResourcePaths(String path)

傳回存儲在web-app中所有資源路徑的集合

getServerInfo()

取得應用伺服器版本資訊

Servlet

getServlet(String name)

在ServletContext中檢索指定名稱的servlet

getServlets()

傳回ServletContext中所有servlet的集合

getServletContextName()

傳回本web應用的名稱

getServletContextNames()

傳回ServletContext中所有servlet的名稱集合

log(Exception ex, String msg | String msg, Throwable t | String msg)

把指定的資訊寫入servlet log檔案

移除指定名稱的application屬性

設定指定的application屬性的值

setAttribute(String name, Object value, int scope | String name, Object value)

在指定的共享範圍内設定屬性

getAttribute(String name, int scope | String name)

取得指定共享範圍内以name為名字的屬性值

findAttribute(String name)

按頁面、請求、會話和應用程式共享範圍搜尋已命名的屬性

removeAttribute(String name, int scope | String name)

移除指定名稱和共享範圍的屬性

forward(String url)

将頁面導航到指定的URL

getAttributeNamesScope(int scope)

取得指定共享範圍内的所有屬性名稱的集合

getAttributeScope(String name)

取得指定屬性的共享範圍

ErrorData

getErrorDate()

取得頁面的errorData對象

Exception

getException()

取得頁面的exception對象

ExpressionEvaluator

getExpressionEvaluator()

取得頁面的expressionEvaluator對象

JspWriter

getOut()

取得頁面的out對象

getPage()

取得頁面的page對象

ServletRequest

getRequest()

取得頁面的request對象

ServletResponse

getResponse()

取得頁面的response對象

ServletConfig

getConfig()

取得頁面的config對象

取得頁面的servletContext對象

getSession()

取得頁面的session對象

VariableResolver

getVariableResolver()

取得頁面的variableResolver對象

include(String url, boolean flush | String url)

包含其他的資源,并指定是否自動重新整理

release()

重置pageContext内部狀态,釋放所有内部引用

initialize( Servlet servlet, ServletRequest request, ServletResponse response,String errorPageURL, boolean needSession, int bufferSize, boolean autoFlush )

初始化未經初始化的pageContext對象

BodyContext

pushBody() | pushBody(Writer writer)

儲存目前的out對象,并更新pageContext中page範圍内的out對象

JspWrite

popBody()

取出由pushBody()方法儲存的out對象

handlePageException(Exception e | Thrwoable t)

此方法将異常重定向到 JSP 的錯誤頁,如果沒有指定錯誤頁的話,則執行一些依賴于實作的操作來處理該異常

傳回名稱為name的促使參數的值

傳回這個JSP所有的促使參數的名稱集合

getContext()

傳回執行者的servlet上下文

getServletName()

傳回servlet的名稱

Throwable

fillInStackTrace()

将目前stack資訊記錄到exception對象中

getLocalizedMessage()

取得本地語系的錯誤提示資訊

getMessage()

取得錯誤提示資訊

StackTrackElement[]

getStackTrace()

傳回對象中記錄的call stack track資訊

initCause(Throwable cause)

将另外一個異常對象嵌套進目前異常對象中

getCause()

取出嵌套在目前異常對象中的異常

printStackTrace() | printStackTrace(printStream s) | printStackTrace(printWriter s)

列印出Throwable及其call stack trace資訊

setStackTrace(StackTraceElement[] stackTrace)

設定對象的call stack trace資訊