访问TOMCAT中的另一个项目

时间:2011-05-16 08:20:08

标签: java tomcat servlets java-ee

我在tomcat中部署了2个应用程序,我想在一个位于其他项目WEBINF文件夹中的项目资源文件中使用。我可以参加这样的另一个项目吗?

在我的项目中我想像这样访问项目B:

<bean id="Configuration"
    class="com.ws.configuration.WebServiceConfiguration"
    init-method="init">
    <property name="ConfigXml" value="webserviceconfiguration.xml" />
    <property name="executingPathResource" value="../../projectB/WEB-INF/" />
    <property name="developmentMode" value="true" />
</bean>

注意:我使用spring,我可以给另一个项目web inf文件夹路径吗?

TNX

3 个答案:

答案 0 :(得分:1)

以下其中一项:

  1. 您可以将资源文件放在Tomcat之外,并使用JNDI上下文从两个Web应用程序引用它。如果您知道配置文件的根目录,则可以使用某种逻辑来查找文件的位置。相对路径优先于绝对路径,因为您的应用程序可能在文件系统中具有不同的位置,具体取决于环境:开发与测试与生产。知道配置文件的根目录(也可能使用环境变量设置)和一点点逻辑,您可以从任何Web应用程序访问该文件。

  2. 使用ClassLoader.getResourceAsStream访问资源文件,然后将它们放入类路径中,例如webserviceconfiguration.xml位于两个应用程序引用的源目录中。这样,您可以在WEB-INF内部或者在类结束的任何地方结束文件,但是它将始终具有相同的内容,因为它将来自相同的源文件。

答案 1 :(得分:0)

您可以将其放入网络应用A;

File f = new File("C:\\tomcat\\webapps\\appB\\WEB-INF\\myResource.xml");

和tomcat不会阻止你。我想不出这是一个好主意。

答案 2 :(得分:0)

您可以通过以下方式为所有Web应用程序提供其他API 将解压缩的类放入“类”目录(默认情况下不创建), 或者将它们放在CATALINA_HOME

的“lib”目录中的JAR文件中