JSP九大隱式對象


JSP九大隱式對象

JSP九個隱式對象:
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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章