我希望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 "%r" %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 "%r" %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 中,它正在工作
请有人告诉我我错过了什么。
如果需要更多信息,请询问。
马里奥