SPRING session 사용하기

조승현·2022년 8월 30일
0

첫번째 방법
컨트롤러 메서드의 매개변수에 HttpSession session 타입을 받으면 servlet api의 세션을 받아 사용하게 된다.

	@PostMapping("/login")
	public Boolean login(@RequestParam(value = "id") String id, @RequestParam(value = "pw") String pw, HttpSession session) {
		final String userId = "admin";
		final String userPw = "1234";
		
		if(id.equals(userId) && pw.equals(userPw)) {
			session.setAttribute("loginId", userId);
			return true;
		}
		
		return false;
	}

두번째 방법
model.addAttribute 사용하는 방법
@SessionAttributes(value="loginId") 어노테이션과 같이 사용해야한다.

  • 어노테이션을 사용하지 않으면 request와 같은 생명주기를 가지게 되기 때문에 session 생명주기와 맞추기 위한 방법이다.
@Slf4j
@RestController
@SessionAttributes(value="loginId") // 모델속성 중 loginId라는 키는 생명주기가 세션과 동
public class HelloController {
		@PostMapping("/login")
	public Boolean login(Model model, @RequestParam(value = "id") String id, @RequestParam(value = "pw") String pw) {
		final String userId = "admin";
		final String userPw = "1234";
		
		if(id.equals(userId) && pw.equals(userPw)) {
			model.setAttribute("loginId", userId);
			return true;
		}
		
		return false;
	}
}
profile
소통을 좋아하는 개발자입니다

0개의 댓글