一.request對象
1.通過request對象可以獲得客戶端輸入的信息。request對象包含了從客戶端傳來的請求信息。
請求的參數是一個請求的組成部分,它們被作為字符串從客戶端傳送到JSP/Servlet容器中,并被用于初始化request對象。
?
2.request對象是javax.Servlet.http.HttpServletRequest接口,它主要可用的方法如下:
1)getCookies()
該方法返回客戶端的Cookie對象數組,這些Cookie對象是javax.servlet.http.Cookie的實例對象。
?
2)getHeader(String name)
該方法可以獲取http協議所定義的特定的http頭文件的信息。name可以使HTTP文件頭的名字,例如User-Agent。
?
3)getAttribute(String name)
返回綁定在name屬性上的值,如果沒有,則返回null。
?
4)getAttributeNames()
返回和當前的request對象綁定在一起的所有的屬性的名字。返回值是一個枚舉對象。
?
5)getHeaderNames()
使用該方法返回一個枚舉對象,包含當前request對象中包含著的每一個http的頭文件的名字。
?
6)getMethod()
該方法可以返回當前客戶端向服務器端傳輸協議的方式,可能的有POST,GET,PUT等等。
?
7)getParameter(String name)
可以獲得客戶端傳輸給服務器端得信息。
?
8)getParameterNames()
可以獲取客戶端傳輸給服務器端所有的參數名字。返回值是一個枚舉類型。
?
9)getParameterValues(String name)
與getParameter(String name)的不同在于,使用getParameter(String name)只返回name當前的值,而之前的值都被忽略了,而getParameterValue(String name)則會返回所有的值。
?
10)getQueryString()
使用該方法可以獲得請求字符串,該字符串由客戶端以GET方式傳向服務器端。
?
11)getRequestURL()
getRequestURL()方法可以獲得和當前request對象相應的URL地址,有人就說客戶端通過瀏覽器所請求的URL地址。
?
12)getServletPath()
該方法可以獲得客戶端所請求的servlet的地址。
?
13)setAttribute(String name,Java.lang.Object obj)
該方法可以將某個參數和目前的request對象綁定起來。
?
14)getServerName()
該方法返回服務器的名稱。
?
15)getServerPort()
用于獲取服務器提供的HTTP服務的端口。
?
16)getRemoteAddr()
該方法用于獲得發送HTTP請求的客戶端地址。利用這個方法,我們可以屏蔽來自某些IP地址的訪問。
?
17)getRemoteHost()
該方法可以獲取當前HTTP連接的客戶端計算機名稱,返回的是IP地址。
?
18)getProtocol()
可以獲取客戶端向服務器端發送信息所遵循的協議名稱。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body bgcolor="white">
<h1>Request Information</h1>
<font size="4">
JSP Request Method: <%out.println(request.getMethod()); %>
<br>
Request URI: <%out.println(request.getRequestURI()); %>
<br>
Request Protocol: <%out.println(request. getProtocol()); %>
<br>
Servlet path: <%out.println(request.getServletPath ()); %>
<br>
Path info: <%out.println(request.getPathInfo()); %>
<br>
Path translated: <%out.println(request.getPathTranslated()); %>
<br>
Query string: <%out.println(request.getQueryString()); %>
<br>
Content length: <%out.println(request.getContentLength()); %>
<br>
Content type: <%out.println(request.getContentType()); %>
<br>
Server name: <%out.println(request.getServerName()); %>
<br>
Server port: <%out.println(request.getServerPort()); %>
<br>
Remote user: <%out.println(request.getRemoteUser()); %>
<br>
Remote address: <%out.println(request.getRemoteAddr()); %>
<br>
Remote host: <%out.println(request.getRemoteHost()); %>
<br>
Authorization scheme: <%out.println(request.getAuthType()); %>
<hr>
The browser you are using is: <%out.println(request.getHeader("User-Agent")); %>
<hr>
</font>
</body>
</html>
?
二.response對象
1.response對象的作用是處理HTTP連接信息,如cookie,HTTP文件頭信息等,它有很多功能是和request對象相匹配的。
?
2.response對象的常用方法:
1)addCookie(Cookie cookie)
當用于訪問某個站點時,我們可以用此方法添加一個cookie對象,并將它發送到客戶端,保存到客戶端操作系統的某個特定目錄下,用來保存客戶的特定信息。當用戶再次訪問瀏覽器時,瀏覽器會自動將這個Cookie對象發送會服務器端,調用request對象的getCookie()方法可以獲得所有存在的Cookie對象,getCookie返回的是一個數組。Cookie對于不同的客戶來說都是專有的。
?
2)addHeader(String name,String value)
addHeader是添加HTTP文件頭信息,這些信息將會傳到客戶端,發送特定的HTTP文件頭信息,可以控制客戶端和服務器端的連接。
?
3)containsHeader(String name)
該方法用于判斷指定名字的HTTP文件頭是否存在,返回值是布爾類型。
?
4)sendError(int sc)
該方法用于向客戶端發送錯誤消息,例如505:服務器內部消息。
?
5)sendRedirect(String url)
和<jsp:forward>動作指令的功能一模一樣,但是向目標程序傳遞HTTP參數不是很方便,在使用此方法之前,必須保證JSP程序沒有任何可見的輸出被送往客戶端。
?
6)setHeader()
是一個通用的標頭設定方法,您可以用它來設定任何「名稱/值」的標頭.
7)setIntHeader()
專門用來設定整數值標頭的版本.
8)setDateHeader()
是setHeader()的Date設定版本,第二個參數是設定Date的Long數值,0表示GMT 1970/1/1 00:00。
?
9)setStatus()
是用來設定回應的狀態碼,例如404 Not Found,HttpServletResponse類中提供了一些助憶常數設定,例如SC_NOT_FOUND就是表示404狀態碼(可以在Servlet API文件中查詢相關的助憶常數)
文章來源:http://www.cnblogs.com/karying/archive/2009/10/21/2015408.html