开发步骤
1.定义一个类实现一个接口 javax.servlet.Filter
2.完成doFilter方法 chain.doFilter(request,response)
Filter过滤器的工作原理
当前台提交请求的时候,如果访问的路径"像"这个过滤器配置的路径模式,那么在到达目的地之前,首先会进入到过滤器的doFilter方法,然后再继续往前走,访问jsp.html或者servlet路径,在看到页面效果或执行完servlet逻辑以后,再回到过滤器,执行未完成的逻辑。
带领请求继续往前走(servlet/html/jsp/下一个过滤器),(*)先后顺序是由mapping节点的顺序决定的
chain.doFilter(request,response);
运行特点非常像电路贿赂
生命周期
类同servlet,但是比servlet在时间上更早
1.在第一次接受请求的时候,会加载对应的servlet类
2.创建这个实例,并且调用它的初始化方法(init)
3.每请求一次,就执行一次它的service方法
4.在Tomcat容器关闭的时候,就会调用destroy方法
(注:1,2,4步骤只执行一次)
在项目中的应用方式
编码
不需要修改原先的servlet代码逻辑,就能达到编码的目的
成本相对较低,可以在不修改原先代码的情况下增加新功能一劳永逸
权限管理
以会员的方式访问网站,需要通过login.jsp登陆进去,然后后台会把这个用户的信息以别名存放在session中,登陆以后会访问会员才能看到页面main.jsp
处理细节
把需要受保护的页面使用文件夹单独装起来
好处:被保护的页面不需要做任务的修改