溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JSP中隱含對象有哪些

發(fā)布時間:2021-11-22 10:25:17 來源:億速云 閱讀:143 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)JSP中隱含對象有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、page 對象

page對象代表JSP本身,更準確地說它代表JSP被轉(zhuǎn)譯后的Servlet,它可以調(diào)用Servlet類所定義的方法。

二、config 對象

config 對象里存放著一些Servlet 初始的數(shù)據(jù)結(jié)構(gòu)。

config 對象實現(xiàn)于javax.servlet.ServletConfig 接口,它共有下列四種方法:

public String getInitParameter(name)  public java.util.Enumeration getInitParameterNames( )  public ServletContext getServletContext( )  public Sring getServletName( )

三、request 對象

request 對象包含所有請求的信息,如:請求的來源、標頭、cookies和請求相關(guān)的參數(shù)值等等。

request 對象實現(xiàn)javax.servlet.http.HttpServletRequest接口的,所提供的方法可以將它分為四大類:

1.儲存和取得屬性方法;

void setAttribute(String name, Object value)設(shè)定name屬性的值為value  Enumeration getAttributeNamesInScope(int scope)取得所有scope 范圍的屬性  Object getAttribute(String name)取得name 屬性的值  void removeAttribute(String name)移除name 屬性的值

2.取得請求參數(shù)的方法

String getParameter(String name) 取得name 的參數(shù)值Enumeration  getParameterNames( ) 取得所有的參數(shù)名稱String[]  getParameterValues(String name) 取得所有name 的參數(shù)值  Map getParameterMap( )取得一個要求參數(shù)的Map

3.能夠取得請求HTTP 標頭的方法

String getHeader(String name)取得name 的標頭  Enumeration getHeaderNames()取得所有的標頭名稱  Enumeration getHeaders(String name)取得所有name 的標頭  int getIntHeader(String name)取得整數(shù)類型name 的標頭  long getDateHeader(String name) 取得日期類型name 的標頭  Cookie [] getCookies( ) 取得與請求有關(guān)的cookies

4.其他的方法

String getContextPath( )取得Context 路徑(即站臺名稱)  String getMethod( )取得HTTP 的方法(GET、POST)  String getProtocol( )取得使用的協(xié)議 HTTP/1.1、HTTP/1.0 )  String getQueryString( )取得請求的參數(shù)字符串,不過,HTTP的方法必須為GET  String getRequestedSessionId( ) 取得用戶端的Session ID  String getRequestURI( )取得請求的URL,但是不包括請求的參數(shù)字符串  String getRemoteAddr( )取得用戶的IP 地址  String getRemoteHost( )取得用戶的主機名稱  int getRemotePort( )取得用戶的主機端口  String getRemoteUser( ) 取得用戶的名稱  void etCharacterEncoding(String encoding)設(shè)定編碼格式,用來解決窗體傳遞中文的問題

四、response 對象

response 對象主要將JSP 處理數(shù)據(jù)后的結(jié)果傳回到客戶端。

response 對象是實現(xiàn)javax.servlet.http.HttpServletResponse 接口。response對象所提供的方法。

1.設(shè)定表頭的方法

void addCookie(Cookie cookie)新增cookie  void addDateHeader(String name, long date)新增long類型的值到name標頭  void addHeader(String name, String value)新增String類型的值到name標頭  void addIntHeader(String name, int value)新增int類型的值到name標頭  void setDateHeader(String name, long date)指定long類型的值到name標頭  void setHeader(String name, String value)指定String類型的值到name標頭  void setIntHeader(String name, int value)指定int類型的值到name標頭

2.設(shè)定響應(yīng)狀態(tài)碼的方法

void sendError(int sc)傳送狀態(tài)碼(status code)  void sendError(int sc, String msg)傳送狀態(tài)碼和錯誤信息  void setStatus(int sc)設(shè)定狀態(tài)碼

3.用來URL 重寫(rewriting)的方法

String encodeRedirectURL(String url)對使用sendRedirect( )方法的URL予以編碼

五、out 對象

out 對象能把結(jié)果輸出到網(wǎng)頁上。

out主要是用來控制管理輸出的緩沖區(qū)(buffer)和輸出流(output stream)。

void clear( )清除輸出緩沖區(qū)的內(nèi)容  void clearBuffer( )清除輸出緩沖區(qū)的內(nèi)容  void close( )關(guān)閉輸出流,清除所有的內(nèi)容  int getBufferSize( )取得目前緩沖區(qū)的大小(KB)  int getRemaining( )取得目前使用后還剩下的緩沖區(qū)大小(KB)  boolean isAutoFlush( )回傳true表示緩沖區(qū)滿時會自動清除;false表示不會自動清除并且產(chǎn)生異常處理

六、session 對象

session對象表示目前個別用戶的會話(session)狀況。

session對象實現(xiàn)javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法

long getCreationTime()取得session產(chǎn)生的時間,單位是毫秒  String getId()取得session 的ID  long getLastAccessedTime()取得用戶***通過這個session送出請求的時間  long getMaxInactiveInterval()取得***session不活動的時間,若超過這時間,session 將會失效  void invalidate()取消session 對象,并將對象存放的內(nèi)容完全拋棄  boolean isNew()判斷session 是否為"新"的  void setMaxInactiveInterval(int interval)設(shè)定***session不活動的時間,若超過這時間,session 將會失效

七、application對象

application對象最常被使用在存取環(huán)境的信息。

因為環(huán)境的信息通常都儲存在ServletContext中,所以常利用application對象來存取ServletContext中的信息。

application 對象實現(xiàn)javax.servlet.ServletContext 接口,ServletContext接口容器所提供的方法

int getMajorVersion( )取得Container主要的Servlet API版本  int getMinorVersion( )取得Container次要的Servlet API 版本  String getServerInfo( )取得Container的名稱和版本  String getMimeType(String file)取得指定文件的MIME 類型  ServletContext getContext(String uripath)取得指定Local URL的Application context  String getRealPath(String path)取得本地端path的絕對路徑  void log(String message)將信息寫入log文件中  void log(String message, Throwable throwable)將stack trace 所產(chǎn)生的異常信息寫入log文件中

八、pageContext對象

pageContext對象能夠存取其他隱含對象。

1.pageContext對象存取其他隱含對象屬性的方法,此時需要指定范圍的參數(shù)。

Object getAttribute(String name, int scope)  Enumeration getAttributeNamesInScope(int scope)  void removeAttribute(String name, int scope)  void setAttribute(String name, Object value, int scope)

范圍參數(shù)有四個,分別代表四種范圍:PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE

2.PageContext對象取得其他隱含對象的方法

Exception getException( )回傳目前網(wǎng)頁的異常,不過此網(wǎng)頁要為error page,

JspWriter getOut( )回傳目前網(wǎng)頁的輸出流,例如:out

Object getPage( )回傳目前網(wǎng)頁的Servlet 實體(instance),例如:page

ServletRequest getRequest( )回傳目前網(wǎng)頁的請求,例如:request

ServletResponse getResponse( )回傳目前網(wǎng)頁的響應(yīng),例如:response

ServletConfig getServletConfig( )回傳目前此網(wǎng)頁的ServletConfig 對象,例如:config

ServletContext getServletContext( ) 回傳目前此網(wǎng)頁的執(zhí)行環(huán)境(context),例如:application

HttpSession getSession( )回傳和目前網(wǎng)頁有聯(lián)系的會話(session),例如:session

3.PageContext對象提供取得屬性的方法

Object getAttribute(String name, int scope)回傳name 屬性,范圍為scope的屬性對象,回傳類型為Object

Enumeration getAttributeNamesInScope(int scope)回傳所有屬性范圍為scope 的屬性名稱,回傳類型為Enumeration

int getAttributesScope(String name)回傳屬性名稱為name 的屬性范圍

void removeAttribute(String name)移除屬性名稱為name 的屬性對象

void removeAttribute(String name, int scope)移除屬性名稱為name,范圍為scope 的屬性對象

void setAttribute(String name, Object value, int scope)指定屬性對象的名稱為name、值為value、范圍為scope

Object findAttribute(String name)尋找在所有范圍中屬性名稱為name 的屬性對象

九、exception對象

若要使用exception 對象時,必須在page 指令中設(shè)定。才能使用。

exception提供的三個方法:

getMessage( )

getLocalizedMessage( )、

printStackTrace(new java.io.PrintWriter(out))

關(guān)于“JSP中隱含對象有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

jsp
AI