當前位置:首頁 » 數據倉庫 » contextparam多個值怎麼配置
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

contextparam多個值怎麼配置

發布時間: 2022-04-16 19:47:01

❶ 如何使用多個Spring的xml配置文件

1, 在web.xml中定義 contextConfigLocation參數.spring會使用這個參數載入.所有逗號分割的xml.如果沒有這個參數,spring默認載入web-inf/applicationContext.xml文件.

[html] view plain
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:conf/spring/applicationContext_core*.xml,
classpath*:conf/spring/applicationContext_dict*.xml,
classpath*:conf/spring/applicationContext_hibernate.xml,
classpath*:conf/spring/applicationContext_staff*.xml,
classpath*:conf/spring/applicationContext_security.xml
classpath*:conf/spring/applicationContext_moles*.xml
classpath*:conf/spring/applicationContext_cti*.xml
classpath*:conf/spring/applicationContext_apm*.xml
</param-value>
</context-param>

contextConfigLocation 參數定義了要裝入的 Spring 配置文件。原理說明如下:
、利用ServletContextListener 實現。
Spring 提供ServletContextListener 的一個實現類ContextLoaderListener ,該類可以作
為listener 使用,它會在創建時自動查找WEB-INF/ 下的applicationContext.xrnl 文件。因
此,如果只有一個配置文件,並且文件名為applicationContext.xml ,則只需在web.xml
文件中增加如下代碼即可:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果有多個配置文件需要載入,則考慮使用<context-para即元素來確定配置文件的
文件名。由於ContextLoaderListener載入時,會查找名為contextConfigLocation的參數。
因此,配置context-param時參數名字應該是contextConfigLocation。
帶多個配置文件的web.xml 文件如下:

[html] view plain
<1-- XML 文件的文件頭二〉
<?xml version="l.O" encoding="工80-8859-1"?>
< 1-- web.xm1 文件的DTD 等信息一〉
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems. 工口c.//DTD Web Application 2.3//EN"
''http://java.sun.com/dtd/web-app_2_3.dtd''>
<web-app>
<!一確定多個配置文件>
<context-param>
<1-- 參數名為contextConfigLocation…〉
<param-name>contextConfigLocation</param-name>
<!一多個配置文件之間以,隔開二〉
<param-value>/WEB-工NF/Context.xml./WEB-INF/application
Context.xml</param-value>
</context-param>
<!-- 採用listener創建Applicat工onContext 實例-->
<listener>
<listener-class>org.spr工ngframework.web.context.ContextLoader
Listener</listener-class>
</listener>
</web-app>

如果沒有contextConfigLocation 指定配置文件,則Spring 自動查找application
Context. xrnl 配置文件。如果有contextConfigLocation,則利用該參數確定的配置文件。
該參數指定的一個字元串, Spring 的ContextLoaderListener 負責將該字元串分解成多個
配置文件,逗號","、空格" "及分號";"都可作為字元串的分割符。
如果既沒有applicationContext. xrnl 文件,也沒有使用contextConfigLocation參數確
定配置文件,或者contextConfigLocation確定的配置文件不存在。都將導致Spring 無法
載入配置文件或無法正常創建ApplicationContext 實例

配置一個spring為載入而設置的servlet可以達到同樣效果.
採用load-on-startup Servlet 實現。
Spring 提供了一個特殊的Servllet 類: ContextLoaderServlet。該Servlet 在啟動時,會
自動查找WEB-IN日下的applicationContext. xml 文件。
當然,為了讓ContextLoaderServlet 隨應用啟動而啟動,應將此Servlet 配置成
load-on-startup 的Servleto load-on-startup 的值小一點比較合適,因為要保證Application
Context 優先創建。如果只有一個配置文件,並且文件名為applicationContext. xml ,則在
web.xml 文件中增加如下代碼即可:
<servlet>
<servlet-name>context</servlet口-arne>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</
servlet-class>
<load-on-startup>l</load-o 口-startup>
</servlet>

。帶多個配置文件的web且nl 文件如下:

[html] view plain
<!-- XML 文件的文件頭-->
<?xml version="1.0" encoding="工SO-8859-1"?>
<! -- web.xml 文件的DTD 等信息→
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems , 工口c.//DTD Web Application 2.3//EN"
''http://java.sun.com/dtd/web-app_2_3.dtd''>
<web-app>
<'一確定多個配置文件一>
<context-param>
<!-- 參數名為contextConfigLocation-->
<param-name>contextConfigLocation</param-name>
<!-- 多個配置文件之間以,隔開一〉
<param-value>/WEB-工NF/Context.xml, !WEB-工NF/applicationContext.
xml</param-value>
</context-param>
<!一採用load-on-startup Servlet 創建Applicat工onContext 實例一〉
<servlet>
<servlet-narne>context</servlet-narne>
<servlet-class>org.springframework.web.context.ContextLoader
Servlet</servlet-class>
<!一下面值小一點比較合適,會優先載入一〉
<load-on-startup>l</load-on-startup>
</servlet>
</web-app>

2, 使用匹配符

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>

比如說用到Hibernate,則把hibernate相關的配置放在
applicationContext-hibernate.xml這一個文件,而一些全局相關的信息則放在
applicationContext.xml,其他的配置類似.這樣就可以載入了,不必寫用空格或是逗號分開!

3, 如果使用struts載入多個spring配置文件.下面這個配置的其實也是contextConfigLocation變數.

struts-config.xml裡面加這個
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml,
/WEB-INF/action-servlet.xml,,,,,,,"/>

4,如果是非j2ee應用直接程序載入.

[java] view plain
ApplicationContext act = new (new String[]{"bean1.xml","bean2.xml"});

BeanDefinitionRegistry reg = new DefaultListableBeanFactory();

XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(reg);

reader.loadBeanDefinitions(new ClassPathResource("bean1.xml"));

reader.loadBeanDefinitions(new ClassPathResource("bean2.xml"));

BeanFactory bf = (BeanFactory)reg;

❷ <context-param></context-param>

context-param元素含有一對參數名和參數值,作用是為應用的servlet上下文初始化參數。
application范圍內的參數,存放在servletcontext中,在web.xml中配置如下:
<context-param>
<param-name>context/param</param-name>
<param-value>avalible ring application</param-value>
</context-param>

❸ context param 可以有多個嗎

web.xml裡面可以定義兩種參數: (1)application范圍內的參數,存放在servletcontext中,在web.xml中配置如下: context/param avalible ring application (2)servlet范圍內的參數,只能在servlet的init()方法中取得

❹ context-param元素的定義

context-param元素含有一對參數名和參數值,用作應用的ServletContext上下文初始化參數。參數名在整個Web應用中必須是惟一的。
<!ELEMENT context-param (param-name, param-value, description?)>
<!ELEMENT param-name (#PCDATA)>
<!ELEMENT param-value (#PCDATA)>
<!ELEMENT description (#PCDATA)>

❺ spring 配置<context-param> classpath*:/applicationContext-*.xml classpath*:/applicationContext.xml

很明顯啊,後面是全名,前面加了通配符。
後面只找這個文件: applicationContext.xml
前面的找 applicationContext-*.xml: applicationContext-任何字元都可以放在這里.xml

❻ servlet3.0如何配置context-param

//2.0中配置方式如下:
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>


//3.0中配置方式如下:
@Configuration
@ComponentScan
@EnableAutoConfiguration

{
publicstaticvoidmain(String[]args){
SpringApplication.run(Application.class,args);
}

@Override
publicvoidonStartup(ServletContextservletContext)
throwsServletException{
servletContext.setInitParameter(
"facelets.DEVELOPMENT",
"true");
}
}

網頁鏈接

❼ web.xml的配備中<context-param>配置是起什麼作用的

1.啟動一個WEB項目的時候,容器(如:Tomcat)會去讀它的配置文件web.xml.讀兩個節點: 和 2.緊接著,容器創建一個ServletContext(上下文),這個WEB項目所有部分都將共享這個上下文. 3.容器將轉化為鍵值對,並交給ServletContext. 4.容器創建中的類實例

❽ 請問一個web項目web.xml的配置中<context-param>配置是起什麼作用的

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.這個監聽是自己寫的一個類,除了初始化方法,它還有銷毀方法.用於關閉應用前釋放資源.比如說資料庫連接的關閉.

9.... 以上資料來自<<Head First Servlet&JSP>>

❾ web項目web.xml的配置中「context-param」配置起什麼作用

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.這個監聽是自己寫的一個類,除了初始化方法,它還有銷毀方法.用於關閉應用前釋放資源.比如說資料庫連接的關閉.
9.... 以上資料來自<<Head First Servlet&JSP