@DateTimeFormat 변환 처리에 대한 이해지정한 형식의 문자열을 LocalDateTime 타입으로 변환누가 LocalDateTime 타입으로 변환해줄까? WebDataBinderWebDataBinder스프링 MVC는 요청 매핑 애노테이션 적용 메서드와 DispatcherServlet 사이를 연결하기 위해 RequestMappingHandlerAdapter 객체를 사용한다.RequestMappingHandlerAdapter 객체는 요청 파라미터와 커맨드 객체 사이의 변환 처리를 위해 WebDataBinder를 이용한다.WebDataBinder는 커맨드 객체를 생성커맨드 객체의 프로퍼티와 같은 이름을 갖는 요청 파라미터를 이용해서 프로퍼티 값을 생성WebDataBinder는 직접 타입을 변환하지 않..
컨트롤러에서 쿠키 사용사용자의 편의를 위해 아이디를 기억하고, 다음에 로그인 시도 시, 아이디를 자동으로 넣어주는 사이트가 많음해당 기능을 구현하기 위해 쿠키를 사용한다.이메일 기억하기 기능 구현 방식로그인 폼에 '이메일 기억하기' 옵션 추가로그인 시에 '이메일 기억하기' 옵션을 선택했으면 로그인 성공 후 쿠키에 이메일 저장-> 쿠키는 웹 브라우저를 닫더라도 삭제되지 않도록 유효시간을 길게 설정이후 로그인 폼을 보여줄 때 이메일을 저장한 쿠키가 존재하면 입력 폼에 이메일을 보여준다.컨트롤러에 적용스프링 MVC에서 쿠키를 사용하는 방법 @CookieValue@CookieValue 애노테이션 : 요청 매핑 애노테이션 적용 메서드의 Cookie 파라미터에 적용@GetMappingpublic String for..
로그인 하지 않은 상태에서 사용자의 정보(이름, 비밀번호 등)를 바꾸려고 할 때, 세션에서 커맨드 객체 검사하는 코드 추가@GetMappingpublic String form(@ModelAttribute("command") ChangePwdCommand pwdCmd, HttpSession session) { AuthInfo authInfo = (AuthInfo) session.getAttribute("authInfo"); return authInfo == null ? "redirect:/login" : "edit/changePwdForm";}실제 웹 어플리케이션에서는 위와 같이 비밀번호 변경 기능 외에 더 많은 기능에 로그인 여부를 확인해야하고, 코드 중복이 발생한다.이렇게 다수의 컨트롤러에 ..
Errors에 에러 코드를 추가하면 JSP 는 스프링이 제공하는 form:errors> 태그를 사용해서 에에 해당하는 메시지를 출력 : : : : "> form:errors> 태그의 path 속성에러 메시지를 출력할 프로퍼티 이름을 지정에러 코드에 해당하는 메시지 코드를 찾을 때의 규칙1) 에러코드 + . + 커맨드객체이름 + "." + 필드명2) 에러코드 + . + 필드명3) 에러코드 + . + 필드타입..
커맨드 객체의 값 검증의 중요성폼에 입력한 값을 검증하지 안흥면 잘못된 값이 시스템에 입력되어 어플리케이션이 비정상 동작할 수 있음에러 메시지를 제대로 보여주지 않으면 사용자는 서비스를 제대로 이용할 수 없음스프링이 제공하는 해결 방법커맨드 객체를 검증하고 결과를 에러 코드로 저장JSP에서 에러 코드로부터 메시지를 출력커맨드 객체 검증과 에러 코드 지정하기스프링 MVC에서 커맨드 객체의 값이 올바른지 검사하기 위해 사용하는 인터페이스org.springframework.validationValidatorErrors객체를 검증할 때 사용하는 Validator 인터페이스package org.springframework.validation;public interface Validator { boolean ..