相关疑难解决方法(0)

我可以在多个环境中使用单个war文件吗?我是不是该?

我的工作中有一个Java Web应用程序,我想简化我们部署到DEV,QA和PROD环境的方式.

应用程序在启动时读取一系列属性,dev,qa和prod的属性文件不同.每当我想部署到某个环境时,我都会将特定于环境的属性文件放到我的app文件夹中,构建war,然后将其部署到三个tomcat 5.5服务器之一.

我想要做的是必须有一个.war,它具有所有环境的属性,并让应用程序在初始化过程中询问Web服务器,以确定应用程序所处的环境,以及要加载的属性.是否有一种简单的方法(或者,这是一种标准的方式)?

java jsp java-ee

27
推荐指数
2
解决办法
1万
查看次数

是否可以在 context.xml 中使用占位符

我正在使用 Spring 和 struts,并且在 '/META-INF/context.xml' 中有以下条目

<Context cachingAllowed="false" useHttpOnly="true">
<Resource name="jdbc/xxx" auth="Container" type="javax.sql.DataSource"
           factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
           maxActive="100" maxIdle="30" maxWait="10000"
           username="xxxxx" password="xxxxx"
           driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
           url="jdbc:sqlserver://xxx:1433;databaseName=xxx;"/>
</Context>
Run Code Online (Sandbox Code Playgroud)

是否可以通过以下方式实现,

<Context cachingAllowed="false" useHttpOnly="true">
   <Resource name="jdbc/xxx" auth="Container" type="javax.sql.DataSource"
               factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="${jdbc.username}" password="${jdbc.pwd}"
               driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
               url="${jdbc.url}"/>
 </Context>
Run Code Online (Sandbox Code Playgroud)

我的 applicationContext.xml 有以下内容,

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/xxx" />
</bean>
Run Code Online (Sandbox Code Playgroud)

我想从属性文件中获取 jdbc.username 和 jdbc.pwd 的值。

java spring struts context.xml

5
推荐指数
1
解决办法
7190
查看次数

标签 统计

java ×2

context.xml ×1

java-ee ×1

jsp ×1

spring ×1

struts ×1