- 当服务器启动时,服务器会读取web.xml配置,当读到<listener></listener>和<context-param></context-param>这两个节点的时候,容器会将这两个节点set到ServletContext(上下文对象)中,这样我们在程序中就能通过这个上下文对象去取得我们这个配置值
- <context-param>元素含有一对参数名和参数值,用作声明的Servlet上下文初始化参数,参数名在整个Web应用中必须是惟一的,在web应用的整个生命周期中上下文初始化参数都存在,任意的Servlet和jsp都可以随时随地访问它。
- 如果不写任何参数配置,默认的是在/WEB-INF/applicationContext.xml
- 如果想要自定义文件名,需要在web.xml中加入contextConfigLocation这个context参数
- Listener是Servlet的监听器,可以监听客户端的请求,服务端的操作等,Spring提供ServletContextListener接口的一个实现类ContextLoaderListener监听器,该类可以作为Listener使用,在启动Tomcat容器的时候,该类的作用就是自动装载ApplicationContext的配置信息
- 如果没有设置contextConfigLocation的初始参数则会使用默认参数WEB-INF路径下的application.xml文件。
- 如果需要自定义读取多个配置文件或者修改默认路径,则可以在web.xml中设置
标签 |
说明 |
||||||||
<context-param> |
context-param元素声明应用范围内的初始化参数
|
||||||||
<listener> |
Listener元素指出事件监听程序类。 servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。
|
示例
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- Spring 服务层的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>
<!-- 配置文件加载监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
</web-app> |