*λͺ©ν*
- http://localhost:8080/saveSessionAge/(λμ΄ μ λ ₯) νΈμΆμ μΈμ μ μ λ ₯ν λμ΄κ° μ μ₯λ¨
- http://localhost:8080/getSessionAge νΈμΆμ μΈμ μ μ μ₯λ λμ΄κ° μΆλ ₯
βοΈ Session μ κ°μ μ μ₯νλ λ°©λ²
1οΈβ£ HttpServletRequest νμ©
@RequestMapping("/saveSessionAge/{age}")
@ResponseBody
public String showSaveSessionAge (@PathVariable Integer age, HttpServletRequest req) {
HttpSession session = req.getSession();
session.setAttribute("age", age);
return "Age : %d κ°μ μ μ₯νμ΅λλ€.".formatted(age);
}
μΈμ μ κ°μ§κ³ μ€κΈ° μν΄ μ HttpServletRequest κ° νμν κΉ? μλμ κ°μ κ°λ μΌλ‘ μκ°ν μ μλ€.
Request κ°μ²΄ μ -> μΏ ν€ -> JSESSIONID ( = ν°μΊ£ 컨ν μ΄λμμ μΈμ μ μ μ§νκΈ° μν΄ λ°κΈνλ ν€) -> SESSION
F12 λ‘ κ°λ°μ λꡬλ₯Ό μ΄μ΄μ μΏ ν€μμ JSESSIONID κ° μλ κ²μ νμΈ ν μ μλ€.

2οΈβ£ HttpSession νμ©
μΈμ λ§ νμ©νλ©΄ λλ μν©μ΄λΌλ©΄ Request κ°μ²΄λ₯Ό λΆλ¬μμ λ λ€μ μΈμ μ μ»κΈ° 보λ€λ HttpSession μ λΆλ¬μμ λ°λ‘ μ¬μ©κ°λ₯νλ€.
@RequestMapping("/saveSessionAge/{age}")
@ResponseBody
public String showSaveSessionAge (@PathVariable Integer age, HttpSession session) {
session.setAttribute("age", age);
return "Age : %d κ°μ μ μ₯νμ΅λλ€.".formatted(age);
}
βοΈ Session μμ κ°μ λΆλ¬μ€λ λ°©λ²
μΈμ μ κ°μ μ μ₯νλ κ²κ³Ό κ±°μ μ μ¬νλ€. setAttribute λμ μ getAttribute λ₯Ό μ¬μ©νλ©΄ λλ€.
@RequestMapping("/getSessionAge")
@ResponseBody
public String showGetSessionAge (HttpServletRequest req) {
HttpSession session = req.getSession();
Object age = session.getAttribute("age"); // set λμ get
return "μΈμ
μ μ μ₯λ λμ΄λ %dμ΄ μ
λλ€.".formatted(age);
}
βοΈ κ²°κ³Ό νμΈ


getSessionAge μ κ²°κ³Όκ° μ€νλ§ λΆνΈ μ¬μμ νμλ μ μμ μΌλ‘ μΆλ ₯λλ κ²λ νμΈ κ°λ₯νλ€.