[SPRING]#49 도서 쇼핑몰 구현 (유효성 검사2)
·
SPRING
JSR-380으로 유효성 검사 JSR-380은 필드에 대해 유효성 검사의 제약 사항 애너테이션을 선언하여 해당 멤버의 변수 값이 올바른지 검사하는 것을 말합니다. Bean Validation 2.0이라고도 합니다. JSR-380을 이용한 처리 과정은 다음과 같습니다. JSR-380 제약 사항의 애너테이션 선언 (도메인 객체) @Valid를 이용한 유효성 검사 실행 (요청 처리 메소드) 태그로 오류 메시지 출력 (응답 웹 페이지) JSR-380 애너테이션 선언 JSR-380 애너테이션은 Hibernate Validator가 제공하는 애너테이션을 따릅니다. 마찬가지로 JSR-380 애너테이션도 필드에 제약 사항을 설정할 수 있습니다. 형식은 다음과 같습니다. public class 클래스 이름 { @JSR-..
[SPRING]#48 도서 쇼핑몰 구현 (유효성 검사1)
·
SPRING
유효성 검사의 개요 웹의 폼 페이지에서 데이터 값을 입력하고 [전송] 버튼을 누르면 폼의 데이터 값이 서버로 넘어갑니다. 이 때, 유효하지 않은 데이터 값이 서버로 전송될 수 있습니다. 이러한 경우를 방지하기 위해서 데이터 값을 서버로 전송하기 전에 검사해서 부적합하다고 판단될 시 폼 페이지로 다시 되돌려 오류를 알립니다. 이렇게 유효성 검사란, 폼 페이지에서 입력한 데이터의 값들이 정해진 규정으로 정확히 입력되었는지 타당한지 검사하는 것을 말합니다. 대표적으로 아이디 중복 검사, 아이디나 패스워드 검사, IP 패킷 검사 등이 있습니다. 유효성 검사의 유형 폼 데이터 값에 대한 유효성 검사는 JSR-380 Validation이나 스프링이 제공하는 Validator 인터페이스를 사용하여 구현할 수 있습니다..
[SPRING]#47 도서 쇼핑몰 구현 (다국어 처리4)
·
SPRING
LocaleResolver와 LocaleChangeInterceptor를 이용하여 다국어 변경 앞서 배운 MessageSource를 기반으로 언어를 쉽게 변경할 수 있도록 해주는 LocaleResolver와 LocaleChangeInterceptor를 이용해서 도서 등록 페이지의 언어를 로케일에 따라 변경할 수 있도록 구현해보겠습니다. 이 때, 앞서 만든 메시지 리소스 파일을 사용합니다. servlet-context.xml LocaleResolver와 LocaleChangeInterceptor 객체를 등록해줍니다. 세션에 로케일 정보를 저장하는 SessionLocaleResolver를 사용합니다. defaultLocale로는 ko로 설정하여 기본 로케일로 한국어가 출력되도록 합니다. 로케일을 변경할때는 ..
[SPRING]#46 도서 쇼핑몰 구현 (다국어 처리3)
·
SPRING
LocaleResolver와 LocaleChangeInterceptor를 이용한 다국어 변경 메시지 리소스 파일을 읽어 로케일에 따라 각 언어에 맞게 출력이 가능한 LocaleResolver와 다양한 언어를 자유롭게 선택해서 변경 가능한 LocaleChangeInterceptor를 공부해봅니다. LocaleResolver 환경 설정 스프링 MVC는 LocaleResolver를 이용해서 로케일을 추출해 알맞은 언어로 페이지에 출력이 가능합니다. 다시 말해서 디스패치 서블릿은 웹 요청이 들어올 시 LocaleResolver를 검색합니다. 로케일 객체를 검색해서 이를 이용해 로케일을 설정합니다. ... 다음은 빈 객체로 설정 가능한 LocaleResolver 구현체 유형입니다. 유형 설명 AcceptHeade..
[SPRING]#45 도서 쇼핑몰 구현 (다국어 처리2)
·
SPRING
MessageSource를 이용하여 다국어 처리 앞서 배운 MessageSource를 이용해서 도서 등록 페이지의 폼 필드 이름을 다국어로 처리하여 출력해봅니다. servlet-context.xml MessageSource 구현체의 빈 객체를 등록합니다. ResourceBundleMessageSource 클래스를 등록합니다. 메시지 리소스 파일은 mesages.properties가 됩니다. 한글을 출력하기 위해 인코딩은 UTF-8로 설정합니다. messages_ko.properties src/main/resources 폴더에 파일을 생성하고 다음과 같이 작성해줍니다. addBook.form.title.label = \uB3C4\uC11C \uB4F1\uB85D addBook.form.subtitle.la..
[SPRING]#44 도서 쇼핑몰 구현 (다국어 처리1)
·
SPRING
다국어 처리 개요 다국어 처리란 웹 브라우저의 locale에 따라 다양한 언어를 지원하는 것입니다. 로케일이란 사용자의 나라 혹은 환경에 따라 결정되는 요소들을 의미합니다. 예를 들면 언어, 글자, 날짜, 통화 기호 등이 있습니다. 스프링 MVC에서 사용자의 로케일에 따라 표시되는 언어를 변경하는 서비스인 국제화를 지원합니다. 국제화란 기술의 변경 없이 지역적 차이에 따라 소프트웨어에 적용 가능하게 하는 과정을 의미합니다. 다시 말해서 코드 수정 없이 로케일에 따라 언어를 변경할 수 있습니다. 다국어 처리를 하기 위해서는 MessageSource를 적용해야 합니다. MessageSource를 사용해서 화면에 출력할 메시지를 다국어로 쉽게 표현 가능합니다. MesageSource를 기반으로 하는 Local..
[SPRING]#43 도서 쇼핑몰 구현 (로그 기록6)
·
SPRING
HandlerInterceptorAdapter를 사용하여 로그 기록 HandlerInterceptorAdapter 클래스와 Log4j를 이용해서 웹으로 접근하는 사용자를 파일에 출력하도록 구현합니다. log4j.xml 태그의 name을 audit으로 입력해주고 file 출력을 설정합니다. 기존 로그 파일을 지우고 새로 생성합니다. 파일 크기는 10KB로 설정합니다. 최대값은 10MB입니다. 생성할 백업 파일의 수는 5개로 설정합니다. 기본값은 1입니다. 로그 파일 이름을 설정합니다. 레이아웃과 출력 형식을 설정합니다. 로깅 레벨 범위를 지정하는 클래스를 설정합니다. 로깅 레벨의 최하위, 최상위 레벨을 설정합니다. AuditingInterceptor.java interceptor 패키지에 AuditingI..
[SPRING]#42 도서 쇼핑몰 구현 (로그 기록5)
·
SPRING
파일로 로그 기록 출력 로그 기록을 메모장 파일로 출력하기 위해서 다음과 같이 파일의 내용을 추가해줍니다. log4j.xml file 출력을 위해서 태그 monitor 이름으로 설정해줍니다. 기존 로그 파일을 지우고 새로 생성합니다. 파일 크기는 10KB입니다. 최대값은 10MB 입니다. 생성할 백업 파일의 수는 5로 설정해줍니다. 기본값은 1입니다. 로그 파일 이름을 설정해줍니다. 출력 형식을 설정합니다. 로깅 레벨의 범위를 지정하는 클래스를 설정하고 최하위 레벨과 최상위 레벨을 설정해줍니다. 실행 결과 /books를 입력하여 실행하고 C:\Logs\monitor.log 를 확인해봅니다. 다음과 같이 텍스트 파일로 로그가 출력된 것을 확인하였습니다.