我在用

<url-pattern>/*</url-pattern>


将所有请求映射到一个sevlet,在此我完成所有身份验证工作。
但我想跳过一些静态内容(例如CSS文件)。所以我尝试将它们从
sevlet到资源文件所在的位置

if(isResourceFile){
    RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("static/" + fileName);
    dispatcher.forward(request, response);
}


但这将启动无限循环,因为这将再次调用相同的sevlet

有什么方法可以解决此问题而无需映射web.xml中的所有resource(css)文件?

最佳答案

假设您只想对JSP文件进行身份验证,则可以更改URL:

/*.jsp


我认为使用过滤器而不是Servlet处理身份验证是一个更好的主意。在生产环境中,您应该使用前端Web服务器获取静态内容。

07-24 18:25