一、什么是Filter过滤器
1.Filter过滤器是JavaWeb的三大组件之一。三大组件分别是:Servlet程序、Listener监听器、Filter过滤器
2.Filter过滤器它是一个接口
3.Filter过滤器的作用是:拦截请求和过滤响应
3.1过滤器负责过滤的Web组件可以是:Servlet、JSP或HTML文件等等,过滤器的过滤过程如下图所示:
二、创建和使用Filter过滤器
问题引入:根据之前我们学过内容。我们知道,用户登录之后都会把用户登录的信息保存到 Session 域中。所以要检查用户是否登录,可以判断 Session 中否包含有用户登录的信息即可。所以当用户想直接访问web目录下的一些文件资源的时候,需要登录提交表单通过后才可以访问。否则就会被跳转回登录界面。
login.jsp 页面 == 登录表单
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这是登录页面<br>
<form action="http://localhost:8080/13_Filter/loginServlet" method="get">
用户名:<input type="text" name="username"/> <br>
密 码:<input type="text" name="password"/> <br>
<input type="submit">
</form>
</body>
</html>
LoginServlet 程序
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html; Charset=UTF-8");
String username = req.getParameter("username");
String password = req.getParameter("password");
if("wxr".equals(username)&&"123".equals(password)){