1 #7

Merged
pc4gok3i8 merged 1 commits from branch_LYH into main 1 year ago

@ -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); // 如果用户已登录,继续执行过滤器链中的下一个过滤器
}
}
}
Loading…
Cancel
Save