컨트롤러에서 쿠키 사용사용자의 편의를 위해 아이디를 기억하고, 다음에 로그인 시도 시, 아이디를 자동으로 넣어주는 사이트가 많음해당 기능을 구현하기 위해 쿠키를 사용한다.이메일 기억하기 기능 구현 방식로그인 폼에 '이메일 기억하기' 옵션 추가로그인 시에 '이메일 기억하기' 옵션을 선택했으면 로그인 성공 후 쿠키에 이메일 저장-> 쿠키는 웹 브라우저를 닫더라도 삭제되지 않도록 유효시간을 길게 설정이후 로그인 폼을 보여줄 때 이메일을 저장한 쿠키가 존재하면 입력 폼에 이메일을 보여준다.컨트롤러에 적용스프링 MVC에서 쿠키를 사용하는 방법 @CookieValue@CookieValue 애노테이션 : 요청 매핑 애노테이션 적용 메서드의 Cookie 파라미터에 적용@GetMappingpublic String for..
Web
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnrtRI%2FbtsHwc5c1ZB%2FCnARLSbsNWN1wzSwsvOYH0%2Fimg.png)
컨트롤러에서 HttpSession 사용요청 매핑 애노테이션 적용 메서드에 HttpSession 파라미터 추가요청 매핑 애노테이션 적용 메서드에 HttpServletRequest 파라미터 추가 후, HttpServletRequest를 이용해서 HttpSession 구하기요청 매핑 애노테이션 적용 메서드에 HttpSession 파라미터 추가@GetMappingpublic String form(LoginCommand loginCommand, HttpSession session) { return "login/loginForm";}요청 매핑 애노테이션 적용 메서드에 HttpSession 파라미터가 존재할 경우 스프링 MVC는 컨트롤러의 메서드를 호출할 때 HttpSession 객체를 파라미터로 전달HttpS..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtoKTA%2FbtsGHsaCzre%2FrHqo8RCO8T4PxP6S2f5KT1%2Fimg.png)
처음 스프링 MVC를 이용해서 웹 개발을 하다 보면 사소한 설정 오류나 오타로 고생합니다. 이번 시간에는 입문 과정에서 겪게 되는 에러 사례를 정리해 보았습니다. 요청 매핑 애노테이션과 관련된 주요 익셉션 흔한 에러는 404 에러입니다. 요청 경로를 처리할 컨트롤러가 존재하지 않거나 WebMvcConfigurer를 이용한 설정이 없다면 404 에러가 발생합니다. 404 에러가 발생하면 - 요청 경로가 올바른지 - 컨트롤러에 설정한 경로가 올바른지 - 컨트롤러 클래스를 빈으로 등록했는지 - 컨트롤러 클래스에 @Controller 애노테이션을 적용했는지 뷰 이름에 해당하는 JSP파일이 존재하지 않아도 404에러가 발생합니다. 차이점으로 메시지에 해당 뷰가 없다고 표시됩니다. 위 그림과 같은 에러가 발생한다면..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTzNTE%2FbtsFyu82dB2%2FWkn98BfbfbhZ6qKuKZApU0%2Fimg.png)
이번 시간에는 @EnableTransactionManagement 애노테이션에이 제공하는 속성에 대해 알아봅시다. @EnableTransactionManagement 애노테이션의 속성 속성 설명 proxyTargetClass 클래스를 이용해서 프록시를 생성할지 여부를 지정한다. 기본값은 false로서 인터페이스를 이용해서 프록시를 생성한다. order AOP 적용 순서를 지정한다. 기본값은 가장 낮은 우선순위에 해당하는 int의 최댓값이다. 트랜잭션 전파 public class SomeService{ private AnyService anyService; @Transactional public void some(){ anyService.any(); } public void setAnyService(Any..