현재 상태
게시글 쓰기 화면 인증 체크 알고리즘
@RequiredArgsConstructor
@Controller
public class BoardController {
private final BoardRepository boardRepository;
private final HttpSession session; // 세션 생성자 주입
// /board/saveForm 요청(Get)이 온다
@GetMapping("/board/saveForm")
public String saveForm() {
// 세션 영역에 sessionUser 키값에 user 객체가 있는지 비교
User user = (User)session.getAttribute("sessionUser");
// 값이 null이면 로그인 페이지로 리다이렉션
// 값이 null이 아니면 /board/saveForm 로 이동
if (user == null ){
return "redirect:/loginForm";
}
return "board/saveForm";
}
Java
복사
Session에 접근하는 방법 더 알아보기
생성자를 통해서 IoC 객체를 주입 받는 방법
public class BoardController {
// HttpSession을 필드값으로 선언!
private final HttpSession session;
// BoadController 생성자의 매개변수로 Httpsession 주입
public BoardController(HttpSession session) {
this.session = session;
}
Java
복사
HttpServletRquest객체로 접근하는 방법
public String temp (HttpServeletRqueset request) {
// HttpServeletRequest객체의 getSession 메소드를 사용한다.
HttpSession session = request.getSession();
}
Java
복사
해쉬맵 더 알아보기
HashMap<String, Object> map = new HashMap<>();
// 해쉬맵에 매핑할 때, 키값=밸류를 put하면된다.
// 타입이 제네릭과 Object로 받기 때문에 밸류는 어떤 값이든 받을 수 있다.
map.put("sessionUser", "안녕");
map.put("name", 1.0);
// 다만 꺼내 쓸 때 다운캐스팅하여서 사용하여야 된다.
String sessionUser = (String) map.get("sessionUser");
Double name = (Double) map.get("name");
Java
복사