对于 Web 应用程序,我需要通过默认处理来提供 Web 应用程序开发树 ./js、./css 等中相应文件夹中的所有 .js、.css 和所有图像。 所以任何像
这样的URLhttp://www.example.com/js/x.js
应该直接从 war 中的静态文件提供服务。
主 servlet 应该处理除上述之外的所有请求。 我需要能够处理类似的请求
http://www.example.com/PROJ/ELEM/WHATEVER
具有相同的唯一主 servlet。
所以我想我应该在 web.xml 中执行此操作:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/css/*,/js/*,/WEB-INF/*</url-pattern>
</servlet-mapping>
并像这样映射主 servlet 以在 JSP 文件中创建一些 JSTL mod:
@WebServlet(urlPatterns="/*")
public class Main extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("test", "ok");
request.getRequestDispatcher("/WEB-INF/index.jsp")
.forward(request, response);
}
}
当我这样做时,我最终陷入了递归循环。
有办法实现吗?
最佳答案
这里是同样问题的解释。 http://www.kuligowski.pl/java/rest-style-urls-and-url-mapping-for-static-content-apache-tomcat,5
关于java - 如何处理/URL,同时对/js、/css进行默认处理,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24987961/