欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Filter不过滤CSS和JS_html/css_WEB-ITnose

程序员文章站 2022-04-22 14:24:49
...
Filter是Java Web中用于禁止浏览器在未登录的情况下访问内部网址。

用法就不说了,看了下网上的用法基本都是贴的李刚的那本J2EE书上的代码。

需要注意的是,如果你直接设置 /*, 那么你的CSS和JS文件也会一同被过滤掉。

那么怎么样解决呢?网上又说建一个jspPage的文件夹把jsp页面放进去然后 设置 jspPage/*,我想说这个方法对于简单的页面跳转也许可以,但是遇到带有导航栏的网站时调整会出现混乱,不可取。

建议做法是:改Filter文件里的代码

if( session.getAttribute("user")== null && !requestPath.endsWith(loginPage) && !requestPath.endsWith(LoginServlet) && !requestPath.endsWith(".css")&&!requestPath.endsWith(".js") ){
request.setAttribute("loginError" , "您还没有登录呢");

request.getRequestDispatcher(loginPage).forward(request, response);

}