Javaweb开发了解前端知识十二、Filter过滤器

1Filter

1.1、什么是Filter

1.2、举例说明Filter

1.3Filter的生命周期(与Servlet的生命周期比较)

1.4FilterConfig

1.5FilterChain 过滤器链

2.ThreadLocal的使用


1Filter

1.1、什么是Filter

1、首先Filter是一个接口。

2、Filterjava Web三大组件之一。   javaWeb三大组件分别是:Servlet小程序、Filter过滤器、Listener监听器

3、Filter是服务器专门用来过滤请求,拦截响应的。

 

 

Filter的常见作用:

1、检查用户访问权限。

2、设置请求响应编码,解决乱码问题。

 

 

1.2、举例说明Filter

需求:

现在在WebContent目录下有一个目录admin。这个目录是管理员操作的目录。这个目录里有jsp文件,有html文件,还有图片资源文件。现在我们要让这些资源都在用户登录才能被访问。那么我们要怎么实现这样的需求。

思路:

Session的局限:有人可能会想,我们可以在用户登录之后。把用户的信息保存在Session域对象中。然后在jsp页面里通过Session域对象获取用户的信息,如果用户信息存在,说明用户已登录。否则就重定向到登录页面。这个方案可行。可是html页面呢? html页面是没有Session域对象的。或者访问一张图片呢?如何在访问之前拦截呢?

解决方案:

这就需要我们使用Filter过滤器来进行请求的拦截。然后判断Session域对象中是否包含用户的信息。

现在我们以admin目录下user.jsp为例进行讲解。

 

1、首先,我们需要创建一个类来实现Filter接口,用来检查Session中是否包含用户信息。

2、实现Filter中的doFilter方法

3、然后到web.xml文件中去配置Filter的过滤信息。

4、然后重启服务器访问测试


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值