Servlet容器理解(生命周期、servletContext作用域、servlet装载方式)
servlet 流程及生命周期( 文字说明):
1、当请求访问服务器的时候,服务器通过xml 配置文件找到对应的serlvet 类
2、如果是通过自动装载就在服务器启动时调用对应的servlet 中的init 方法,否则就在请求访问服务器的时候初始化
3、服务器根据web.xml 配置的servlet 映射,找到处理请求对应的类进行处理
4、servlet 根据请求的方式调用doGet/doPost方法
5、如果服务器停止则调用destroy方法销毁。
其中 init 方法,destory 方法只执行一次
![](https://images2018.cnblogs.com/blog/999591/201807/999591-20180708175115967-2129844109.png)
tomcat 装载servlet 的三种方式说明:
servletContext 说明:
//tomcat容器装载servlet,当服务器启动的时候会为servlet 创建一个servletContext 作用域 //此作用域为全局的,后期通过这个作用于理解springContext 作用域 //通过当前Servlet类的对象,得到与它关联的ServletContext对象,也就是上下文 ServletContext application = this.getServletContext(); //HttpSession(私有区域) 与 ServletContext(公共区域) 的区别是什么? 1、作用范围不同:HttpSession是针对每一个客户端浏览器单独有一个。 ServletContext是针对每一个WEB应用程序有一个 2、存活时间不同:HttpSession第一次访问服务器,服务器端调用request.getSession()时创建,访问间隔时间超过30分钟就销毁。 ServletContext服务器启动时创建,服务器停止时销毁。