1.Filter过滤器
1.实现第一个Filter程序
1 创建一个chapter08的Web项目,在src目录下创建一个包cn.itcast.chapter08.filter,在此包下创建一个MyServlet类,用于访问时在浏览器中输出内容,代码如下:

2. 在web.xml文件中配置Servlet,如图:

启动Tomcat服务器,访问结果如下:

3 在cn.itcast.chapter08.filter包中创建一个MyFilter的Filter类,用于拦截Servlet程序,代码如下:

在web.xml文件中配置Servlet,如图:

2.Filter映射
1.在cn.itcast.chapter08.filter包中创建一个ForwardServlet的Servlet类,用于将请求转发给first.jsp页面,如图:

2. 在web.xml文件中配置ForwardServlet信息,如图:

3. 在WebContent目录中创建一个first.jsp页面,用于输出内容,如下:

4. 在cn.itcast.chapter08.filter包中创建一个ForwardFilter.java,用于对first.jsp页面拦截,如图:

5.在web.xml中,配置过滤器的映射信息,拦截first.jsp页面,如下:

6. 启动Tomcat服务器,访问结果如下:

7.修改web.xml文件中的内容

8.重启Tomcat服务器,结果如下:

3.Filter链
1. 在cn.itcast.chapter08.filter包中创建两个过滤器MyFilter01和MyFilter02,如下:


2.在web.xml文件中配置信息在Servlet之前

3.启动Tomcat服务器,运行结果:

4.FilterConfig接口
1. 在cn.itcast.chapter08.filter包中创建过滤器MyFilter03,代码如下:

2.在web.xml文件中配置信息在最前端,如下:

3.启动Tomcat服务器,运行结果:

2.使用Filter实现用户自动登录
1.编写User类
创建包cn.itcast.chapter08.entity,编写一个User类,用于封装用户信息,如图:

2.实现登录页面和首页
1.在WebContent中,编写login.jsp页面,用于创建用户登录表单,表单中需填写用户名和密码,及用户自动登录的时间,如下图:

2. 在WebContent中,编写index.jsp页面,用于显示用户登录信息,如下图:

3.创建Servlet
1.编写LoginServlet类
在cn.itcast.chapter08.filter包中,编写LoginServlet类,用于处理用户的登录请求,如下:

2. 编写LogoutServlet类
在cn.itcast.chapter08.filter包中,编写LogoutServlet类,用于注销用户的信息,如下:

4.创建过滤器
在cn.itcast.chapter08.filter包中,编写AutoLoginServlet类,用于拦截用户登录的访问请求,如下:

5. 配置映射信息
在web.xml文件中配置相关信息,如下:

6.运行项目,查看结果
启动Tomcat服务器,运行结果如下:
