JavaWeb:Request和Response
导读:JavaWeb,小编为你介绍JavaWeb的IT知识,一起来看看吧! 1、Request和Response的概述 Request是请求对象,Response是响应对象。 request:获取请求数据 浏览器会发送HTTP请求到后台服务器Tom
JavaWeb
小编为你介绍JavaWeb的IT知识,一起来看看吧!
1、Request和Response的概述
Request是请求对象,Response是响应对象。

- request:获取请求数据
- 浏览器会发送HTTP请求到后台服务器Tomcat
- HTTP的请求中会包含很多请求数据请求行+请求头+请求体
- 后台服务器Tomcat会对HTTP请求中的数据进行解析并把解析结果存入到一个对象中
- 所存入的对象即为request对象,所以我们可以从request对象中获取请求的相关参数
- 获取到数据后就可以继续后续的业务,比如获取用户名和密码就可以实现登录操作的相关业务
- response:设置响应数据
- 业务处理完后,后台就需要给前端返回业务处理的结果即响应数据
- 把响应数据封装到response对象中
- 后台服务器Tomcat会解析response对象,按照响应行+响应头+响应体格式拼接结果
- 浏览器最终解析结果,把内容展示在浏览器给用户浏览
2、Request继承体系
首先,我们先来看下Request的继承体系:

从上图中可以看出,ServletRequest和HttpServletRequest都是Java提供的所以ServletRequest和HttpServletRequest是继承关系,并且两个都是接口,接口是无法创建对象,这个时候就引发了下面这个问题:

这个时候,我们就需要用到Request继承体系中的RequestFacade:
- 该类实现了HttpServletRequest接口,也间接实现了ServletRequest接口。
- Servlet类中的service方法、doGet方法或者是doPost方法最终都是由Web服务器来调用的,所以Tomcat提供了方法参数接口的具体实现类,并完成了对象的创建
3、Request获取请求数据
HTTP请求数据总共分为三部分内容,分别是请求行、请求头、请求体,对于这三部分内容的数据,分别该如何获取?
3.1、获取请求行数据
| 方法 | 说明 |
|---|---|
| String getMethod() | 获取请求方式 |
| String getContextPath() | 获取虚拟目录(项目访问路径) |
| StringBuffer getRequestURL() | 获取URL(统一资源定位符) |
| String getQueryString() | 获取请求参数(GET方式) |
| String getRequestURI() | 获取URI(统一资源标识符) |
==代码演示:==
前端页面
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<h2>GET方式提交</h2>
<form action="req02" method="get">
用户名:<input type="text" name="username"><br/>
密 码:<input type="password" name="password"><br/>
<input type="checkbox" name="hobby" value="1"> 游泳
<input type="checkbox" name="hobby" value="2"> 爬山 <br>
<input type="submit" value="登录">
</form>
</body>
</html>
后端代码
@WebServlet(value = "/req02")
public class request01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// String getMethod()获取请求方式
String method = request.getMethod();
System.out.println(method);
//String getContextPath()获取虚拟目录(项目访问路径)
String contextPath = request.getContextPath();
System.out.println(contextPath);
//StringBuffer getRequestURL()获取URL(统一资源定位符)
StringBuffer requestURL = request.getRequestURL();
System.out.println(requestURL);
//String getRequestURI()获取URI(统一资源标识符)
String requestURI = request.getRequestURI();
System.out.println(requestURI);
//String getQueryString()获取请求参数(GET方式)
String queryString = request.getQueryString();
System.out.println(queryString);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
}
}
3.2、获取请求头
对于请求头的数据,格式为key: value如下:
相关阅读
-
dns服务器未响应怎么修复 分享dns未响应最简单的修复办法
今天为大家介绍dns服务器未响应怎么修复和分享dns未响应最简单的修复办法的教程内容,继续往下看吧! 很多人在浏览网页时,经常会遇到DNS服务器未响应的情况,那么什么是DNS服务器?DNS未
-
个人网站备案流程 工信部个人网站备案过程讲解
您可能不了解个人网站备案流程和工信部个人网站备案过程讲解的IT小经验,继续往下看吧! 嗨,大家好,我是希留。 前面文章介绍了下使用https访问网站的相关配置,然后发现访问https时灵时
-
HTTP状态码深入解析:401 Unauthorized
为大家介绍HTTP状态码深入解析的教程内容,接下来一起来看看吧。 在互联网通信中,HTTP状态码是用来表示服务器响应的一种方式。 当我们在浏览器中访问网页时,服务器会返回一个状态码,
-
什么是跨站脚本 XSS攻击?
为网友解答什么是跨站脚本的相关话题,下面为详细的介绍。 跨站脚本(Cross-Site Scripting,XSS)是一种常见的网络安全漏洞,攻击者利用该漏洞在受害者的网页中插入恶意脚本,从而能够获取


