Java Web之request和response原理-2

在这里插入图片描述

Request和Response原理

先看代码

@WebServlet("/demo")
public class ServletDemo implements Servlet{
	@Override 
	public void service(ServletRequest request,ServletResponse response){
		System.out.println("Servlet 3.0...问世");
	}
}

这是一段简单的Servlet的代码

当通过浏览器访问的时候,会在控制台打印service方法中的这句话 http://localhost:8080/demo

执行原理

  1. tomcat服务器会根据请求中的url的资源路径,创建对应的ServletDemo 对象
  2. tomcat服务器,会创建request和response对象,request对象中封装请求消息数据
  3. tomcat将request和response两个对象传递给service方法,并且调用service方法
  4. 在方法内部可以通过request对象获取请求消息数据,response对象设置响应消息数据
  5. 服务器再给浏览器做出响应之前,会从response对象中拿程序员设置的响应消息数据

注意

  • request和response对象均由服务器创建的,我们是来使用的
  • request对象是来获取请求消息,response对象是来设置响应消息

在这里插入图片描述
上图就是浏览器发送给服务器的一些参数和属性…

Request和Response的继承体系结构

  1. 当我们打印request对象时,出现的是org.apache.catalina.RequestFacade@74cb396c
@WebServlet("/demo")
public class ServletDemo implements Servlet{
	@Override 
	public void service(ServletRequest request,ServletResponse response){
		System.out.println(request);
	}
}
  1. tomcat实现了apache提供的RequestFacade的这个类,并创建其对象(这是Tomcat源码包)

在这里插入图片描述

  1. ServletRequest是一个接口,它被HttpServletRequest接口继承,而我们的核心类RequestFacade又实现了HttpServletRequest
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值