• web.xml加载过程


    1、容器读取web.xml配置文件的两个节点: <listener></listener>和<context-param></context-param>

    2、容器创建ServletContext(即application),这个上下文将被Web项目的所有部分共享

    3、<context-param></context-param>的name作为键,value作为值,键值对存入ServletContext

    4、容器创建<listener></listener>的类实例,再根据listener-class创建监听器,

    监听器的初始化方法为:contextInitialized(ServletContextEvent args),ServletContextEvent,顾名思义可知监听上下文事件,

    在启动应用时,系统会调用此方法,此方法中有:ServletContextapplication=ServletContextEvent.getServletContext();获取上下文,

    这样,我们可以通过:application.getInitParameter("context-param的键");来获取键值,并完成一些操作

    举例如下:

    如果想在项目启动之前就打开数据库,可先在<context-param>中设置数据库的连接方式(驱动、url、user、password)等,再创建类实例,创建监听器,在监听器中获取这些参数并初始化数据库的连接。

    这个监听类,除了初始化方法,它还有销毁方法,可用于关闭应用前释放资源。比如:说数据库连接的关闭,此时,调用contextDestroyed(ServletContextEvent args),关闭Web应用时,系统会调用Listener的该方法。

    5、容器读取<filter></filter>,根据指定的类路径来实例化过滤器(类似于listener)。

    以上为容器还没有完全启动时就完成的工作

    6、Servlet在第一次发起请求时被实例化。

    总的来说,web.xml的加载顺序是:<context-param>-><listener>-><filter>-><servlet>。其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载

  • 相关阅读:
    英语八大时态
    linux yum被占用
    文件上传ajaxfileupload.js插件
    jquery.qrcode.js生成二维码
    判断手机,pc方式登录
    点击小图轮播,点击显示大图
    图片预览功能
    Java Hash表 数据结构
    Java Tree 树 数据结构
    Java Queue 队列
  • 原文地址:https://www.cnblogs.com/yanze/p/10374411.html
Copyright © 2020-2023  润新知