HttpServletRequest和HttpServletResponse详解
请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口。
主要的与请求和接口相关的类及接口
|
方 法 |
说 明 |
|
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类型 |
HttpServletRequest和HttpServletResponse详解的更多相关文章
- HttpServletRequest 和 HttpServletResponse详解
用HttpServletRequest,现在整理如下,以便以后查阅 请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口. 主要的与请求和接口相关的类及接口 方 法 说 ...
- java HttpServletRequest和HttpServletResponse詳解
這篇文章主要介紹瞭java HttpServletRequest和HttpServletResponse詳解的相關資料,需要的朋友可以參考下 java HttpServletRequest和HttpS ...
- 深入分析JavaWeb Item7 -- HttpServletResponse详解
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...
- HttpServletRequest request方法详解
//1.获取请求参数 //获取参数的单个值,如有多个则只返回第一个 String parameter1 = request.getParameter("demo"); //获取参数 ...
- HttpServletResponse和HttpServletRequest详解.RP
HttpServletResponse,HttpServletRequest详解 1.相关的接口 HttpServletRequest HttpServletRequest接口最常用的方法就是获得 ...
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(下)(各种乱码、验证码、重定向和转发)
HttpServletRequest获取请求头信息 (1)获取客户机请求头 String getHeader(String name) Enumeration<String> getHe ...
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
HttpServletResponse简介 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 request和re ...
- (14)javaWeb中的HttpServletResponse类详解
如果希望了解请求和响应的详细内容,可以看我的“HTTP协议”系列文章 响应体的简单概述: a,响应报文结构: b,常见的状态码,返回服务器处理的结果: c,常见的响应头: HttpServletRes ...
- (13)javaWeb中HttpServletRequest详解
关于HTTP请求和响应,可以参考 HTTP协议 系列文章 导学,请求概述: a,GET和POST请求报文格式: b,常见的请求头 在servlet中,相应的doGet方法和doSet方法中的reque ...
随机推荐
- Linux的文件帮助和运行级别
man命令相关:man -1 +参数 表示查询第几章的帮助说明man -k +参数 表示以该参数为关键字查询所有相关命令或文件命令 --help 简单查询命令使用说明具体的帮助文档存储在/usr/sh ...
- LR运行场景时出现的error
LR运行场景时出现的error 1.Action.c(24): Error -27740: Overlapped transmission of request to "home.asiai ...
- Mybatis框架-1
1.Mybatis框架: Mybatis是一个半自动的对象关系映射(ORM),实现结果集的自动封装,sql写到配置文件中: Mybatis使用的是DTD约束. 2.Mybatis模块调用: 3.Sql ...
- 最短路-Floyd
简介: 算法的特点: 弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或有向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭 包. 算法思想: 通过F ...
- Python BeautifulSoup 简单笔记
Beautiful Soup 是用 Python 写的一个 HTML/XML 的解析器,它可以很好的处理不规范标记并生成剖析树.通常用来分析爬虫抓取的web文档.对于 不规则的 Html文档,也有很多 ...
- WeGame导致WSL无法监听端口问题
Windows 10 系统自带Linux子系统(WSL),可以方便的使用WSL运行Linux程序和脚本.笔者在WSL上运行Redis时突然发现无法监听6379端口,尝试重新安装WSL无果. 后来重新安 ...
- VM虚拟机安装kali linux
点击文件,新建虚拟机新建一个虚拟机 点击后出现这个,选择典型 点击下一步,然后选择安装程序光盘映像文件(iso),然后浏览,找到你下载的镜像 点击下一步,选择linux,选择最高Debian版本的,6 ...
- FZU - 1492(Problem 1492 地震预测)
怀特先生是一名研究地震的科学家,最近他发现如果知道某一段时间内的地壳震动能量采样的最小波动值之和,可以有效地预测大地震的发生. 假设已知一段时间的n次地壳震动能量的采样值为a1,a2,-an,那么第i ...
- Redux-react connect 源码自己重写
import Counter from '../components/Counter'; import { increment, decrement, incrementIfOdd, incremen ...
- 【SAM】POJ1509-Glass Beads
[题目大意] 求一个循环数列的最小表示法. [思路] 把原创复制一遍放在后面,建立SAM,从s按字典序开始跑长度L即可. 板子来源(作者见连接内):