serlvet的简单理解

servlet运行在servlet容器中,它的生命周期由容器来管理。其生命周期分为四个阶段:

一:实例化

当servlet容器启动时或者是检测到有相应的servlet请求时,创建servlet实例。创建时需要知道servlet的位置信息。因为容器是通过java反射API来创建servlet实例,即调用的是servlet的默认构造函数,所以在编写servlet时,不应该提供带参数的构造函数。

二:初始化

在第一步实例化结束之后,容器将调用servlet的init()方法初始化该servlet对象,目的是让servlet在处理相应的请求之前做一些初始化工作,诸如建立数据库连接,获取配置信息(web.xml的内容)等。对于每个serlvet实例,init()方法只调用一次,在初始化期间,serlvet实例可以使用容器为其准备的servletConfig对象去获取web应用程序的配置信息,即在web.xml文件中设置的参数信息,这样就可以将相应的配置参数保存起来,以供后续方便的使用。

三:请求处理

servlet容器调用servlet的service()方法来对客户端的请求进行处理。在service()方法中,通过servletRequest对象得到客户端的相关信息和请求信息,对请求进行处理之后,通过servletResponse对象方法设置响应信息,对于httpServlet这个类来说,service()方法作为http请求的分发器,这个方法在任何时候都不能重载。当请求到来的时候,service()方法决定请求类型,并把请求分发给相应的处理方法。当你收到一个http请求而没用重载相应的方法时,就会返回一个说明此方法对本地资源不可以的标准http错误。

四:销毁

当容器检测到一个serlvet应该从服务中删除时,容器就会调用实例的destroy()方法,以便让该实例释放它所使用的资源,保存数据到持久存储设备。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值