java中使用全局过滤器防止过滤css和js
来源:互联网 发布:富士康java工程师面试 编辑:程序博客网 时间:2024/06/06 01:30
我们使用过滤器验证用户是否登录时一般是不会过滤登录和注册界面的,所以要在过滤器中加一些判断条件来防止过滤这两个界面。但是使用全局过滤器的话会将这两个界面的css和js样式一起过滤掉,所以要在判断条件里加多几个条件。总之只要你不需要过滤掉的界面或控制器都可以在判断条件里加,示例如下
web.xml中的全局过滤器配置:
<!-- 验证是否登录的过滤器 --> <filter> <filter-name>SecurityFilter</filter-name> <filter-class>hua.sms.web.filter.SecurityFilter</filter-class> </filter> <filter-mapping> <filter-name>SecurityFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
过滤器中的过滤条件:
//不过滤登录注册界面 if (session.getAttribute("userName") != null || req.getServletPath().indexOf("login.jsp") > 0 || req.getServletPath().indexOf("register.jsp") > 0 || req.getServletPath().endsWith(".css") || req.getServletPath().endsWith(".js") || req.getServletPath ().contains(".do")) {//已登录chain.doFilter(request, response);//传给下个filter处理 } else {//未登录res.sendRedirect("/sms/login.jsp");//跳转到登录网页,至此中断了过滤链 }
这样就不会过滤掉登录和注册界面了,注意最好用endsWith()来防止过滤css和js样式,用contains的话只要包含这些样式的页面都会被防止过滤。
req.getServletPath().contains(".do") 这句是因为我不需要过滤掉SecurityServlet.do这个控制器的跳转。
0 0
- java中使用全局过滤器防止过滤css和js
- java 使用全局过滤器Filter之后 防止css文件与js文件被过滤
- java 使用全局过滤器Filter之后 防止css文件与js文件被过滤
- 防止常见XSS 过滤 SQL注入 JAVA过滤器filter
- css中过滤器的使用
- Java过滤器过滤乱码
- java过滤器-双向过滤
- java过滤器防止乱码,
- JavaWeb过滤器,过滤请求防止强制访问
- Filter不过滤CSS和JS
- 边学边笔记-Java中的过滤器详细笔记之全局编码统一+html标记转义+脏话过滤
- Orchard模块中使用css和js
- .Net MVC中使用css 和js
- servlet编写Filter过滤器,防止未登录访问,不过滤登陆界面(使用IDEA编写)
- 常见web漏洞——防止常见XSS 过滤 SQL注入 JAVA过滤器filter
- 全局过滤器中排除指定Controller和action方法(二)
- 全局过滤器中排除指定Controller和action方法
- web项目中使用过滤器防止中文乱码问题
- 变量和数据
- c语言二叉树简单创建与遍历
- Cache-control(网页缓存)
- Java的webservice获取客户端IP
- 使用zabbix的ICMP Ping模版实现对客户端网络状态的监控
- java中使用全局过滤器防止过滤css和js
- 怎么在eclipse中安装properties插件使其显示中文
- Kafka消息队列实现业务端确认的方案
- 每天一个linux命令——cut
- 闭包
- 有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位
- 图片的三级缓存
- 教你如何正确的去校验身份证
- LoadRunner解决“服务器正在运行中”方法