过滤器

过滤器
实现过滤器的步骤
1、创建普通的Java类
2、实现Javax.servlet.Filter接口,并实现对应的方法
设置web.xml的配置文件
过滤器链
如果有多个过滤器,拦截顺序为web.xml中的配置顺序,谁先配置谁先执行
放行时,如果有下一个过滤器,会自动放行到下一个过滤器,如果没有则放行到指定资源
请求时:先配置先执行,响应时:相反的顺序执行
字符集过滤器
处理post请求 request.setCharacterEncoding(“UTF-8”);
get请求
得到请求类型 String method = request.getMethod();
判断是否是get请求 if(“GET”.equalsIgnoceCase(method))
得到服务器版本 String serverInfo = request.getServletContext().getServerInfo();//Apache Tomcat/8.0.45
通过截取,得到具体的版本号 String versionStr =serverInfo.substring(serverInfo("/")+1),serverInfo.indexOf("."));
判断服务器的版本是否是Tomcat7以下版本 if(versionStr !=null && Integer.parseInt(versionStr)<8 )
实现javax.servlet.Fileter的接口
init(FilterConfig filterConfig)
服务器自动调用,初始化方法,只执行一次,在服务器启动时就初始化
doFilter(ServletRequest request, ServletResponse response)
过滤方法,每次请求时都会调用
destroy()
销毁方法,服务器自动调动,只会执行一次,在关闭服务器时触发
非法访问拦截
默认拦截所有资源
什么情况需要拦截
用户访问一些需要登录成功之后才能访问的资源
什么时候放行
1、指定页面,放行(无需登录即可访问的页面,比如登录页面、注册页面)
2、指定资源,放行(静态资源,放行:存放在statics目录下的资源放行)
3、指定操作,放行(无需用户登录即可执行的操作,放行:比如登录操作、注册操作)
4、登录状态,放行(session作用域中是否存在指定对象)
如果以上情况都不满足,则拦截跳转到登录界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值