java HttpServletRequest和HttpServletResponse详解
java httpservletrequest和httpservletresponse详解
最近由于cas相关的jar包的重新封装,所以想尽量做到0配置,而这个过程中大量使
用httpservletrequest,现在整理如下,以便以后查阅。(表格为从别的地方复制的,排版渣了点,酬和看吧。)
请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口。
主要的与请求和接口相关的类及接口
方 法 |
说 明 |
servletinputstream |
servlet的输入流 |
servletoutputstream |
servlet的输出流 |
servletrequest |
代表servlet请求的一个接口 |
servletresponse |
代表servlet响应的一个接口 |
servletrequestwrapper |
该类实现servletrequest接口 |
servletresponsewrapper |
该类实现servletresponse接口 |
httpservletrequest |
继承了servletrequest接口,表示http请求 |
httpservletresponse |
继承了servletresponse接口,表示http请求 |
httpservletrequestwrapper |
httpservletrequest的实现 |
httpservletresponsewrapper |
httpservletresponse的实现 |
在上面给出的类和接口中,最主要的是httpservletrequest和httpservletresponse接口,下面将详细介绍这两个接口。
1.httpservletrequest
httpservletrequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据。同时,httpservletrequest接口可以获取由客户端传送的名称,也可以获取产生请求并且接收请求的服务器端主机名及ip地址,还可以获取客户端正在使用的通信协议等信息。下表是接口httpservletrequest的常用方法。
说明:httpservletrequest接口提供了很多的方法。
接口httpservletrequest的常用方法
方 法 |
说 明 |
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() |
获取请求的文件的路径 |
2.httpservletresponse
在servlet中,当服务器响应客户端的一个请求时,就要用到httpservletresponse接口。设置响应的类型可以使用setcontenttype()方法。发送字符数据,可以使用getwriter()返回一个对象。下表是接口httpservletresponse的常用方法。
接口httpservletresponse的常用方法
方 法 |
说 明 |
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类型 |
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!