我希望tomcat根据url映射到不同的css / js / etc文件夹(每个版本一个文件夹)。我需要这个来测试不同版本的apex-application。我设法运行了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中编辑了web.xml文件,用于“servlet-maping”。 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中它正在工作
可以请别人告诉我我错过了什么。
如果需要更多信息,请询问。
马里奥
答案 0 :(得分:0)
执行此操作的一种简单方法是将版本拆分为两个单独的项目,并将每个项目添加到Tomcat服务器。部署后,您可以转到http://localhost:8080/apex_mcl
和http://localhost:8080/apex_mcl2
,每个网页都会引用自己的css / js。