Servlet本质
Servlet本身是一个接口。
浏览器和web服务器的规范是http,webapp开发团队和数据库服务之间的协议是JDBC,类似的,web服务器和webapp之间的规范就包括Servlet。
因为遵循了这一套规范,所以这个webapp就可以放在不同的web服务器上运行,实现解耦合。
tomcat服务器通过用户访问的路径,定位到具体的xxxServlet(程序员自己写的继承的Servlet类),执行相关操作,这一定位的过程是通过解析配置文件来完成的(比如在xml文件中注册,或者使用注解@WebServlet)。
sun公司制定了Servlet规范,服务器遵循、实现了这个规范,作为webapp程序员,我们只需要做两件事:1.编写一个类实现Servlet接口 2.将用户的请求路径与类名关系起来
Servlet生命周期
Servlet接口分为5个阶段来执行:
1.xml文件对Servlet进行了声明,并绑定了url,tomcat启动时会自动扫描xml文件,从而解析Servlet。
2.当用户第一次访问url时,tomcat才会创建与url相应的Servlet对象,执行构造函数
3.执行init方法,进行初始化操作
4.执行service,doget,dopost等提供服务的方法
5.最后服务器关闭前时,执行destroy方法
一个xxxServlet对象的生命周期是由tomcat服务器全权执行的。
只有用户第一次访问时,会创建url对应的Servlet对象并调用init方法,此后再进行访问,只会调用其service等提供服务的方法,直至服务器关闭。