김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 타임리프 타임리프 사용 선언 간단한 표현: 변수 표현식: ${...} 선택 변수 표현식: *{...} 메시지 표현식: #{...} 링크 URL 표현식: @{...} 조각 표현식: ~{...} 리터럴 텍스트: 'one text', 'Another one!',… 숫자: 0...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 입력 폼 처리 th:object 에서 사용할 객체를 지정한다. 선택 변수 식( *{ } )을 적용할 수 있다. th:field="*{ }" th:field 는 id , name , value 속성을 모두 자동으로 만들어준다. ${item.itemName} 은 *{itmeName}과 같다. ...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 스프링 메시지 소스 사용 메시지가 없는 경우에는 NoSuchMessageException 이 발생한다. 메시지가 없어도 기본 메시지( defaultMessage )를 사용하면 기본 메시지가 반환된다. Locale 에 맞추어 구체적인 것이 있으면 구체적인 것을 찾고, 없으면 디폴트를 찾는다. ...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 검증 직접 처리 - 개발 Controller Form 글로벌 오류 메세지 Safe Navigation Operator errors?. 은 errors 가 null 일때 NullPointerExcepti
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. Bean Validation - 시작 Bean Validation 애노테이션 적용 @NotBlank : 빈값 + 공백만 있는 경우를 허용하지 않는다. @NotNull : null 을 허용하지 않는다. @R
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 회원 가입 Member MemberRepository Controller 로그인 기능 LoginService LoginForm Controller 로그인 처리하기 - 쿠키 사용 로그인을 유지하기 위해 쿠키를 사용한다. 쿠키 서버에서 로그인에 성공하면 HTTP 응답에 쿠키를 담아서 ...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 서블릿 필터 - 소개 로그인을 하지않아도 직접 URL을 치면 접근할수 있다. 컨트롤러에 로그인 여부를 하나하나 작성할 수있지만 코드를 수정해야 할 경우 너무 귀찮아진다. 이렇게 애플리케이션 여러 로직에서 공통으로 관심이 있는 것을 공통 관심사(cross-cutting concern) 라고 한...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 서블릿 예외 처리 - 시작 서블릿은 다음 2가지 방식으로 예외 처리를 지원한다. Exception (예외) response.sendError(HTTP 상태 코드, 오류 메시지) Exception(예외) 자바 직접 실행 자바의 메인 메서드를 직접 실행하는 경우 main 이라는 이름의 쓰레드가 ...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. API 예외 처리 - 시작 HTML 페이지의 경우는 오류페이지만 있다면 대부분 문제를 해결할 수 있다. API는 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야 한다. ApiExceptionController API를 요청하면, 정상의 경우 API로 JSON ...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 스프링 타입 컨버터 소개 Controller HTTP 요청 파라미터는 모두 문자로 처리 숫자 타입으로 변환하는 과정을 거쳐야한다. @RequestParam 을 사용하면 스프링이 중간에서 타입을 변환해준다. 타입 컨버터 - Converter 타입 컨버터를 사용하려면 org.springfra...
김영한님의 스프링 MVC 2편 을 공부하여 정리한 글입니다. 파일 업로드 소개 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. HTML 폼 전송 방식 application/x-www-form-urlencoded multipart/form-data application/x-www-form...