很尴尬 之前面试被问懵逼了 吓得我赶紧在回顾一下
一、还是先说最简单的Servlet的处理流程吧
基本的话有四大部分:
1.初始化阶段(调用init()方法)
一旦Servlet实例被创建,Web服务器会自动调用init(ServletConfig config)方法来初始化该Servlet。其中方法参数config中包含了Servlet的配置信息,比如初始化参数,该对象由服务器创建。配置了两个初始化参数user和blog
2.响应客户请求阶段,调用service()方法
而对于service方法,一般来说这个方法是不需要重写的,因为在HttpServlet中已经有了很好的实现,它会根据请求的方式,调用doGet,doPost以及其他的doXXXt方法,也就是说service是用来转向的,所以我们一般写一个servlet,只需要重写doGet或者doPost就可以了。servlet中service方法会自动调回的。
3.由service()方法根据提交的方式选择doGet()和doPost()
4.终止阶段(调用destory()方法实现销毁)
当Web服务器认为Servlet实例没有存在的必要了,比如应用重新装载,或服务器关闭,以及Servlet很长时间都没有