执行过程 —— WEB项目启动、执行到销毁全过程总结
来源:互联网 发布:oracle数据库添加字段 编辑:程序博客网 时间:2024/06/16 16:26
Step 1 —— 读取配置信息
启动WEB项目时,容器(如Tomcat)会去读配置文件(web.xml)中的<listener/>和<context-param/>两个标签;
Step 2 —— 创建监听类
由容器创建<listener/>监听类实例,用于监听ServletContext、HttpSession的生命周期及属性变更;
Step 3 —— 创建上下文
由容器创建ServletContext(上下文)实例, 这时监听类实例会调用其contextInitialized(ServletContextEvent args)方法,并传入原先读取的<context-param/>键值对,在该方法中可以读取、操作ServletContext键值对(注意:这时WEB项目未完全启动完成,修改键值对等动作会比所有的Servlet都要早)
ServletContext = ServletContextEvent.getServletContext();
Value = ServletContext.getInitParameter(Key);
Step 4 —— 创建Servlet
容器调用继承HttpServlet接口的类的构造方法创建Servlet
Step 5 —— 创建ServletConfig
容器创建ServletConfig对象(其中包含Servlet的初始化配置信息),并将ServletConfig对象与ServletContext对象关联。
Step 6 —— 初始化Servlet
容器调用Servlet对象的初始化init(ServletConfig config)方法,并传入ServletConfig参数初始化Servlet。
Step 7 —— 接受请求
当容器接到Servlet请求时,容器会创建ServletRequest和ServletResponse对象,然后调用service(HttpServletRequest,HttpServletResponse)方法,并传入参数。
Step 8 —— 响应请求
Service()方法通过ServletRequest对象获得请求信息,并处理该请求,再通过ServletResponse对象生成响应结果。
注:当Servlet容器把Servlet生成的响应结果发送给客户后,servlet容器会销毁ServletRequest和SevletResponse对象。
Step 9 —— 销毁Servlet
当Web应用被终止时,Servlet容器会先调用Web应用中所有的Servlet对象的destroy()方法,然后在销毁Servlet对象。此外容器还会销毁与Servlet对象关联的ServletConfig对象。在destroy()方法的实现中,可以释放servlet所占用的资源。如关闭文件输入输出流,关闭与数据库的连接。
- 执行过程 —— WEB项目启动、执行到销毁全过程总结
- web项目启动时,执行某个方法
- web项目启动时,执行某个方法
- web项目启动完成执行某个方法
- Java Web项目启动执行顺序
- 5.Web Service 执行过程的总结
- ios5 app启动过程中执行到过程分析
- ios6 app启动过程中执行到过程分析
- web项目简单的项目启动时执行定时任务
- 执行能力--启动项目
- 执行存储过程总结
- MapReduce执行过程总结
- 在web项目启动时,执行某个方法
- 在web项目启动时,执行某个方法
- 在web项目启动时,执行某个方法
- 在web项目启动时,执行某个方法
- 210_loader_nandboot启动执行过程
- MFC函数启动执行过程
- Runtime-动态创建类添加属性和方法
- 快速排序
- Leetcode #60. Permutation Sequence 排列组合序列 解题报告
- 【VPS】尊云服务器怎么样我来评论
- BestCoder Round #82 ztr loves mat
- 执行过程 —— WEB项目启动、执行到销毁全过程总结
- 专题三 第五题
- iOS分类中通过runtime添加动态属性
- Horspool(字符串匹配)算法
- Unity Official Tutorial OF PICKING UP COLLECTABLES --- Player Movement & Collision Detection
- 33. Implement strStr()
- Maven的使用方法
- 认真郭浩每一天
- c++ Bitsets