java web 进阶篇(二)过滤器

Servlet可以分为简单servlet,过滤Servlet, 监听Servlet;

Filter过滤器,是当需要限制用户访问某些资源或者在处理请求时候提前处理某些资源时,即可以使用过滤器完成。

如果要使用一个过滤器必须让一个类实现javax.servlet.Filter接口即可,此接口定义了三个方法,

NO方法类型描述
1public voidinit(Filteronfig  config)普通过滤器的初始化时调用,可以通过FilterConfig取得配置的初始化参数
2pubic void doFilter(ServletRequest request,  ServletResponse response, FilterChain chain )普通完成具体的过滤操作,然后通过FilterChain让请求继续向下传递
3public void destory()普通过滤器销毁时使用给

FilterChain接口的主要作用是将用户的请求传递给其他的过滤器或者Servlet,此接口的方法如下

public void doFilter(ServletRequset request, ServletResponse response)throws Excepton  将请求向下继续传递


登入验证是所有web开发中不可缺少的部分,最早的做法是通过session验证,但是如果每个页面都这样做的话,造成大量代码重复,所以我们使用过滤器可以避免重复的这种操作。

需要注意的是,session本身属于HTTP协议,但是doFilter()方法中定义的是ServletRequest类型的对象,那么要想获得session,则必须进行向下转型,将ServletRequest变为HttpServletRequest接口对象,才能通过getSession()获得session。

例如我们在doFilter方法中

HttServletRequest req=(HttpServletRequest)request;

HttpSession  ses=req.getSession();



监听器

主要负责监听web的各种操作,当相关的时间触发后将产生时间,并对时间进行处理。

本部分不做详细介绍,如有需要请查阅相关资料。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值