1,Request和Response的概述
Request
是请求对象,
Response
是响应对象。
![](https://i-blog.csdnimg.cn/blog_migrate/ffcb9dc00f3a25153db0b0332e88b4a3.png)
在使用Servlet可以看到这两个入参
request: 获取 请求数据
- 浏览器会发送HTTP请求到后台服务器[Tomcat]
- HTTP的请求中会包含很多请求数据[请求行+请求头+请求体]
- 后台服务器[Tomcat]会对HTTP请求中的数据进行解析并把解析结果存入到一个对象中
- 所存入的对象即为request对象,所以我们可以从request对象中获取请求的相关参数
- 获取到数据后就可以继续后续的业务,比如获取用户名和密码就可以实现登录操作的相关业务
response: 设置 响应数据
- 业务处理完后,后台就需要给前端返回业务处理的结果即响应数据
- 把响应数据封装到response对象中
- 后台服务器[Tomcat]会解析response对象,按照[响应行+响应头+响应体]格式拼接结果
- 浏览器最终解析结果,把内容展示在浏览器给用户浏览
@WebServlet("/demo3") public class ServletDemo3 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //使用request对象 获取请求数据 String name = request.getParameter("name");//url?name=zhangsan //使用response对象 设置响应数据 response.setHeader("content-type", "text/html;charset=utf-8"); response.getWriter().write("<h1>" + name + ",欢迎您!</h1>"); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Post..."); } }
运行输出如下:
2.Request对象
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println(servletRequest); System.out.println(servletResponse); }
org.apache.catalina.connector.RequestFacade@67766b24
org.apache.catalina.connector.ResponseFacade@316fec72 <