728x90 반응형 분류 전체보기602 [Spring] BindingResult를 이용한 검증처리 직접 검증처리를 했던 이전 게시물(https://drcode-devblog.tistory.com/542) 과는 달리, 스프링은 BindingResult라는 기능을 제공하여 검증시에 편리함을 제공한다. ValidationItemControllerV2 컨트롤러 생성 먼저 ValidationItemControllerV1을 복사하여 ValidationItemControllerV2 를 만든다. hello.itemservice.web.validation.ValidationItemControllerV1 복사 hello.itemservice.web.validation.ValidationItemControllerV2 붙여넣기 템플릿 파일 복사 validation/v1 디렉토리의 모든 템플릿 파일을 validation/v.. 2023. 9. 22. [Spring] 직접 검증처리 사용자가 상품 등록 폼에서 정상 범위 데이터를 입력하면, 서버에서는 검증 로직이 통과하고, 상품을 저장하고, 상세 화면으로 redirect 한다. 고객이 상품 등록 폼에서 상품명을 입력하지 않거나, 수량, 가격 등이 너무 작거나 커서 검증 범위를 넘어서면, 서버 검증 로직이 실패해야 한다. 이렇게 검증에 실패한 경우 고객에게 다시 상품 등록 폼을 보여주고, 어떤 값을 잘못 입력했는지 친절하게 알려주어야 한다 ValidationItemControllerV1.java 에서 addItem 수정 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) .. 2023. 9. 22. [네트워크/개념] SOAP와 REST 요약 바로가기 SOAP(Simple Object Access Protocol) - 다른 언어로 다른 플랫폼에서 빌드된 애플리케이션이 통신할 수 있도록 설계된 최초의 표준 프로토콜 - 복잡성과 오버헤드를 증가시키는 빌트인 룰을 적용하므로 페이지 로드 시간이 길어질 수 있음 - 이러한 표준은 빌트인 컴플라이언스를 제공한다는 의미이기에, 여러 기업에서 선호하는 방식임 - 빌트인 컴플라이언스 표준에는 보안과 안정적인 DB 트랜잭션의 기본 속성이 포함된다 ※ DB 트랜잭션의 기본 속성(ACID) 1) 원자성(Atomicty) 2) 일관성(Consistency) 3) 격리성(Isolation) 4) 내구성(Durability) 일반적인 웹 서비스 사양에는 다음이 포함된다. - 웹 서비스 보안(WS-security).. 2023. 9. 14. [Spring] 검증(Validation) 오류처리 및 프로젝트 생성 + 프로젝트 명칭 바꾸기 상품 관리 시스템에 새로운 요구사항을 추가해보자. 요구사항: 검증 로직 추가 - 타입 검증 : 가격, 수량에 문자가 들어가면 검증 오류 처리 - 필드 검증 : 상품명: 필수, 공백X : 가격: 1000원 이상, 1백만원 이하 : 수량: 최대 9999 - 특정 필드의 범위를 넘어서는 검증 : 가격 * 수량의 합은 10,000원 이상 지금까지 만든 웹 애플리케이션은 폼 입력시 숫자를 문자로 작성하거나해서 검증 오류가 발생하면 오류 화면으로 바로 이동한다. 이렇게 되면 사용자는 처음부터 해당 폼으로 다시 이동해서 입력을 해야 한다. 아마도 이런 서비스라면 사용자는 금방 떠나버릴 것이다. 웹 서비스는 폼 입력시 오류가 발생하면, 고객이 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 친절하게 알려주어야 한.. 2023. 7. 27. [Spring] 웹 애플리케이션에 국제화 적용하기 - 타 언어 적용 지원 이번에는 웹 애플리케이션에 국제화를 적용해보자. 먼저 영어 메시지를 추가하자. messages_en.properties label.item=Item label.item.id=Item ID label.item.itemName=Item Name label.item.price=price label.item.quantity=quantity page.items=Item List page.item=Item Detail page.addItem=Item Add page.updateItem=Item Update button.save=Save button.cancel=Cancel 사실 이것으로 국제화 작업은 거의 끝났다. 앞에서 템플릿 파일에는 모두 #{...} 를 통해서 메시지를 사용하도록 적용해두었기 때문이다 웹으로 .. 2023. 6. 28. [Spring] 웹 애플리케이션에 스프링 메시지 적용하기 실제 웹 애플리케이션에 메시지를 적용해보자. 먼저 메시지를 추가 등록하자. messages.properties label.item=상품 label.item.id=상품 ID label.item.itemName=상품명 label.item.price=가격 label.item.quantity=수량 page.items=상품 목록 page.item=상품 상세 page.addItem=상품 등록 page.updateItem=상품 수정 button.save=저장 button.cancel=취소 타임리프 메시지 적용 타임리프의 메시지 표현식 #{...} 를 사용하면 스프링의 메시지를 편리하게 조회할 수 있다. 예를 들어서 방금 등록한 상품이라는 이름을 조회하려면 #{label.item} 이라고 하면 된다. 렌더링 전 렌더링.. 2023. 6. 28. 이전 1 ··· 9 10 11 12 13 14 15 ··· 101 다음 728x90 반응형