七 servlet工作原理

12 篇文章 0 订阅

在开始解释servlet是如何工作之前,让我们了解三个术语。

Web Server: 它可以处理客户端发送的请求,使用Http Response响应该请求。

Web Application(webapp): 在本质南中,我将其称之为webapp,基本上这个工程就是你的web应用,是servlet的集合。

Web Container: 也被称为Servlet容器或者Servlet引擎。它是Web Server的一部分,与servlet交互。是管理servlet生命周期的Web Server主要组剑。

 

你将发现此指导中的一部分早已经在servlet lift cycle 指导中了。然而,本知道聚焦于servlet应用(webapp)的工作原理而不是它的生命周期。我强烈建议你读此知道来了解servlet到底如何工作的。

 

Servlet如何工作的?

1) 当web服务器(例如tomcat)开启,servlet容器部署并装载所有的servlet。在这一步,Servlet容器创建ServletContent对象。ServletContext对象是一个接口,定义了很多与servlet容器交互的方法。

 

注意:

在每个webapp中只有一个ServletContext,它对于所有的servletl是公用的。ServletContext有几个有用的方法,例如addListener(),addFilter()等。现在我不解释这些方法,在接下来的关于ServletContext独立章节再详细阐述它们。

 

2) 一旦servlet被载入,servlet容器创建这些servlet类的实例。对于每个servlet,它的init()方法被调用。

 

3) 客户端(用户的浏览器)发送Http请求到web server通过某个端口。web server每受到一个请求,servlet容器创建HttpServletRequest 和 HttpServletResponse 对象。HttpServletREquest对象提供了对请求信息的访问,HttpServletResponse对象允许我们在将http响应发送到客户机之前对其进行格式化和更改

 

对于每一个客户端请求servlet容器生成一个新的线程调用service()方法。service()方法分发基于请求类性分发请求到对应的请求方法上。

 

例如,如果服务器接收到一个Get请求,service()通过调用doGet()方法分发该请求到doGet()方法上。Post,Head,Put等请求也是类似这样通过service()方法分发到对应的doPost(),doHead(),doPut()方法上。

[image]()

 

 

4) 当servlet容器关闭,卸载所有的servlet并调用每个被初始化的servlet的destory()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值