如何设置tomcat以使用应用程序的子目录';网站的基本目录';谁的资源?
我需要设置一个tomcat webapp,如下所示:如何设置tomcat以使用应用程序的子目录';网站的基本目录';谁的资源?,tomcat,tomcat7,Tomcat,Tomcat7,我需要设置一个tomcat webapp,如下所示: webapps/ABC ├── WebContent │ ├── img │ │ └── ABC.png │ ├── ABC.jsp │ ├── ABCDEF.jsp │ └── styles │ └── ABC.css └── WEB-INF ├── classes │ ├── model │ │ └── ABCData.class │ └── servle
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文件以外的任何内容。起初,我更喜欢一个“资源”子目录,但后来我在一些网站上读到,在过去几个小时我读过的大量网站中,我现在记不起标准显然是“网络内容”;一个不起作用的标准。这是否可以仅使用webapp的本地配置
理想情况下,我希望稍后从webapp根目录创建一个.jar文件并将其部署到服务器
我试着设置一个本地META-INF/context.xml,但这显然被忽略了(无论我写了什么,tomcat都不会抱怨),并且web.xml中的-tag没有做任何事情(除了在结束标记中出现键入错误之外)。是,如果您想在部署应用程序时使资源对应用程序可用,它们必须位于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" />