Spring
스프링 MVC 2 - 프로젝트 준비 V2
스프링 MVC 2 - 프로젝트 준비 V2
2022.08.23프로젝트 준비 V2 앞서 만든 기능을 유지하기 위해, 컨트롤러와 템플릿 파일을 복사하자. ValidationItemControllerV2 컨트롤러 생성 hello.itemservice.web.validation.ValidationItemControllerV1 복사 hello.itemservice.web.validation.ValidationItemControllerV2 붙여넣기 URL 경로 변경: validation/v1 → validation/v2/ 템플릿 파일 복사 validation/v1 디렉토리의 모든 템플릿 파일을 validation/v2 디렉토리로 복사 /resources/templates/validation/v1 → /resources/templates/validation/v2/ addFor..
스프링 MVC 2 - 검증 직접 처리 - 개발
스프링 MVC 2 - 검증 직접 처리 - 개발
2022.08.23검증 직접 처리 - 개발 상품 등록 검증 먼저 상품 등록 검증 코드를 작성해보자. ValidationItemControllerV1 - addItem() 수정 검증 오류 보관 Map errors = new HashMap(); 만약 검증시 오류가 발생하면 어떤 검증에서 오류가 발생했는지 정보를 담아둔다. 검증 로직 import org.springframework.util.StringUtils; 추가 필요 검증시 오류가 발생하면 errors에 담아둔다. 이때 어떤 필드에서 오류가 발생했는지 구분하기 위해 오류가 발생한 필드명을 key로 사용한다. 이후 뷰에서 이 데이터를 사용해서 고객에게 친절한 오류 메시지를 출력할 수 있다. 특정 필드의 범위를 넘어서는 검증 로직 특정 필드를 넘어서는 오류를 처리해야 할 수..
스프링 MVC 2 - 검증 직접 처리 - 소개
스프링 MVC 2 - 검증 직접 처리 - 소개
2022.08.22검증 직접 처리 - 소개 상품 저장 성공 사용자가 상품 등록 폼에서 정상 범위의 데이터를 입력하면, 서버에서는 검증 로직이 통과하고, 상품을 저장하고, 상품 상세 화면으로 redirect한다. 상품 저장 검증 실패 고객이 상품 등록 폼에서 상품명을 입력하지 않거나, 가격, 수량 등이 너무 작거나 커서 검증 범위를 넘어서면, 서버 검증 로직이 실패해야 한다. 이렇게 검증에 실패한 경우 고객에게 다시 상품 등록 폼을 보여주고, 어떤 값을 잘못 입력했는지 친절하게 알려주어야 한다. 이제 요구사항에 맞추어 검증 로직을 직접 개발해보자.
스프링 MVC 2 - 프로젝트 설정 V1
스프링 MVC 2 - 프로젝트 설정 V1
2022.08.22프로젝트 설정 V1 이전 프로젝트에 이어서 검증(Validation) 기능을 학습해보자. 이전 프로젝트를 일부 수정해서 validation-start 프로젝트로 재생성. 프로젝트 설정 순서 validation-start의 폴더 이름을 validation로 변경하자 프로젝트 임포트 File → Open → 해당 프로젝트의 build.gradle을 선택하자. 그 다음에 선택창이 뜨는데, Open as Project를 선택하자. ItemServiceApplication.main()을 실행해서 프로젝트가 정상 수행되는지 확인하자. 실행 http://localhost:8080/ http://localhost:8080/validation/v1/items
스프링 MVC 2 - 검증 요구사항
스프링 MVC 2 - 검증 요구사항
2022.08.22검증 요구사항 상품 관리 시스템에 새로운 요구사항이 추가되었다. 요구사항: 검증 로직 추가 타입 검증 가격, 수량에 문자가 들어가면 검증 오류 처리 필드 검증 상품명: 필수, 공백X 가격: 1000원 이상, 1백만원 이하 수량: 최대 9999 특정 필드의 범위를 넘어서는 검증 가격 * 수량의 합은 10,000원 이상 지금까지 만든 웹 애플리케이션은 폼 입력시 숫자를 문자로 작성하거나해서 검증 오류가 발생하면 오류 화면으로 바로 이동한다. 이렇게 되면 사용자는 처음부터 해당 폼으로 다시 이동해서 입력을 해야 한다. 아마도 이런 서비스라면 사용자는 금방 떠나버릴 것이다. 웹 서비스는 폼 입력시 오류가 발생하면, 고객이 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 친절하게 알려주어야 한다. 컨트롤러의..
스프링 MVC 2 - 정리(메시지, 국제화)
스프링 MVC 2 - 정리(메시지, 국제화)
2022.08.22프로젝트 설정 메시지, 국제화 소개 상품명이라는 단어를 모두 상품이름으로 고쳐달라고 하면? 메시지 국제화는 언어버전별로 파일을 두면 된다. 스프링 메시지 소스 설정 스프링은 기본적인 메시지 관리 기능을 제공한다. 스프링 부트를 사용하면 스프링 부트가 MessageSource를 자동으로 등록한다. MessageSource를 스프링 빈으로 직접 등록하지 않고, 스프링 부트와 관련된 별도의 설정을 하지 않으면 messages 라는 이름으로 기본 등록된다. 따라서 messages_en.properties, messages_ko.properties, messages_properties 파일만 등록하면 자동으로 인식된다. 스프링 메시지 소스 사용 웹 애플리케이션에 메시지 적용하기 웹 애플리케이션에 국제화 적용하기 ..