1.启动一个web项目的时候,容器(如tomcat)会去读它的配置文件web.xml,读两个节点:<listener></listener>和<context-param></context-param>;
2.紧接着,容器创建一个ServletContext,这个项目的所有部分都将共享这个上下文;
3.容器将<context-param></context-param>转化为键值对,并交给ServletContext;
4.容器创建<listener></listener>中的监听类实例
5.在监听类中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得:
Java代码
ServletContext = ServletContextEvent.getServletContext();
context-param的值 = ServletContext.getInitParameter("context-param的键");
6.得到这个context-param的值 后,就可以做一些操作了。注意这个时候web项目还没有完全启动完成,这个动作会比所有的servlet都早。换句话说,这个时候对context-param中的键值做的操作将在web项目完全启动完成之前被执行。例如,想在项目启动之前就打开数据库链接,那么就可以在这里的<context-param></context-param>中设置数据库的链接方式,在监听类中初始化数据库的链接。这个监听类是自己写的一个类,除了初始化方法,还有销毁方法用于关闭应用前释放资源,比如数据库链接的关闭
分享到:
相关推荐
web.xml中<context-param>等配置的作用 了解 web.xml 的配置信息和加载顺序对于理解框架的流程至关重要。在 web.xml 中,<context-param> 配置起着非常重要的作用,它在 web 项目启动时发挥着关键的作用。 首先,...
首先,`<context-param>`是定义在Web应用程序的部署描述符(web.xml)中的全局参数。这些参数是针对整个Web应用程序的,可以看作是应用程序级别的配置。`<context-param>`的格式如下: ```xml <context-param> ...
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </context-param> ``` 在这个例子中,`contextConfigLocation` 参数指定了Spring配置文件的位置,使得Servlet容器知道在哪里加载...
<param-name>casServerUrlPrefix</param-name> <param-value>http://gis.hayao.com/hayao_cas2</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>...
例如:<context-param><param-name>jdbcDriver</param-name><param-value>com.mysql.jdbc.Driver</param-value></context-param> 5. 过滤器(Filter) filter 元素用于指定 web 容器中的过滤器,在请求和响应对象...
<description>A simple Java web application.</description> <!-- 配置环境参数 --> <context-param> <param-name>db.url</param-name> <param-value>jdbc:mysql://localhost:3306/mydb</param-value> </...
在WEB-INF中的web.xml文件中,添加以下配置:<Context docBase="MyStruts" path="/MyStruts" reloadable="true">...</Context>。其中,docBase指定了文档基础目录,path指定了Context的路径,reloadable指定了是否...
<param-name>encoding</param-name> <param-value>UTF-8</param-value> </context-param> ``` #### <filter> - **作用**:定义过滤器,用于拦截请求和响应,执行预处理或后处理操作。 - **示例**: ```xml ...
<param-value>/WEB-INF/spring-config.xml</param-value> </context-param> <!-- 备注:此所设定的参数,在JSP网页中可以使用下列方法来取得:${initParam.param_name} 若在Servlet可以使用下列方法来获得:...
<param-name>context/param</param-name> <param-value>avalible during application</param-value> </context-param> ``` 在这里,`<param-name>`标签定义了参数名,`<param-value>`标签定义了参数值。要从...
<param-name>maxFileSize</param-name> <param-value>5000000</param-value> </context-param> ``` 4. **`<filter>`** - **作用**:定义一个过滤器,它可以拦截用户请求,在请求到达目标资源前执行某些操作。...
<param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> ``` 上述代码中,通过`ContextLoaderListener`加载了一个名为`applicationContext.xml`的配置文件,该文件包含了所有Spring Bean的...
`web.xml`文件主要由两部分组成:`<web-app>`元素内的全局配置和`<servlet>`、`<servlet-mapping>`、`<filter>`、`<filter-mapping>`、`<listener>`等元素定义的特定组件配置。 ```xml <web-app> <!-- 全局配置 --...
<param-value>30</param-value> </init-param> </servlet> ``` #### 10. `servlet-mapping`元素 `servlet-mapping`元素用于将Servlet映射到特定的URL路径。DTD定义如下: ```xml <!ELEMENT servlet-mapping ...
<description>A simple web application example.</description> <icon> <small-icon>/images/small-icon.png</small-icon> <large-icon>/images/large-icon.png</large-icon> </icon> <context-param> ...
<param-value>myValue</param-value> </init-param> </servlet> ``` #### 4. 禁止激活器servlet 某些情况下,可能需要禁止特定的激活器servlet,以防止它们被自动注册。这可以通过在`servlet`元素中添加适当的...
<param-value>myValue</param-value> </context-param> ``` 4. **`filter`元素** - 定义过滤器。 ```xml <filter> <filter-name>myFilter</filter-name> <filter-class>com.example.MyFilter</filter-class...
<param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 在上面的...