servlet调用过程

servlet 的调用过程

 

 1、浏览器地址栏输入一个地址会发送http请求到服务器。
 2、在服务器端收到请求后通过DNS解析器解析域名成为IP地址,找到对应的服务器。
 3、然后在请求头Host中确定请求的是当前虚拟主机。
 4、通过请求资源路径确定请求的是当前的web应用的当前web资源。
 5、再通过web.xml配置文件中的<servlet>标签,<servlet-mapping>标签下的<url-pattern>标签,找到对应<servlet-name>一致的<servlet-class>标签中的路径,即可锁定具体的servlet。
 6、如果是首次访问当前servlet,则会调用init()方法先实例化,然后服务器会创建出HttpServletRequest和HttpServletResponse对象,并将两个对象当做参数传入调用的service()方法,service方法中会根据请求的具体内容将响应内容写入响应对象,响应对象会作为返回值返回给服务器。
 7、服务器获取到响应对象身上的实体内容之后会将这些数据组织成一定的数据结构,通过response缓冲区发送http响应给客户端。
 
另外,Http Servlet Request和Http Servlet Response是接口,为什么可以创建对象?
答:因为这两个接口下面还有各自的子实现类,Http Servlet Request Wrapper和Http Servlet Response Wrapper,这两个子实现类才是真正创建对象的类,而不是直接通过接口创建的对象。
 
图示如下:
 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值