Java 中使用 Session 物件(以登入、退出功能為例)

雾化饼干發表於2024-10-27

一、建立 Session(登入功能)

使用 session.setAttribute(value, key) 儲存 key 屬性的值 value

@RequestMapping("/login")
public String login(String username, String password, HttpSession session) {
    // 驗證賬號密碼是否錯誤
    if(username != "張三" || password != "123") {
        // 賬號或密碼錯誤,返回登入頁面
        return "/login";
    }

    // 儲存使用者資訊到 session 物件
    session.setAttribute("username", username);
    // 登入成功,進入首頁
    return "/home"
}

二、讀取 Session

前端獲取 Session 值

<p>[[${session.username}]]</p>

後端獲取 Session 值

session.getAttribute("username");

三、清除 Session(退出登入)

使用 session.invalidate() 清除 session 儲存的值

@RequestMapping("/logout")
public String logout(HttpSession session, Model model) {
    // 清除session
    session.invalidate();
    // 重定向到登入頁
    return "redirect:/login";
}

相關文章