0

我希望tomcat根据url映射到不同的css/js/etc文件夹(每个版本一个文件夹)。我需要这个来测试不同版本的 apex 应用程序。我设法运行了 1 个应用程序。现在我想跑更多。我发现了一些关于在 server.xml 中设置的不同主机的信息。所以我在里面放了2台主机。

 <Host name="localhost/apex_mcl"  appBase="webapps/apex_mcl"
        unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

 <Host name="localhost/apex_mcl2"  appBase="webapps/apex_mcl2"
        unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

然后我在 ROOT/WEB-INF 中为“servlet-maping”编辑了 web.xml 文件。css/js 文件位于 /ROOT/apex_mcl[12]/i

<servlet>
    <servlet-name>apex_mcl</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>apex_mcl</servlet-name>
    <url-pattern>/ROOT/apex_mcl/i</url-pattern>
</servlet-mapping>

对于 apex_mcl2

<servlet>
    <servlet-name>apex_mcl2</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>apex_mcl</servlet-name>
    <url-pattern>/ROOT/apex_mcl2/i</url-pattern>
</servlet-mapping>

"i" 包含 css/js/etc

如果我将文件放在 /i 中,它正在工作

请有人告诉我我错过了什么。

如果需要更多信息,请询问。

马里奥

4

1 回答 1

0

一种简单的方法是将版本拆分为两个单独的项目,并将每个项目添加到您的 Tomcat 服务器。部署后,你可以去http://localhost:8080/apex_mcland http://localhost:8080/apex_mcl2,每个网页都会引用自己的css/js。

于 2013-07-16T19:38:09.893 回答