context-param

来源:互联网 发布:java rmi 无继承 框架 编辑:程序博客网 时间:2024/06/04 23:31
1 context-param是一个用于在应用程序中的初始化参数值。可以理解为key、value键值对,
如: <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml</param-value>
</context-param>
<context-param>
<param-name>name</param-name>
<param-value>xclsky</param-value>
</context-param>
上述就定义了两个初始化参数,有名字和值。
2 web.xml中定义了context-param了,如何走向的呢。
首先容器(tomcat)读取web.xml中的context-param和listenering,
然后容器创建servlerContext,用于整个应用程序中。
然后将context-param的键值对,交付给ServletContext,
然后根据listenering类对象,来创造监听。
然后执行监听的初始化上下文方法,来利用paran-name来得到param-vlaue。
最后有了param-value来执行动作,这时在程序启动之前执行的动作。例如连接数据库,加载配置文件等。这些都是需要在程序启动之前就执行的动作。


3 如果在web.xml中定了的contextConfigLocation这个param-name是读取spring的配置文件的,名字是固定的,是因为在spring.jar中的org.springframework.web.context.ContextLoader.class来写了固定的名字:contextConfigLocation。
如:public static final String CONFIG_LOCATION_PARAM = "contextConfigLocation";


4 在程序中如果想得到context-param的paran-value,则需要通过ServlerContext即可
如:ServletContext servletContext=ServletActionContext.getServletContext();
String name_value=servletContext.getInitParameter("name");
System.out.println("从context-param中读取的参数值:"+name_value);
5 web.xml读取的顺序是context-param-》listenering->filter->servler->spring 这个顺序来读取。
原创粉丝点击