web.xml配置解析[总结].pdf
文本预览下载声明
一. 监听器:
1. ContextLoaderListener
配置信息:
listener
listener-class
org.springframework.web.context.ContextLoaderListener
/ listener-class
/ listener
配置解释:
ContextLoaderListener 的作用就是启动 Web 容器时,自动装 ApplicationContext 的配
置信息。因为它实现了 ServletContextListener 这个接口,在 web.xml 配置这个监听器,
启动容器时,就会默认执行它实现的方法。至于 ApplicationContext.xml 这个配置文件
部署在哪,如何配置多个 xml 文件,书上都没怎么详细说明。现在的方法就是查看它的
API 文档。在 ContextLoaderListener 中关联了 ContextLoader 这个类,所以整个加载
配置过程由 ContextLoader 来完成。看看它的 API 说明
第一段说明 ContextLoader 可以由 ContextLoaderListener 和 ContextLoaderServlet
生成。如果查看 ContextLoaderServlet 的 API ,可以看到它也关联了 ContextLoader
这个类而且它实现了 HttpServlet 接口。
第二段, ContextLoader 创建的是 XmlWebApplicationContext 这样一个类,它实现的
接口
WebApplicationContext-ConfigurableWebApplicationContext-ApplicationContext-
BeanFactory ,这样一来 spring 中的所有 bean 都由这个类来创建。
第三段 ,讲如何部署 applicationContext 的 xml 文件,如果在 web.xml 中不写任何参数配
置信息,默认的路径是 /WEB-INF/applicationContext.xml ,在 WEB-INF 目录下创建的
xml 文件的名称必须是 applicationContext.xml 。如果是要自定义文件名可以在 web.xml
里加入 contextConfigLocation 这个 context 参数:
view plaincopy to clipboardprint?
context-param
param-namecontextConfigLocation/param-name
param-value
/WEB-INF/classes/applicationContext-*.xml
/param-value
/context-param
在 param-value /param-value 里指定相应的 xml 文件名, 如果有多个 xml 文件,可
以写在一起并一 “号分隔。, ” 上面的 applicationContext-*.xml 采用通配符, 比如这那个目
录下有 applicationContext-ibatis-base.xml ,applicationContext-action.xml ,
applicationContext-ibatis-dao.xml 等文件,都会一同被载入。
由此可见 applicationContext.xml 的文件位置就可以有两种默认实现:
第一种:直接将之放到 /WEB-INF 下,之在 web.xml 中声明一个 listener 、
第二种:将之放到 classpath 下,但是此时要在 web.xml 中加入 context-param ,用
它来指明你的 applicat
显示全部