学习servlet——servlet生命周期

  上一节介绍了tomcat的体系结构,这节主要介绍一下servlet的生命周期,即servlet从创建到销毁的过程。

  servlet,简单的说就是java接口,和J2SE中标准接口差不多,只不过servlet是用来开发动态web应用的。

  servlet的实现方式共用三种:

 (1)一种是实现servlet接口,这是最原始的,但是通过此,可以对servlet的生命周期理解的最深刻

 (2)继承GenericServlet抽象类,该抽象类实现了servlet接口,相当于对servlet进行了一些封装。

 (3)继承HttpServlet类,该类继承了GenericServlet类,又是对GenericServlet的一层封装,一般都是通过该方式实现servlet。


  下面通过介绍第一种方式来理解servlet生命周期。

   通过查阅servlet 的api,可以发现需要实现以下几个方法:

  

  主要需要实现的是destroy、init、service函数。

  从字面意思就可以理解:

  (1)init方法的主要作用是初始化,将servlet类加载进内存,并创建一个servlet对象,该方法只被调用一次

  (2)service方法主要提供服务,我们的业务逻辑就是写在里面。没当有请求时,该方法都会被调用一次。

  (3)destroy方法的作用是销毁servlet对象,该方法也只被调用一次。


   那上述方法到底是谁在调用?

   tomcat服务器是分模块的,主要分为web服务器模块、jsp容器模块、servlet容器模块。web服务器模块就是上述说的调用者。web服务器的主要作用是接收客户端发来的http请求,寻找合适的jsp或者servlet处理,然后接收jsp和servlet的处理结果,以html的形式发回给客户端。

    下面详细讲解一下上述过程,从中理解servlet的生命周期。


   (1)web服务器从客户端接收到http请求之后,先查看内存中是否已经存在所请求的servlet对象,如果没有,则执行(2),否则执行(3)

   (2)web服务器调用servlet类的init方法,将servlet加载到内存,同时生成一个servlet对象,有且仅有一个servlet对象对外服务,采用的创建模式是单例模式

   (3)web服务器将http请求封装成ServletRequest对象,同时也生成一个ServletResponse对象,将这两个对象作为参数调用service方法。只要有一个请求,该方法就会被调用一次。

   (4)当项目需要reload或者tomcat重启或者关机时,servlet对象都会被销毁,此时会调用destroy方法,该方法只会被调用一次。

    综上:servlet的生命开始于第一次请求、service方法会被多次调用、结束于reload或者tomcat重启等情况。


    以上就是介绍了servlet的生命周期,下一节介绍一下如何在myeclipse中开发、发布servlet。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值