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.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.
9.... 以上资料来自<<Head First Servlet&JSP>>
分享到:
相关推荐
web.xml中<context-param>等配置的作用 了解 web.xml 的配置信息和加载顺序对于理解框架的流程至关重要。在 web.xml 中,<context-param> 配置起着非常重要的作用,它在 web 项目启动时发挥着关键的作用。 首先,...
<param-name>paramName</param-name> <param-value>paramValue</param-value> </context-param> ``` `param-name`是参数的唯一标识,`param-value`是对应的值。`<context-param>`通常用于设置Spring框架的配置...
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </context-param> ``` 在这个例子中,`contextConfigLocation` 参数指定了Spring配置文件的位置,使得Servlet容器知道在哪里加载...
在web.xml文件中,添加了resource-ref配置:<resource-ref> <description>SQL Server Datasource</description> <res-ref-name>jdbc/DBUtil</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>...
<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>`标签定义了参数值。要从...
Spring的初始化配置通常通过`<context-param>`和`<listener>`标签来完成。`context-param`用于指定Spring上下文配置文件的位置,通常是一个或多个路径,用逗号分隔,如`classpath*:spring/spring-config.xml`。`...
<param-name>extremecomponentsResourceBundleLocation</param-name> <param-value>com.itorgan.tags.extreme.extremetableResourceBundle</param-value> </context-param> ``` 这将使得 Ectable 在 ...
<param-value>/WEB-INF/applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/...
<param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/app/service</param-value> </context-param> <!--接口管理--> <context-param> <param-name>resteasy.resources</param-name> ...
例如:<context-param><param-name>jdbcDriver</param-name><param-value>com.mysql.jdbc.Driver</param-value></context-param> 5. 过滤器(Filter) filter 元素用于指定 web 容器中的过滤器,在请求和响应对象...
param><br> <param-name>FCKDeniedExtensionsImage</param-name><br> <param-value /><br> </context-param><br><br> <servlet><br> <servlet-name>Connector</servlet-name><br> <servlet-class><br> ...
<param-value>default.context</param-value> </context-param> ``` 5. **log4jConfigLocation**:指定日志配置文件的位置。 ```xml <context-param> <param-name>log4jConfigLocation</param-name> <param...
<param-name>logbackConfigLocation</param-name> <param-value>/WEB-INF/conf/logback.xml</param-value> </context-param> <listener> <listener-class>ch.qos.logback.ext.spring.web....
在 SSH 项目中,我们可以在 web.xml 文件中添加一段配置:<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext-*.xml</param-value> </context-param> ...
-- 配置Spring的ContextLoaderListener加载的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!...
<param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext-*.xml,/WEB-INF/action-servlet.xml </param-value> </context-param> <context-param> <param-name>log4...