request对象与response对象

一.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

原文地址:https://www.cnblogs.com/asher/p/2821211.html