今天看见一个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.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法。用于关闭应用前期释放资源。比如说连接数据连接的关闭。

以上是我百度到的信息。记录在这里。以后再深化。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐