执行过程 —— WEB项目启动、执行到销毁全过程总结

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所占用的资源。如关闭文件输入输出流,关闭与数据库的连接。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值