在web.xml中,<context-param>标签的作用是什么?
2016-03-16 18:14
387 查看
今天看见一个Java项目的web.xml里面有使用<context-param>标签,于是百度了一下。将搜到的解决记录在这里,方便以后查看。
1.启动一个web项目的时候,容器(如:tomcat)会去读它的配置文件web.xml。读两个节点:<listener></listener>和<context-param></context-param>
2.紧接着,容器创建一个ServletContext(上下文),这个web项目所有部分都将共享这个上下文。
3.容器将<context-param></context-param>转化为键值对,并交给ServletContext。
4.容器创建<listener></listener>中的类实例,即创建监听。
5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext=ServletContextEvent.getServletContext();
context-param的值=ServletContext.getInitParameter("context-param的键");
6.得到这个context-param的值之后,你就可以做一些操作了。注意,这个时候你的web项目还没有完全启动完成,这个动作比所有的Servlet都要早。
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的web项目完全启动之前被执行。
7.举例,你可能想在项目启动之前就打开数据库。那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接。
8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法。用于关闭应用前期释放资源。比如说连接数据连接的关闭。
以上是我百度到的信息。记录在这里。以后再深化。
1.启动一个web项目的时候,容器(如:tomcat)会去读它的配置文件web.xml。读两个节点:<listener></listener>和<context-param></context-param>
2.紧接着,容器创建一个ServletContext(上下文),这个web项目所有部分都将共享这个上下文。
3.容器将<context-param></context-param>转化为键值对,并交给ServletContext。
4.容器创建<listener></listener>中的类实例,即创建监听。
5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext=ServletContextEvent.getServletContext();
context-param的值=ServletContext.getInitParameter("context-param的键");
6.得到这个context-param的值之后,你就可以做一些操作了。注意,这个时候你的web项目还没有完全启动完成,这个动作比所有的Servlet都要早。
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的web项目完全启动之前被执行。
7.举例,你可能想在项目启动之前就打开数据库。那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接。
8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法。用于关闭应用前期释放资源。比如说连接数据连接的关闭。
以上是我百度到的信息。记录在这里。以后再深化。
相关文章推荐
- iOS开发zhiATM机的设计与实现
- Drainage Ditches--hdu1532(网络流 模板)
- linux中标准输出相关
- Mvc中DropDownList 和DropDownListFor的常用方法
- C++ 学习之路(7):共享数据的保护
- CDN的cache节点(http)结构及工作原理总结(图自画)
- 【抄】更改eclipse配置
- C++内存泄露
- js颜色拾取器
- 《Linux内核分析》第四周学习笔记
- 【抄】更改eclipse配置
- Math的常用方法(用于操作数字)
- PAT1039到底买不买(20)
- 使用设计模式中的Singleton单例模式来开发iOS应用程序
- 用cout输出指定位数小数方法
- jstorm源码之TridentTopology
- 练习1-a
- 关于MotionEvent的小知识
- 异步处理工具类:AsyncTask
- 如何导出内存镜像