需求:Servlet+JSP+MySQL 登錄系統,跳轉頁面時保持賬號狀態。標準方案:
// 登錄成功
HttpSession session = request.getSession();
session.setAttribute("user", user); // 存入用戶對象或 ID
session.setMaxInactiveInterval(30*60); // 30 分鐘超時
// 後續頁面
User user = (User) session.getAttribute("user");
if (user == null) response.sendRedirect("login.jsp");
Cookie cookie = new Cookie("uid", user.getId());
cookie.setMaxAge(7*24*3600); // 7 天
cookie.setPath("/");
response.addCookie(cookie);
// 讀取
Cookie[] cookies = request.getCookies();
// 遍歷找 uid,查庫恢復用戶對象