请求和响应是web交互最基本的模式,在Servlet中,分别用HttpServletRequest,HttpServletResponse来表示Http请求和响应。这两个类均来自javax.servlet.http包,是J2EE Servlet与JSP规范的一部分,因此使用HttpServletResponse,HttpServletRequest的时候都是和Servlet(包括JSP)有关的。在HTML中无法使用它。
一、HttpServletRequest
requst对象是请求对象。在客户端向服务器请求一次就创建一个request对象,并且存储了请求的信息。所以在表单进行提交时,我们可以通过request对象获取用户提交的信息。下表是一些常用的方法。
方 法
|
说 明
|
getAttributeNames()
|
返回当前请求的所有属性的名字集合
|
getAttribute(String name)
|
返回name指定的属性值
|
getCookies()
|
返回客户端发送的Cookie
|
getsession()
|
返回和客户端相关的session,如果没有给客户端分配session,则返回null
|
getsession(boolean create)
|
返回和客户端相关的session,如果没有给客户端分配session,则创建一个session并返回
|
getParameter(String name)
|
获取请求中的参数,该参数是由name指定的
|
getParameterValues(String name)
|
返回请求中的参数值,该参数值是由name指定的
|
getCharacterEncoding()
|
返回请求的字符编码方式
|
getContentLength()
|
返回请求体的有效长度
|
getInputStream()
|
获取请求的输入流中的数据
|
getMethod()
|
获取发送请求的方式,如get、post
|
getParameterNames()
|
获取请求中所有参数的名字
|
getProtocol()
|
获取请求所使用的协议名称
|
getReader()
|
获取请求体的数据流
|
getRemoteAddr()
|
获取客户端的IP地址
|
getRemoteHost()
|
获取客户端的名字
|
getServerName()
|
返回接受请求的服务器的名字
|
getServerPath()
|
获取请求的文件的路径
|
二、HttpServletResponse
在Servlet中,当用户发出请求后,接下来就是需要响应,而响应用另一个对象Response对象。这是常用的方法。
方 法
|
说 明
|
addCookie(Cookie cookie)
|
将指定的Cookie加入到当前的响应中
|
addHeader(String name,String value)
|
将指定的名字和值加入到响应的头信息中
|
containsHeader(String name)
|
返回一个布尔值,判断响应的头部是否被设置
|
encodeURL(String url)
|
编码指定的URL
|
sendError(int sc)
|
使用指定状态码发送一个错误到客户端
|
sendRedirect(String location)
|
发送一个临时的响应到客户端
|
setDateHeader(String name,long date)
|
将给出的名字和日期设置响应的头部
|
setHeader(String name,String value)
|
将给出的名字和值设置响应的头部
|
setStatus(int sc)
|
给当前响应设置状态码
|
setContentType(String ContentType)
|
设置响应的MIME类型
|
|