1

我需要设置一个tomcat webapp,如下所示:

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在访问[host] / ABC时显示ABC.jsp文件,但在ABC.jsp中存在许多对“img/ABC.png”或“styles/ABC.css”等的引用. 我想让tomcat在“WebContent”子目录中自动查找除.class-或.jar-Files之外的任何内容。最初,我更喜欢“资源”子目录,但后来我在一些网站上读到,在过去几个小时我读过的众多网站中,我现在不记得标准显然是“WebContent”;一个不起作用的标准。仅使用 webapp 本地的配置是否有可能?

理想情况下,我想稍后从 webapp 根目录创建一个 .jar 文件并将其部署到服务器。

我尝试设置一个本地 META-INF/context.xml,但这显然被忽略了(无论我在其中写入什么,tomcat 都不会抱怨),并且 web.xml 中的 -tags 不做任何事情(除了导致如果结束标签中有错字,则错误)。

4

1 回答 1

0

是的,如果您想在部署应用程序时使资源可用,它们必须位于 WebContent 或其子目录中,或者如果您将其打包在一个 jar 中以供其他项目使用,那么您是对的META-INF/resources 目录(自动加载需要 Servlet 3.0)。我认为您唯一可能缺少的就是从上下文路径中检索它们。

使用这样的东西:

<link rel="stylesheet" href="${pageContext.request.contextPath}/styles/ABC.css" />
<img src="${pageContext.request.contextPath}/img/ABC.png" />
于 2012-04-15T06:33:18.960 回答