1.request對象
該對象封裝了用戶提交的信息,通過調用該對象的響應的方法可以獲取用戶提交的信息。
當request對象獲取用戶提交的漢字字符時,會產生亂碼,由下面的方法可以解決:
Sting s2 = new String(s1.getBytes("iso8859-1"),"GB2312")進行轉換。
request常用的方法:
1.request.getParameter("name"); 獲取表單提交的信息
2.request.getPRotocol(); 獲取客戶端使用的協議
3.request.getServletPath(); 獲取客戶提交信息的頁面
4.request.getMethod(); 獲取客戶提交信息的方法
5.request.getHeader(); 獲取http消息頭中屬性的值 如:accept、accept-encoding、host
6.request.getRemoteAddr(); 獲取客戶的ip地址
7.request.getRemoteHost(); 獲取客戶機的名稱
8.request.getServerName(); 獲取服務器的名稱
9.request.getServerPort(); 獲取服務器的端口號
10.request.getParameterNames(); 獲取客戶端提交的所有參數的名字
response對象的使用方法
對客戶的請求作出動態的響應,向客戶端發送數據
1.動態響應contentType屬性
當一個用戶訪問一個jsp頁面時,如果該頁面用page指令設置頁面的contentType屬性時text/html,那麼JSP引擎將按照這個屬性值做出反應。如果要動態改變這換個屬性值來響應客戶,就需要使用Response對象的setContentType(String s)方法來改變contentType的屬性值。
格式:response.setContentType(String s);
參數s可取text/html,application/x-msExcel,application/msWord等。
2.Response重定向
在某些情況下,當響應客戶時,需要將客戶重新引導至另一個頁面,可以使用Response的sendRedirect(URL)方法實現客戶的重定向。例如:
response.sendRedirect("index.jsp");
3.session對象
什麼是session對象?
它在第一個jsp頁面被加載時自動創建,完成會話期管理,從一個客戶打開浏覽器並連接服務器開始,到客戶關閉浏覽器並離開服務器為
止,被稱為一個會話,當一個客戶訪問一個服務器時,可能要在服務器上的幾個頁面間切換,服務器要知道這是一個客戶,這就需要
session對象。
當一個客戶首次訪問服務器上的一個JSP頁面時,JSP引擎產生一個Session對象,同時分配一個String類型的ID號,JSP引擎同時將這換 個ID號發送到客戶端,存放在Cookie中,這樣Session對象,直到客戶關閉浏覽器後,服務器端該客戶的Session對象才取消,並且和客戶的會話對應關系消失。當客戶重新打開浏覽器再連接到該服務器時,服務器為該客戶再創建一個新的Session對象。
session對象的使用:
● public String getId():獲取Session對象編號。
● public void setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Session對象中,並為添加的對象指定一個索引關鍵字。
● public Object getAttribute(String key):獲取Session對象中含有關鍵字的對象。
● public Boolean isNew():判斷是否是一個新的客戶。
4.Application對象
服務器啟動後就產生了這個Application對象,當客戶再所訪問的網站的各個頁面之間浏覽時,這個Application對象都時同一個,直到服務器關閉。但是與Session對象不同的時,所有客戶的Application對象都時同一個,即所有客戶共享這個內置的Application對象。
Application對象的常用方法
● setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Application對象中,並為添加的對象指定一個索引關鍵字。
● getAttribute(String key):獲取Application對象中含有關鍵字的對象。
5.out 對象
Out對象時一個輸出流,用來向客戶端輸出數據。Out對象用於各種數據的輸出。其常用方法如下。
● out.print():輸出各種類型數據。
● out.newLine():輸出一個換行符。
● out.close():關閉流。
6.pageContext對象
網頁的屬性在這裡設置。
頁面上下文對象
Jsp引入了一個名位PageContext的類,通過它可以訪問頁面的許多屬性。
PageContext類擁有getRequest,getResponse,getOut,getSession等方法。
pageContext變量存儲與當前頁面相關聯的PageContext對象的值。
補:
如果方法需要訪問多個與頁面相關的對象,
傳遞pageContext要比傳遞request,response,out等的獨立引用更容易。(雖然兩種方式都能達到同樣的目的)
7.page對象
一般我們使用page指令來替代使用這個對象。
8.config對象
9.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>
資料來源:學網(www.xue5.com),原文地址:http://www.xue5.com/itedu/200802/99006_2.html
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lookthatgirl/archive/2009/12/29/5102057.aspx