2012-04-15 34 views
1

我需要建立一个Tomcat Web应用程序如下:如何设置tomcat使用应用程序基目录的子目录作为网站的资源?

webapps/ABC 
├── WebContent 
│   ├── img 
│ │ └── ABC.png 
│   ├── ABC.jsp 
│ ├── ABCDEF.jsp 
│   └── styles 
│      └── ABC.css 
└── WEB-INF 
    ├── classes 
    │   ├── model 
    │   │   └── ABCData.class 
    │   └── servlet 
    │    └── ABC.class 
    │ └── otherstuff 
    │  └── ABChelper.class 
    ├── lib 
    └── web.xml 

我设法tomcat的访问[主持人]/ABC,但内ABC.jsp多次提到的,当以显示ABC.jsp - 文件到“img/ABC.png”或“styles/ABC.css”等等。我想让tomcat自动查找“WebContent”-sub目录中的任何Content,但.class-或.jar-文件​​。本来,我更喜欢一个“资源” -subdirectory,但后来我在一些网站,我现在不能网站多如牛毛我在最后几个小时,标准显然是“的WebContent”阅读中记忆读取;一个不起作用的标准。这是否有可能只使用webapp的本地配置?

理想情况下,我想以后刚刚创建web应用程序根一个.jar-文件​​并部署到服务器。

我试着设置一个本地的META-INF/context.xml,但显然被忽略了(不管我写入它,tomcat从不抱怨),并且web.xml中的-tags不执行任何操作除了在结束标记中存在拼写错误时导致错误)。

回答

0

是的,如果你想使资源可供应用时,他们必须在的WebContent及其子目录或者如果你是在一个罐子包装它被其他项目所消耗的应用程序,你是对的把它们放在META-INF/resources目录下(自动加载所需的Servlet 3.0)。我认为你唯一可能遗漏的是从上下文路径中检索它们。

使用这样的事情:

<link rel="stylesheet" href="${pageContext.request.contextPath}/styles/ABC.css" /> 
<img src="${pageContext.request.contextPath}/img/ABC.png" /> 
相关问题