Filter不过滤CSS和JS

Filter是Java Web中用于禁止浏览器在未登录的情况下访问内部网址。

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

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

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

建议做法是:改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);

}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。