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.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.
分享到:
相关推荐
在Spring框架中,`<context-param>` 和 `<init-param>` 是两种不同的参数配置方式,它们在Web应用的初始化阶段起着关键作用。了解这两者的区别是优化和理解Spring应用程序运行时行为的重要知识点。 首先,`<context...
`<context-param>`元素用于定义全局的初始化参数,这些参数在整个Web应用的生命周期中有效,可以被监听器、Servlet或过滤器访问。例如,配置`contextConfigLocation`参数可以指定Spring的配置文件位置: ```xml ...
本文将深入探讨web.xml中的主要配置元素,包括listener、filter、servlet的加载顺序以及它们的工作原理。 一、启动过程与加载顺序 1. 当一个WEB项目启动时,Web容器首先读取web.xml文件,解析其中的和<context-...
总的来说,web.xml是Java Web应用的配置中心,它定义了应用的行为和服务器如何响应用户请求,通过合理配置web.xml,可以实现应用的个性化需求和高效运行。要深入理解web.xml,不仅需要掌握XML的基本知识,还需要对...
- 在 `web.xml` 文件中配置 `DispatcherServlet`,它是 Spring MVC 的核心组件,负责接收客户端请求并将请求分发给合适的 Controller。 - 配置 `<servlet>` 和 `<servlet-mapping>` 标签来定义 `DispatcherServlet...
<param-value>/WEB-INF/spring-servlet.xml</param-value> </context-param> <!-- 字符编码过滤器 --> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter....
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </context-param> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> <servlet-...
在Java Web开发中,构建一个能够运行在服务器上的Web应用通常需要一系列步骤来确保项目的正确配置与部署。其中,“添加web框架支持”和“添加web文件夹”是两个非常重要的环节。本文将详细介绍这两个操作的具体步骤...
<param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> ``` 此外,还需要配置Struts2的过滤器。 ```xml <filter-name>struts2</filter-name> <filter-class>org.apache.struts2....
<param-value>/WEB-INF/classes/applicationContext*.xml</param-value> </context-param> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> ``` 这样,当Web容器...
- **2.1 如果不配置 `<init-param>`,默认会在 `/WEB-INF/<servlet-name>-servlet.xml` 中查找配置文件。** 但是,通常我们会手动配置 `<init-param>` 来指定SpringMVC的配置文件路径。例如: ```xml ...
2. **设置privileged属性**:在$CATALINA_HOME/conf/context.xml中,为<Context>节点添加privileged="true"属性,以允许web应用使用容器的servlet。 3. **开启SSI功能**:在$CATALINA_HOME/conf/web.xml中,取消对...
#### 三、Spring MVC 运行原理 1. **客户端发起请求**:用户通过浏览器或其他客户端发送HTTP请求到服务器。 2. **请求到达DispatcherServlet**:所有HTTP请求首先到达DispatcherServlet,这是Spring MVC的入口。 3....
在传统的Spring MVC应用中,`web.xml`是启动配置的核心,它包含了`context-param`、`listener`和`servlet`等元素。`context-param`用于指定Spring应用上下文(ApplicationContext)的配置位置,例如`spring.xml`。`...
- 可以通过`web.xml`中的`<init-param>`设置初始化参数,以避免硬编码路径等信息。 - 使用示例: `String path = getInitParameter("path");` #### 二、Request与Response对象详解 1. **Request对象** - **定义*...
在Web应用的`web.xml`文件中,配置SpringMVC的核心组件`DispatcherServlet`,它负责接收请求并分发到相应的处理器。 ```xml <web-app> ... <servlet-name>dispatcher</servlet-name> <servlet-class>org....
例如,修改web.xml中的webAppRootKey参数值,将其更改为对应工程名/myapp,以便服务器能正确定位到你的应用。 ```xml <context-param> <param-name>webAppRootKey</param-name> <param-value>/myapp</param-value...
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-...