diff --git a/javaweb_project/src/com/hua/filter/AcdemicDeanJspFilter.java b/javaweb_project/src/com/hua/filter/AcdemicDeanJspFilter.java index a8e18d7..c32be1c 100644 --- a/javaweb_project/src/com/hua/filter/AcdemicDeanJspFilter.java +++ b/javaweb_project/src/com/hua/filter/AcdemicDeanJspFilter.java @@ -1,14 +1,14 @@ -package com.hua.filter; +package com.hua.filter; // 定义包名,存放自定义的过滤器类 -import java.io.IOException; -import javax.servlet.DispatcherType; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebFilter; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import java.io.IOException; // 导入IOException,用于处理IO异常 +import javax.servlet.DispatcherType; // 导入DispatcherType,用于定义过滤器的调度类型 +import javax.servlet.FilterChain; // 导入FilterChain,用于调用过滤器链中的下一个过滤器 +import javax.servlet.ServletException; // 导入ServletException,用于处理servlet异常 +import javax.servlet.annotation.WebFilter; // 导入WebFilter注解,用于声明过滤器 +import javax.servlet.http.HttpServletRequest; // 导入HttpServletRequest,用于处理HTTP请求 +import javax.servlet.http.HttpServletResponse; // 导入HttpServletResponse,用于处理HTTP响应 -import com.hua.entity.User; +import com.hua.entity.User; // 导入User实体类,用于获取用户信息 /** * 访问教务员用户下的所有页面的过滤器 @@ -16,29 +16,29 @@ import com.hua.entity.User; * @author hua * */ -@WebFilter(dispatcherTypes = { - DispatcherType.REQUEST, - DispatcherType.FORWARD, - DispatcherType.INCLUDE - } - , urlPatterns = { "/acdemic_dean/*" }) -public class AcdemicDeanJspFilter extends HttpFilter { +@WebFilter(dispatcherTypes = { // 使用WebFilter注解定义过滤器,指定过滤器的调度类型 + DispatcherType.REQUEST, // REQUEST类型,处理用户请求 + DispatcherType.FORWARD, // FORWARD类型,处理请求转发 + DispatcherType.INCLUDE // INCLUDE类型,处理请求包含 +} + , urlPatterns = { "/acdemic_dean/*" }) // 指定过滤器的URL模式,匹配/acdemic_dean/路径下的请求 +public class AcdemicDeanJspFilter extends HttpFilter { // 定义AcdemicDeanJspFilter类,继承自HttpFilter @Override - public void doFilter(HttpServletRequest request, - HttpServletResponse response, FilterChain filterChain) + public void doFilter(HttpServletRequest request, // 覆盖doFilter方法,处理请求 + HttpServletResponse response, FilterChain filterChain) throws IOException, ServletException { - User user = (User) request.getSession().getAttribute("user"); - - if(user == null){ - String message = "账号已过期,请重新登录"; - request.getSession().setAttribute("message", message); - //重定向回到登录页面 - response.sendRedirect(request.getContextPath() + "/login/login.jsp"); + User user = (User) request.getSession().getAttribute("user"); // 从session中获取user对象 + + if(user == null){ // 如果user对象为null,说明用户未登录或会话已过期 + String message = "账号已过期,请重新登录"; // 设置提示信息 + request.getSession().setAttribute("message", message); // 将提示信息放入session中 + // 重定向回到登录页面 + response.sendRedirect(request.getContextPath() + "/login/login.jsp"); // 获取上下文路径并重定向到登录页面 } - - filterChain.doFilter(request, response); + + filterChain.doFilter(request, response); // 如果用户已登录,继续执行过滤器链中的下一个过滤器 } - -} + +} \ No newline at end of file