2011-11-04 74 views
1

我最近安装了Apache w/s + Tomcat,并且使用jk能够将请求从apache路由到t/c。在网络上的例子是通常的形式:Apache + Tomcat + jk:在Java EE web应用程序中提供静态资源

JkMount /*.jsp myTC 

我们在Tomcat的单一实例上运行多个Java EE应用程序(那么为什么使用Apache相信我,我有什么原因?)。我想我们可以改变的背景下为每个应用程序的喜欢的东西:

/servlet/application1/ 
/servlet/application2/ 
/servlet/application3/ 

再有这样的事:

JkMount /servlet/* myTC 

这将请求路由到tomcat正确的,但是,问题依然存在如何服务静态资源,一个标准的Java EE应用程序:

/webapp-root 
    resources/ 
     css/ 
     js/ 
     images/ 
    WEB-INF/ 
     /usual-folder-structure 

的问题是:

  1. 如何从apache提供资源/文件夹?所有的应用程序都有自己的资源/文件夹。我认为资源/将不得不在战争和apache的doc-root的某个地方居住,但不能找出JkMount字符串。

  2. /servlet/scheme是否是正确的方法?我应该遵循哪些模式?

我会很感激任何帮助,任何指向网络资源的指针都会很棒,因为我需要阅读更多关于此的信息。

回答

0

(1)以下应该足够:

JkMount /* myTC 
JkUnMount /resources/* myTC 

(2)这是确定的。有很多正确的解决方案。我个人不喜欢URL中的/ servlet /。这是垃圾,特别是在这个时代,网址是网站/网络应用程序的资产。我用这个方案:

JkMount /* myTC 
JkUnMount /*.css myTC 
JkUnMount /*.ico myTC 
JkUnMount /*.jpg myTC 
JkUnMount /*.js myTC 
JkUnMount /*.png myTC 
JkUnMount /*.xml myTC 
JkUnMount /*.zip myTC 
+0

因此,如果所有的三个应用程序都有各自的静态资源命名的文件夹在资源/,阿帕奇应该有文档根目录/应用1/resouces /,文档根目录/应用2 /资源/&文档根目录/ application3 /资源/? – kmansoor

+0

是的。每个应用程序应该存在于它自己的DocumentRoot中。除非它是某种设置,3种不同的应用程序共享相同的静态资源(非常不可靠)。 – cherouvim

+0

是否有可能将我指向基于Web的资源,我可以阅读更多内容。谢谢。 – kmansoor

相关问题