프로그래밍/Spring & Spring boot

[Spring/스프링] @SessionAttributes를 이용하여 session에 값 담기

pupu91 2022. 9. 6. 17:46
반응형

 

 

 @SessionAttributes

: 클래스 레벨에  @SessionAttributes 어노테이션을 이용하여 세션에 값을 담을 key 값을 설정

  Model 영역에 해당 key 값이 추가 되는 경우 session 영역에 자동으로 등록 됨.

  @SessionAttributes("id, "a" , "b") 여러개 나열 가능

 

 

session 값 담기

@Controller
@RequestMapping("/first/*")
@SessionAttributes("id") 
public class FirstController {

 	@PostMapping("login2")
	public String sessionTest2(Model model, @RequestParam String id) {
		
		model.addAttribute("id", id);
		
		return "first/loginResult";
	}

}

 

 

 

 

session객체  만료 시키

: session의 상태를 관리하는 SessionsStatus의 setComplete()메소드를 호출하여 @SessionAttributes로 등록 된 값을 제거

  개별 제거는 불가, 저장 된 모든 정보를 제거

@Controller
@RequestMapping("/first/*")
@SessionAttributes("id") 
public class FirstController {

	@GetMapping("logout2")
	public String logoutTest2(SessionStatus sessionStatus) {
    	
        sessionStatus.setComplete();
		
		return "first/loginResult";
    }
}

 

 

 

반응형