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 这个顺序来读取。
如: <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 这个顺序来读取。
本文详细解析了web.xml中的context-param元素作用及其工作流程,包括容器如何读取这些参数并将其传递给ServletContext,以及如何在程序中获取这些初始化参数的值。此外还介绍了contextConfigLocation参数在Spring框架中的特定用途。
988

被折叠的 条评论
为什么被折叠?



