我在用
<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服务器获取静态内容。