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 ...
随机推荐
- tortoisegit安装、clon、推送
下载/tortoisegit软件,根据对应系统下载相对应的软件及其汉化包 下载地址:https://tortoisegit.org/download/ 先安装软件包,再安装语言包,可以自己设置路径 ...
- msysgit: Unicode font warning
Warning:your console font probably does not support unicode , if you experience strange characters ...
- Luogu P2016 战略游戏(树形DP)
题解 设\(f[u][0/1/2]\)表示当前节点\(u\),放或不放(\(0/1\))时其子树满足题目要求的最小代价,\(2\)表示\(0/1\)中的最小值. 则有: \[ f[u][0]=\sum ...
- Sqli-labs less 9
Less-9 本关我们从标题就可以看到 <基于时间-单引号>,所以很明显的这关要我们利用延时注入进行,同时id参数进行的是 ' 的处理.这里我们大致的将延时注入的方法演示一次. 这里用sl ...
- oracle return code 2112
SQL-02112 SELECT..INTO returns too many rows Cause: A SELECT...INTO statement returned more rows tha ...
- EasyUI学习总结(一)——EasyUI入门(转载)
本文转载自:http://www.cnblogs.com/xdp-gacl/p/4075079.html 一.EasyUI下载 EasyUI官方下载地址:http://www.jeasyui.com/ ...
- javascrip 求最大公因数(分解质数法)发生的问题
//这是求一个数的质因数,例如:12=2*2*3 其中2,3都是质数.function primeArray(n, array) { array = new Array(); for (var i = ...
- luogu P1220 关路灯
题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. 为了给村 ...
- JZYZOJ1452 NOIP2015_提高组Day2_1_跳石头
http://172.20.6.3/Problem_Show.asp?id=1452很简单的二分,最开始以为是优先队列,想了想发现优先队列是有情况不能达到最优的,所以二分+贪心处理,在贪心check的 ...
- Codeforces 804E The same permutation(构造)
[题目链接] http://codeforces.com/contest/804/problem/E [题目大意] 给出一个1到n的排列,问每两个位置都进行一次交换最终排列不变是否可能, 如果可能输出 ...