5.servlet----->生命周期,实现servlet接口方式,工作时序

上一篇文章介绍了以实现servlet接口方式开发一个servlet。该种方式现在已经不使用,但是对我们理解servlet生命周期很有帮助。先贴一段代码:

&&&&&&注意:其中的toLocaleString()方法已经过时。改为:DateFormat.getDateTimeInstance().format(new Date())

同时要引入import java.text.DateFormat;

还要注意这个类应该是public的


在service方法中编写业务逻辑代码。上一篇文章已经提到要在相应的web应用的web.xml文件进行servlet配置。那么,如何配置呢?

在web.xml的web-app节点内添加代码:

此时在浏览器地址栏中输入:http://localhost:8080/hspWeb1/MyFirstServlet

网页上就会显示出相应的字符串和当前的时间。

tomcat根据web.xml中的servlet映射找到url-pattern对应的servlet-name后,再去servlet节点中找到匹配一致的servlet-name,然后去执行对应的servlet-class。

我们来简述一下servlet的生命周期(工作时序):

详细:

(1)我们输入网址,例如:http://localhost:8080/hspWeb1/MyFirstServlet

(2)浏览器解析主机名:首先查看本地C:\Windows\System32\drivers\etc的hosts文件,如果在hosts文件乜有查询到,到DNS查询

(3)查到后,尝试连接web服务器,如果没有查到,报错

(4)连接好后,浏览器向web服务器发出http请求(里面有很多参数,例如请求方式是GET还是POST,请求什么资源等等)

(5)web服务器收到请求后依次解析主机,解析web应用,解析资源名

(6)解析完毕后去相应的web站点的web.xml查询MyFirstServlet在哪个包下

(7)查到后,使用反射机制,常见实例调用init方法将该实例装载到内存中。

【接下来就是servlet的生命周期过程】

(1)当servlet第一次被调用的时候,会触发init()方法,该方法会把servlet的实例加载到内存,该方法只会被调用一次。

(2)web服务器把接收到的http请求封装成Request对象,作为service的参数传入,调用servlet的service()方法

(3)第二次及以后访问该servlet就直接调用service()方法,不会再去调用init()方法

(4)当tomcat服务器将该web应用reload(在localhost:8080页面中点击manage)或者关闭都会去调用destroy()方法



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值