Filter是服务器端的组件,用来过滤web请求。流程是这样的,当一个web请求进来时,web容器会先检查请求的URL是否设置了Filter,如果设置了,则执行该Filter的doFilter方法。所有Filter都实现了javax.servlet.Filter接口,doFilter是定义在该接口中的最重要的方法。
最常见的使用过滤器的例子有:登录验证(有些页面只有登录了才能访问)
今天我用一个验证登录例子,让大家对Filter(过滤器)有一个更深的认识。本例包含上一遍的图书页面,一个login.jsp页面,一个fail.jsp页面,一个LoginFilter。我在配置文件中指定将LoginFilter用于index.jsp,当用户访问index.jsp页面时,如果未登录,则重定向到login.jsp进行登录,如果登录错误,则重定向到fail.jsp提示错误信息。
2、在第十篇基础上继续实现功能——第十一篇JDBC操作数据库之Filter过滤器(登录验证)。
一.简单的登录界面login.jsp
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
登录界面method="post">
用户名: | |
密码: | |
二.简单的错误界面fail.jsp
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
登录失败登录失败,用户名或密码有误!
三.Login.java
1.获取用户