jsp隱式對象

來源:互聯網
上載者:User

主要掌握九個隱式對象:
request    response   out session application  pageContext page config  exception 隱式對象就是不需要我們new的對象,直接的我們就可以在頁面使用的對象,注意是在<%...%>裡面或者是<%=...%>裡面, 

request對象:儲存了很多用戶端請求的資訊。如請求來源,Cookie和用戶端請求的相關資料等
request對象的方法:

 

傳回值 方法 描敘
object getAttribute(String name) 返回指定屬性的屬性值
Enumeration getAttributeNames() 返回所有可用屬性名稱的枚舉
String getCharacterEncoding() 返回字元編碼方式
int getContentLength() 返回請求體的長度(以位元組數)
String getContentType() 得到請求體的MIME類型
ServletInputStream getInputStream() 得到請求體中一行的二進位流
String getParameter(String name)  返回name指定參數的參數值   
Enumeration getParameterNames() 返回可用參數名的枚舉
String[] getParameterValues(String name) 返回包含參數name的所有值的數組
String getProtocol() 返回請求用的協議類型及版本號碼
String getScheme() 返回請求用的協議名,如:http.https及ftp
String getServerName() 返回接受請求的伺服器主機名稱
int  getServerPort() 返回伺服器接受此請求所用的連接埠號碼
BufferedReader  getReader() 返回解碼過了的請求體
String getRemoteAddr() 返回傳送此請求的用戶端IP地址
String getRemoteHost() 返回傳送此請求的用戶端主機名稱
void setAttribute(String key,Object obj) 設定屬性的屬性值
String getRealPath(String path)  返回一虛擬路徑的真實路徑

response對象:產生伺服器端響應,然後將響應結果發送到用戶端
response.getContentType()  得到響應資訊的頭資訊。
response.sendRedirect(String URL)重新定向頁面
out對象:表示輸出資料流,此輸出資料流將作為請求發送到用戶端
1.public abstract void clear()
清除緩衝區中的內容,不將資料發送至用戶端。

2.public abstract void clearBuffer()
將資料發送至用戶端後,清除緩衝區中的內容。

3.public abstarct void close()
關閉輸出資料流。

4.public abstract void flush()
輸出緩衝區中的資料。

5.public int getBufferSize()
擷取緩衝區的大小。緩衝區的大小可用<%@ page buffer="size" %>設定。

6.public abstract int getRemainning()
擷取緩衝區剩餘空間的大小

7.public boolean isAutoFlush()
擷取用<%@ page is AutoFlush="true/false"%>設定的AutoFlush值。

8.public abstract void newLine()
輸出一個換行字元,換一行。

9.public abstract void print()
顯示各種資料類型的內容。

10.public abstract void println()
分行顯示各種資料類型的內容。

以下的對象是範圍通訊對象,主要作用就是來存放對象的。
session對象:將我們寫個對象放在這個session對象中,我們寫個這個對象就在我們的會話中都存在
使用getAttribute("","")方法來把我們的對象放在session中比如:
Object obj;
session.getAttribute("name",obj); 、、這個地方的name是可以自己寫的
我們要取出來的話就寫
session.getAttribute("name");然後在強制轉換一下,就取出來了
application對象:將我們寫個對象放在這個application對象中,我們寫個對象就在整個應用程式中都存在
放和取的方法是和session對象一樣的
pageContext對象:將我們寫個對象放在這個pageContext對象中我們這個頁面中存在
放和取的方法是和session對象一樣的
******************************************
pageContext對象相當於當前頁面的容器,可以訪問當前頁面的所有對象。
  pageContext對象的常用方法:
  HttpSession getSession()                   取得當前頁面的session對象。
  ServletRequest getRequest()              取得當前頁面的request對象。
  ServletResponse getResponse( )     取得當前頁面的response對象。
  ServletContext getServletContext()     取得當前頁面的application對象。
  ServletConfig getServletConfig()        取得當前頁面的config對象。
  Object getPage()                                    取得當前頁面的page對象。
  JspWriter getOut()                                 取得當前頁面的out對象。
  Exception getException()                     取得當前頁面的exception對象。

 

 

以下這些對象在實際運用中page,config,exception對象用的很少.
paget對象:一般我們使用Page指令來替代使用這個對象
config對象:一樣的我們在頁面中是使用很少的,一般會在Servlet中使用這個
exception對象:用來處理異常的,
下面為這個exception對象來舉個列子;
我有兩個頁面page1.jsp和page2.jsp
page1.jsp的代碼
<%@ page contentType="text/html; charset=GBK" errorPage="page2.jsp" %>
<html>
<head>
<title>
page1
</title>
</head>
<body >
<h1>
<%=(3/0)%>
</body>
</html>
顯然這個頁面是有異常的就是我用綠色標出的地方,那麼我在紅色寫的地方就是表示只要這個頁面有異常就自動跳到page2.jsp中。
現在這個page2.jsp就是剛才page1.jsp出錯的時候跳過來的,所以我的page2.jsp一定要指定為錯誤頁面,也就是紅色地方,
這樣我就可以在頁面寫上<%=exception.toString() %>,他就顯示在page1.jsp上的異常資訊了,
page2.jsp的代碼
<%@ page contentType="text/html; charset=GBK" isErrorPage="true" %>
<html>
<head>
</head>
<body bgcolor="#ffffff">
<h1>程式發生了錯誤</h1>
<%=exception.toString() %>
</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.