spring如何使用多个xml配置文件

comsol-声学 COMSOL多物理场仿真软件以高效的计算性能和杰出的多场耦合分析能力实现了精确的数值仿真,已被广泛应用于各个领域的科学研究以及工程计算,为工程界和科学界解决了复杂的多物理场建模问题。COMSOL内嵌的声学模块可以方便地进行多孔声学和粘热声学的模拟仿真。软件数值计算得到的云图,可以将声压、速度、声强以及声能耗散等结果可视化,十分有利于学生对声学的学习和理解。将COMSOL仿真引入实验当中,通过软件的可视化处理有效直观的展示复杂物理场和集合模型仿真的流程,与实验数据结合,使得文章内容具有说服力、预见性和新颖性。 阅读详情

1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applicationContext.xml文件.


<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_modules*.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 文件如下:
<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/daoContext.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 文件如下:
<!-- 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/daoContext.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应用直接程序加载.


ApplicationContext act = new ClassPathXmlApplicationContext(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;


===================================================================================================================


项目中碰到了tomgcat中可以启动,而部署到weblogic就无法启动的问题,报找不到applicationContext.xml 文件,报错为:

####<2013-2-27 下午03时29分04秒 CST> <Error> <HTTP> <wu-yw> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1361950144661> <BEA-101216> <Servlet: "context" failed to preload on startup in Web application: "allmedia".
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:180)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
	at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:126)
	at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:269)
	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
	at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)
	at javax.servlet.GenericServlet.init(GenericServlet.java:241)
	at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(Unknown Source)
	at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
	at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
	at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
	at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:521)
	at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1893)
	at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1870)
	at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1790)
	at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
	at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
	at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468)
	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
	at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
	at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
	at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
	at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
	at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
	at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
	at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
	at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:16)
	at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
	at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
	at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
	at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
	at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
	at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196)
	at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
	at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
	at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
	at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
	at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
	at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
	at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
	at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:99)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:167)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
	at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:126)
	at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:269)
	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
	at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)
	at javax.servlet.GenericServlet.init(GenericServlet.java:241)
	at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(Unknown Source)
	at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
	at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
	at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
	at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:521)
	at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1893)
	at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1870)
	at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1790)
	at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
	at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
	at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468)
	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
	at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
	at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
	at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
	at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
	at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
	at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
	at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
	at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:16)
	at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
	at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
	at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
	at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
	at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
	at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196)
	at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
	at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
	at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
	at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
	at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
	at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
	at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> 


但是我的应用中并没有这个文件。

所以看了下上边的文章。

web.xml

<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/e5-context.xml, 
			/WEB-INF/e5-controller.xml,
			/WEB-INF/e5-web.xml,
			/WEB-INF/e5-auth.xml,
			/WEB-INF/e5-workspace.xml,
			/WEB-INF/photoinfo-servlet.xml,
			/WEB-INF/allmedia.xml,
			/WEB-INF/allmedia-edit.xml
			<!-- ,
			/WEB-INF/e5-sso.xml -->
		</param-value>
	</context-param>

	<filter>
        <filter-name>SetCharacterEncoding</filter-name>
        <filter-class>filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
      <filter-name>SetCharacterEncoding</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
<!--ids config begin -->
<filter>
     <filter-name>TRSIdSSSOFilter</filter-name>
     <filter-class>com.trs.idm.client.filter.GeneralSSOFilter</filter-class>
</filter>
<!-- filter-mapping>
     <filter-name>TRSIdSSSOFilter</filter-name>
     <url-pattern>*.jsp</url-pattern>
</filter-mapping-->
<filter-mapping>
     <filter-name>TRSIdSSSOFilter</filter-name>
     <url-pattern>/e5workspace/*</url-pattern>
</filter-mapping>
<filter-mapping>
     <filter-name>TRSIdSSSOFilter</filter-name>
     <url-pattern>/publish/*</url-pattern>
</filter-mapping>
<!-- TRSIdS SSO Listener, use this for enable timeout-notify -->
<!-- filter>
	<filter-name>FounderUUMSAuthFilter</filter-name>  
	<filter-class>com.founder.auth.web.AuthFilter</filter-class>  
</filter-->
<!-- 
<filter-mapping>
	<filter-name>FounderUUMSAuthFilter</filter-name>
	<url-pattern>/e5workspace/auth.do</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>FounderUUMSAuthFilter</filter-name>
	<url-pattern>/e5workspace/keeplive.do</url-pattern>
</filter-mapping> -->
<!-- e5sso -->
<!-- filter-mapping>
	<filter-name>FounderUUMSAuthFilter</filter-name>
	<url-pattern>/e5sys/sysAuth.do</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>FounderUUMSAuthFilter</filter-name>
	<url-pattern>/e5permission/PermissionProxy.do</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>FounderUUMSAuthFilter</filter-name>
	<url-pattern>/e5auth/AdminPermissionProxy.do</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>FounderUUMSAuthFilter</filter-name>
	<url-pattern>/e5sys/AppChangeProxy.do</url-pattern>
</filter-mapping>
<listener>
	<listener-class>com.founder.auth.web.LogoutSessionDestroyedListener</listener-class>
</listener-->
<!-- TRSIdS SSO Listener, use this for enable timeout-notify -->
<listener>
     <listener-class>com.trs.idm.client.listener.CoSessionListener</listener-class>
</listener>
<!-- Use this for co-application's login form action. -->	
	<servlet>
		<servlet-name>context</servlet-name>
		<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>load</servlet-name>
		<servlet-class>com.founder.e5.load.Load</servlet-class>
		<init-param>
			<param-name>config</param-name>
			<param-value>e5-config.xml</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
    </servlet>

	<servlet>
		<servlet-name>e5</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>3</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>buffalo</servlet-name> 
		<servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class> 
	</servlet>

	<servlet>
		<servlet-name>Jersey REST Service</servlet-name>
		<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
		<init-param> 
			<param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
			<param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
		</init-param>
		<init-param>
			<param-name>com.sun.jersey.config.property.packages</param-name>
			<param-value>com.founder.api</param-value>
		</init-param>
		<load-on-startup>4</load-on-startup>
	</servlet>
<!-- Use this for co-application's login form action. -->
	<servlet>
	     <servlet-name>TRSIdSSSOProxyServlet</servlet-name>
	     <servlet-class>com.trs.idm.client.servlet.LoginProxyServlet</servlet-class>
	     <load-on-startup>100</load-on-startup>
	</servlet>
	<servlet>
	     <servlet-name>GetLongUrlServlet</servlet-name>
	     <servlet-class>com.trs.idm.client.servlet.GetLongUrlServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>Jersey REST Service</servlet-name>
		<url-pattern>/api/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>e5</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>buffalo</servlet-name> 
		<url-pattern>/buffalo/*</url-pattern> 
	</servlet-mapping>
	
	<mime-mapping>
		<extension>xml</extension>
		<mime-type>text/xml</mime-type>
	</mime-mapping>
	
	<servlet-mapping>
	     <servlet-name>TRSIdSSSOProxyServlet</servlet-name>
	     <url-pattern>/TRSIdSSSOProxyServlet</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
	      <servlet-name>GetLongUrlServlet</servlet-name>
	     <url-pattern>/idsAgents/GetLongUrlServlet</url-pattern>
	</servlet-mapping>
	 <!-- ids config end -->
	<welcome-file-list>
		<welcome-file>login.jsp</welcome-file>
	</welcome-file-list>
	
	<taglib>
		<taglib-uri>http://jakarta.apache.org/taglibs/i18n-1.0</taglib-uri>
		<taglib-location>/WEB-INF/taglibs-i18n.tld</taglib-location>
	</taglib>
	<taglib>
		<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
		<taglib-location>/WEB-INF/c.tld</taglib-location>
	</taglib>
	<resource-ref>
		<description>allmedia Datasource</description> 
		<res-ref-name>jdbc/E5NEW</res-ref-name> 
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>
	<!--  
	<resource-ref>
		<description>sso Datasource</description> 
		<res-ref-name>jdbc/E5SSO</res-ref-name> 
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>-->
</web-app>

原来是
<param-value>
			/WEB-INF/e5-context.xml, 
			/WEB-INF/e5-controller.xml,
			/WEB-INF/e5-web.xml,
			/WEB-INF/e5-auth.xml,
			/WEB-INF/e5-workspace.xml,
			/WEB-INF/photoinfo-servlet.xml,
			/WEB-INF/allmedia.xml,
			/WEB-INF/allmedia-edit.xml
			<!-- ,
			/WEB-INF/e5-sso.xml -->
		</param-value>
中注释的原因,很诡异,去掉就可以启动了。

使用 MATLAB/Simulink + Reinforcement Learning Toolbox 构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统 随着人工智能(AI)技术的快速发展,强化学习(Reinforcement Learning, RL)在控制系统中的应用日益广泛。在电机控制领域,传统的PID控制虽然成熟稳定,但在面对非线性、时变、不确定负载等复杂工况时,其控制性能可能受限。而强化学习通过与环境的交互学习,能够实现在线自适应控制策略优化,显著提升系统的鲁棒性与响应速度。本教程将带你使用构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统,实现从控制策略设计、环境建模、训练到仿真的全过程。当前转速(ω) 阅读详情

相关推荐

TypeScript领域建模实战:基于斯坦福本体论七步法构建健壮数据模型

在软件工程中,领域建模是连接业务需求与技术实现的关键桥梁,其核心在于对业务概念、属性及其关系的显式定义与规范。通过系统化的建模方法,开发者能够将模糊的领域知识转化为清晰、可扩展且类型安全的数据结构,从而在编译时捕获潜在错误,提升代码质量与可维护性。这一过程的技术价值在于实现了从业务逻辑到类型系统的无损映射,确保了设计的一致性。在实践中,结合TypeScript的静态类型检查与Zod的运行时验证,可以构建起从概念到代码再到数据库的三层一致性约束。本文以电商、博客等常见应用场景为例,深入解析如何运用源自斯坦福知

weixin_42551967的博客 383

附加:Spring Boot项目:多个配置文件介绍;启动项目时候,怎么选择指定配置文件;

说明: (1)本篇博客主要解决一下这个疑问; SpringBoot有多个配置文件的时候,在实际启动的时候,选择哪个配置文件?: ●比如这儿,application.properties是我们在自己电脑上开发 nohup java -jar -Dserver.port=8083 -Dspring.profiles.active=prod /root/mall-0.0.1-SNAPSHOT.jar > /root/null 2>&1 & 这...

小枯林的博客 6720

ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)

萌新常用的都在这了,本萌新的模板集。

张天枭の博客 5万+

spring中装载多个配置文件的解决方法

当spring中同时存在多个配置文件时,你必须同时加载它,那你怎么办呢?我所知道的方法以下几种: 1.使用监听器或servlet,当然也可以自己写类实现 这种方法要使用多个配置文件只需在web.xml中加入一个   contextConfigLocation    /WEB-INF/applicationContext-hibernate.xml,/WEB-INF/applicati

mmoooodd的专栏 714

ESP32-C3微型9轴感知模块的硬件工程实践

在嵌入式系统小型化趋势下,低功耗微控制器与多传感器融合成为智能终端的基础技术路径。其核心原理在于芯片能效比、射频合规性与电源噪声抑制的协同优化,技术价值体现在降低认证门槛、提升EMC鲁棒性及保障MEMS传感器精度。典型应用场景包括可穿戴设备、微型无人机姿态控制和工业边缘传感节点。本文围绕ESP32-C3平台展开,深入解析QFN封装选型逻辑、同步降压电源设计、LSM9DS1九轴校准策略等关键环节,覆盖FCC/CE认证规避、USB-C接口EMC防护等高频工程痛点。

weixin_42607969的博客 368

保姆级教程:用CameraX API快速搞定Android多摄像头切换与预览(附避坑指南)

本文提供了一份详细的CameraX API教程,帮助开发者快速实现Android多摄像头切换与预览功能。通过简化API设计和生命周期感知能力,CameraX大幅降低了开发复杂度,同时解决了多摄像头兼容性、预览优化等常见问题。文章包含完整代码示例和实战避坑指南,特别适合需要高效集成相机功能的Android开发者。

weixin_42699679的博客 166

Spring中多个lifecycle定义一个bean时的调用顺序

初始化方法的调用顺序: 1.@PostConstruct修饰的方法 2.InitializingBean接口的afterPropertiesSet()方法 3.在xml中配置的init()方法 Destroy方法的调用顺序: 1.@PreDestroy修饰的方法 2.DisposableBean接口的destroy()方法 3.在xml中定义的destroy()方法...

reverocean 248

SLAM轨迹评估神器evo实战:从GPS到TUM格式的完整转换指南(附Python代码)

本文详细介绍了如何使用evo工具将GPS数据转换为TUM格式,以便进行SLAM轨迹评估。通过Python代码实现GPS到笛卡尔坐标的精确转换,并提供了完整的处理流程和实战案例,帮助开发者轻松完成从原始GPS数据到精确轨迹评估的全过程。特别适用于ORB-SLAM等视觉SLAM算法的性能验证。

weixin_29074295的博客 294

Spring.profiles多环境配置原理

配置项目 Spring的profiles有两个变量可以配置 spring.profiles.default 默认值,优先级低。当active没有配置时,使用此变量。spring.profiles.active 优先级高,指定当前容器使用哪个profile 一般用法 声明多profile 如果使用spring的profiles机制,第一步要在applicat

supportUAT的专栏 2960

SAP PCE私有云MM02修改物料主数据基本单位报错

当前发现只有改为AAAADL(无量纲)单位时会报错,其他的正常。一开始以为配置的ISO码换算有问题,对配置排查后,排除配置问题。最后发现是PCE当前版本的原因,需要打上NOTE。SAP PCE私有云在没有库存和业务单据的情况下,MM02修改物料主数据基本单位报错“EA CPZP MK000000000000:PCS 不可转换为”,详见截图。点击【显示错误】,提示EA CPZP MK000000000000:PCS 不可转换为。从SAP FOR ME下载NOTE 3531359,链接。

dingqing86的专栏 520

化工仿真软件:gPROMS二次开发_(1).gPROMS基础知识

在gPROMS中,模型是通过定义变量、参数和方程来创建的。模型可以是简单的单元操作,如换热器、反应器,也可以是复杂的系统,如整个化工流程。变量是模型中表示状态或输出的量。在gPROMS中,变量需要显式定义其类型和单位。# 定义变量VAR# 温度变量,单位为K# 压力变量,单位为Pa# 组分摩尔分数,数组变量参数是模型中表示常量或初始条件的量。参数同样需要定义其类型和单位。# 定义参数PAR# 理想气体常数,单位为J/(mol·K)# 反应器体积,单位为m^3# 初始摩尔数。

kkchenjj的博客 617

20、springboot类型安全的绑定(使用@ConfigurationProperties注解一次性拿到application.yml 配置文件中的多个属性值)

springboot类型安全的绑定(使用@ConfigurationProperties注解一次性拿到application.yml 配置文件中的多个属性值)

Java 领域技术分享 1489

数据分析案例-2024年裁员数据集可视化分析

本实验数据集来源于Kaggle,原始数据集为2020-2024年裁员数据,共有3577条,12个变量,该数据集提供了不同公司的裁员信息。它包括以下几栏:Company:裁员发生的公司名称。Location_HQ:公司总部位置。Industry:公司所属的行业或部门。Laid_Off_Count:公司解雇的员工数量。Percentage:公司员工被解雇的百分比。Date:裁员发生的日期。Source:信息来源网址。Funds_Raised:公司募集资金的信息。

m0_64336780的博客 1万+

Spring引入多个XML配置文件

在开发JavaWeb项目时,当在项目中使用Spring框架,同时拥有多个Spring配置文件时,如下图: 那么在web.xml配置文件中该如何引入多个Spring配置文件来初始化Spring容器,下面介绍三种方法: 方式一:在web.xml中通过<context-param> 标签引入中使用/*符号。 <!-- 自定义Spring主配置文件的位置 --> &l...

pan_junbiao的博客 3432

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

spring 在web.xml 里面如何使用多个xml配置文件

1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applicationContext.xml文件 <context-param>   <param-name>contextConfigLocation</param-name...

weixin_30654419的博客 473

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Spring加载多个XML 配置文件

对于大多数的应用,从表现层的action,到持久层的DataSource,都被Spring 作为 bean 管理。如果这些bean 被配置在同一个文件中,阅读及维护该配置文件将是一件非 常有挑战的事情。 因此, Spring 建议:将一个大的配置文件分解成多个小的配置文件,使每个配置文 件仅仅管理功能近似于bean; 这样不仅可以分散配置...

Only 413

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Spring多个XML配置文件的引用

前言 ​ 当团队开发的时候,如果都使用同一个xml配置文件类进行对Spring的操作,那么就有可能导致一些问题,比如误改,误删等,并且当我们的配置量增多的时候,一个xml配置文件就显得臃肿;所以我们可以进行模块划分,一个模块对应一个配置文件,最后将所有配置文件整合到主配置文件中。 使用格式说明 <import/>标签 作用在当前配置文件中导入其他配置文件 格式 <import resource= “config.xml"/> resource:要导入的配置文件名 使用

qq_1243443888的博客 493

idea中生成spring的 xml配置文件_Spring是如何加载多个Xml配置文件的

1.前言我们知道Spring一次可以加载多个Bean定义的Xml配置文件,我们可以设想下如果让我们来做我们会怎么做?我估计会根据配置文件的顺序依次读取并加载,那再来看看Spring是如何做的?2.示例先给出两个Bean的配置文件:spring-configlication.xml:<beans xmlns="http://www.springframework.org/schema...

weixin_39851307的博客 851

Spring拥有多个xml配置文件的情况

1:在加载Spring容器时,加载多个xml配置文件。 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/applicat...

ITWANGBOIT的博客 845

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

如何使用多个Spring的xml配置文件(多模块配置) 在用Struts Spring Hibernate进行项目团队开发的时候,我们每个开发人员可能都会用到spring的配置文件,如果我们每个开放人员都用同一个的话,这样会给项目开发带来一定的影响,不过大家不用急,Spring为我们提供了很好的方法,我们可以写多个xml文件,然后将每个文件引入进来就行了,话不多说了,马上开始!! 方法一、在web

上班搞IT,下班搞ITF。 1220

spring加载jar包中多个xml配置文件 mappingLocations

在使用spring加载jar包中的配置文件时,不支持通配符,需要一个一个引入,如下所示:Java代码复制代码 contextConfigLocation classpath*:beanconfigs/applicationContext_1.xml, classpath*:beanconfigs/applicationContext_2.xml,... 复制代码这样太复杂了,对于一个大的项目而言,

哪一站 5979

加载bean常报错_Spring是如何加载多个Xml配置文件的

1.前言我们知道Spring一次可以加载多个Bean定义的Xml配置文件,我们可以设想下如果让我们来做我们会怎么做?我估计会根据配置文件的顺序依次读取并加载,那再来看看Spring是如何做的?2.示例先给出两个Bean的配置文件:spring-configlication.xml:<beans xmlns="http://www.springframework.org/schema...

weixin_42396174的博客 262

如何配置多个Spring的xml配置文件(多模块配置)

如何使用多个Spring的xml配置文件(多模块配置)(2009-08-22 13:42:43) 如何使用多个Spring的xml配置文件(多模块配置) 在用Struts Spring Hibernate进行项目团队开发的时候,我们每个开发人员可能都会用到spring的配置文件,如果我们每个开放人员都用...

ane3232的博客 501

如何使用多个Spring的xml配置文件(多模块配置)

在用Struts Spring Hibernate进行项目团队开发的时候,我们每个开发人员可能都会用到spring的配置文件,如果我们每个开放人员都用同一个的话,这样会给项目开发带来一定的影响,不过大家不用急,Spring为我们提供了很好的方法,我们可以写多个xml文件,然后将每个文件引入进来就行了,话不多说了,马上开始!! 方法一、在web.xml中定义 contextConfigLoca

xiantingxinbuone的专栏 3566
上一篇: Js中 关于top、clientTop、scrollTop、offsetTop的用法
下一篇: 用JS阻止事件冒泡
freecodenow
博客等级 码龄18年 17粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值