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 项目启动时发挥着关键的作用。 首先,让我们来了解一下 web 项目的启动过程。在启动一个 web 项目时,容器(如 Tomcat)会去读它的配置文件 web....
在Java Web开发中,`<context-param>`和`<init-param>`是两种常见的配置元素,它们都用于传递参数,但作用范围和应用场景有所不同。本文将详细介绍两者之间的区别以及它们在实际开发中的应用。 首先,`<context-...
在Spring框架中,`<context-param>` 和 `<init-param>` 是两种不同的参数配置方式,它们在Web应用的初始化阶段起着关键作用。了解这两者的区别是优化和理解Spring应用程序运行时行为的重要知识点。 首先,`<context...
以下是一个简单的`web.xml`文件示例,展示了如何配置部分上述提到的配置项: ```xml <web-app> <display-name>My Web Application</display-name> <description>A simple Java web application.</description> ...
<param-value>/WEB-INF/spring-config.xml</param-value> </context-param> <!-- 备注:此所设定的参数,在JSP网页中可以使用下列方法来取得:${initParam.param_name} 若在Servlet可以使用下列方法来获得:...
### 在web.xml中引入其他XML配置文件的步骤 在Java Web开发中,`web.xml`作为Web应用程序的核心配置文件,负责定义应用级别的配置信息。为了提高代码的可维护性和复用性,有时需要将一部分配置内容提取到独立的XML...
在WEB-INF中的web.xml文件中,添加以下配置:<Context docBase="MyStruts" path="/MyStruts" reloadable="true">...</Context>。其中,docBase指定了文档基础目录,path指定了Context的路径,reloadable指定了是否...
<param-name>context/param</param-name> <param-value>avalible during application</param-value> </context-param> ``` 在这里,`<param-name>`标签定义了参数名,`<param-value>`标签定义了参数值。要从...
当我们需要改变`applicationContext.xml`的路径时,可以在`web.xml`中使用`<context-param>`元素来指定。例如: ```xml <context-param> <param-name>contextConfigLocation</param-name> <param-value>...
<param-name>maxFileSize</param-name> <param-value>5000000</param-value> </context-param> ``` 4. **`<filter>`** - **作用**:定义一个过滤器,它可以拦截用户请求,在请求到达目标资源前执行某些操作。...
在web.Xml中<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/*.bean.xml</param-value> </context-param> <listener> <listener-class> org.spring...
-- 配置Spring的ContextLoaderListener加载的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!...
3. Context 参数:<context-param> 元素用于声明应用范围内的初始化参数,该参数将被所有的 Servlet 和 JSP 页面共享。 4. 过滤器:<filter> 元素用于将一个名字与一个实现 javax.servlet.Filter 接口的类相关联。 ...
<param-value>/WEB-INF/conf/logback.xml</param-value> </context-param> <listener> <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class> </listener> 即可加载logback...
<param-name>encoding</param-name> <param-value>UTF-8</param-value> </context-param> ``` #### <filter> - **作用**:定义过滤器,用于拦截请求和响应,执行预处理或后处理操作。 - **示例**: ```xml ...
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> ...
例如:<context-param><param-name>jdbcDriver</param-name><param-value>com.mysql.jdbc.Driver</param-value></context-param> 5. 过滤器(Filter) filter 元素用于指定 web 容器中的过滤器,在请求和响应对象...
web.xml 中配置<br>完善了对上传图片的验证<br> <context-param><br> <param-name>FCKAllowedExtensionsImage</param-name><br> <param-value>jpg|gif|jpeg|png|bmp </param-value><br> </context-param><br> ...