web.xml文件中配置<context-param>和<init-param>的区别
来源:互联网 发布:react.js中文 编辑:程序博客网 时间:2024/05/29 13:16
web工程大多都需要配置web.xml文件,web.xml文件主要用来配置Listener、Filter、Servlet等。web.xml文件包括xml文件头,DOCTYPE声明,web-app元素。
web.xml的加载过程(引用)
在web-app元素内,元素的配置顺序与工程的加载顺序无关,web.xml的加载过程为:
- 启动一个web项目,web容器(如tomcat)读取web.xml文件,读取其中的配置信息
- 容器创建一个servlet上下文(servletContext),这个web项目所有部分共享这个上下文
- 容器将<context-param>转换为键值对,交给servletContext
- 容器创建<listener>中的监听器实例
- 触发contextInitialized方法,listener被调用(当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法contextInitialized;contextDestroyed,web.xml有contextLoaderListener监听器,spring等框架实现了本监听器的接口方法)
- 调用完contextInitialized方法后,容器再对filter初始化
- 容器对web.xml中的指定load-on-startup的值为正数Servlet初始化(优先级1,2,3...->递减),负数或不指定则在该Servlet调用时初始化(springMVC的初始化为此阶段
结论:web.xml 的加载顺序:
ServletContext -> context-param(无顺序)-> listener(无顺序)-> filter(书写顺序) -> servlet(load-on-startup优先级)
web.xml文件中配置<context-param>和<init-param>的区别
<context-param>和<init-param>都是上下文参数,但它们的范围和使用方式不同。
<context-param>是application范围内的初始化参数,用于向servlet-context提供键值对,即应用程序的上下文信息,listener、filter等初始化时会用到这些信息
<init-param>是servlet范围内的参数,只能在servlet类的init()方法中取得
具体使用方法如下:
<context-param> <param-name>context/param</param-name> <param-value>avalible during application</param-value> </context-param>
<servlet> <servlet-name>MainServlet</servlet-name> <servlet-class>com.wes.controller.MainServlet</servlet-class> <init-param> <param-name>param1</param-name> <param-value>avalible in servlet init()</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet>public class MainServlet extends HttpServlet { public MainServlet() { super(); } public void init() throws ServletException { System.out.println(this.getInitParameter("param1")); System.out.println(getServletContext().getInitParameter("context/param")); } }
阅读全文
0 0
- web.xml文件中配置<context-param>和<init-param>的区别
- web.xml配置参数context-param和init-param的区别
- web.xml文件中context-param与init-param的区别
- web.xml之<context-param>与<init-param>的区别
- Servlet配置web.xml中的context-param和init-param区别
- context-param和init-param的区别
- context-param和init-param的区别
- Init-param和Context-param的区别
- servlet中配置文件web.xml中的参数context-param和init-param区别
- web.xml的配置中<context-param>与<init-param>配置作用
- web.xml中<context-param>的作用,及与init-param区别
- JAVA基础(二) web.xml中<context-param>与<init-param>的区别与作用
- web.xml中<context-param>与<init-param>的区别与作用
- web.xml中在Servlet中获取context-param和init-param内的参数
- 解析web.xml中在Servlet中获取context-param和init-param内的参数
- web.xml中在Servlet中获取context-param和init-param内的参数
- web.xml中在Servlet中获取context-param和init-param内的参数
- web.xml中在Servlet中获取context-param和init-param内的参数
- 2017-06-02对数据类型的认识
- 4种方法让SpringMVC接收多个对象
- 关于字符串的截取
- string的subString方法
- 哈夫曼树的绘制----by yypClever
- web.xml文件中配置<context-param>和<init-param>的区别
- 关于Spring的定时任务
- Android Studio JNI学习之(3)-使用SWIG自动生成Jni代码
- redis学习系列之——介绍篇
- 【Kubernetes】最佳实践2:获取容器应用日志
- MFC创建新Excel文档并设置其中的格式和字体+底纹(OLE/COM)
- POI导出Excel文件
- Codeforces 812C Sagheer and Nubian Market【二分】水题
- 性能测试工具操作数据库(十)-Loadrunner与Redis