我需要设置一个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-File,但在ABC.jsp中有很多引用“img / ABC.png”或“styles / ABC.css”和类似的存在。我想让tomcat自动查找“WebContent”子目录中的任何内容,但是.class-或.jar-Files。最初,我更喜欢“资源” - 子目录,但后来我在一些网站上读到了我现在不能记得在过去几个小时里看到的标准显然是“WebContent”的过多网站;一个不起作用的标准。这只能使用webapp本地配置吗?
理想情况下,我想稍后从webapp root创建一个.jar-File并将其部署到服务器。
我尝试设置本地META-INF / context.xml,但显然被忽略了(无论我写入什么,tomcat都不会抱怨),而且web.xml中的-tags什么都不做(分开)如果结束标记中存在拼写错误,则会导致错误。
答案 0 :(得分: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" />