Filter不过滤CSS和JS
2015-02-14 00:35
141 查看
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);
}
用法就不说了,看了下网上的用法基本都是贴的李刚的那本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);
}
相关文章推荐
- java 使用全局过滤器Filter之后 防止css文件与js文件被过滤
- java 使用全局过滤器Filter之后 防止css文件与js文件被过滤
- Crossfilter.js用来过滤数据
- SPRING-MVC 访问静态文件, 如 jpg/js/css,为了忽略springmvc的过滤匹配
- ASP.NET MVC 4 的JS/CSS打包压缩功能-------过滤文件
- 1.设置某些资源(如图片,css,js)在浏览器缓存的时间:Filter
- 2.设置某些资源(如图片,css,js)在浏览器缓存的时间:Filter配置
- Asp.net中如何过滤html,js,css代码
- KindEditor编辑器关闭过滤html,js,css标题方法
- Asp.net中如何过滤html,js,css代码
- fiddler filter 过滤css 图片等
- springmvc的前端控制器对css、js等进行过滤
- C# 正则过滤html,js,css代码
- 利用 filter 机制 给 静态资源 url 加上时间戳,来防止js和css文件的缓存,利于开发调试
- 利用 filter 机制给静态资源 url 加上时间戳,来防止js和css文件的缓存问题
- jquery.fastLiveFilter.js实现输入自动过滤的方法
- php完全过滤HTML,JS,CSS等标签
- CuteEditor 去除 样式 css (和过滤 js) 的问题解决办法
- Asp.net中如何过滤html,js,css代码
- 用php过滤网页中所有的html,css,js代码