Spring과 JavaScript를 활용한 상태 관리 및 세션 접근
@PostMapping("/check")
public ResponseEntity<String> checkSomething() {
try {
// Some business logic
return ResponseEntity.ok("Success");
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Error");
}
}
@GetMapping("/check-username")
public boolean checkUsername(@RequestParam String username) {
return userService.isUsernameAvailable(username);
}
<p th:text="${#session.getAttribute('username')}"></p>
<div th:if="${#session.getAttribute('user') != null}">
<p>Welcome, <span th:text="${#session.getAttribute('user')}">User</span></p>
</div>
<div th:unless="${#session.getAttribute('user') != null}">
<a href="/login">Login</a>
</div>
🔎 세션값 접근 방법
- getAttribute():
특정 키를 사용하여 세션에서 값을가져온다- setAttribute():
세션에 값을 저장할 때 사용- removeAttribute():
세션에서 특정 키의 값을 제거
HttpSession session = request.getSession();
session.setAttribute("user", user); // 세션에 데이터 저장
session.getAttribute("user"); // 세션에서 데이터 가져오기
session.removeAttribute("user"); // 세션 데이터 제거