servlet的本质是什么,它是如何工作的?

        浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理,Servlet的本质是一个Java对象,这个对象拥有一系列的方法来处理HTTP请求。常见的方法有doGet(),doPost()等。Web容器中包含了多个Servlet,特定的HTTP请求该由哪一个Servlet来处理是由Web容器中的web.xml来决定的。


也可以说 servlet的本质是接口,tomcat服务器上的一个对外接口


servlet中的主要方法:
init():servlet的初始化方法,仅仅执行一次;
service(): 处理请求和生成响应;
destroy(): 在服务器停止并且程序中的Servlet对象不再使用的
时候调用,只执行一次;

生命周期:
实例化 Servlet--》当Servlet容器启动或者容器检测到客户端请求时;
初始化 Servlet--》实例化后,容器调用Servlet的init()初始化对象;
处理请求 Servlet--》得到客户端请求并做出处理时;
销毁 Servlet--》当程序中的Servlet对象不再使用的时候,或者Web服务器停止运行的时候


servlet就是个类啊,可以把先它看成一个普通的类。
        这个类最开始由容器比如tomcat加载并实例化。在加载并实例化之后、初始化之前这货就是个普通的类对象,之后容器会调用它的init方法并把servletconfig对象作为参数传给它,然后这个时候这货就变成一个名副其实的servlet了,然后才有资格接受浏览器的请求。然后如果是在mvc模式下,就作为控制器运行咯,进行逻辑运算。


Servlet工作流程分为三个阶段。init(初始化),service(运行),destroy(销毁)Servlet没有main方法,所有行为由Container控制。Container就是一个java程序。在加载Servlet的.class后,Servlet会由构造函数生成一个实例,然后Container调用init()方法完成参数的初始化,接着调用service()方法,service会根据网页的请求,调用doGet或者doPost方法,最后调用销毁方法。


整理来自知乎:https://www.zhihu.com/question/21416727
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值