본문 바로가기

Spring45

#6 로그인 처리 - 쿠키, 세션 로그인 처리 - 쿠키, 세션 기존의 상품 관리 서비스에 로그인 기능을 추가한다. · 홈 화면 - 로그인 전 - 회원 가입 - 로그인 [홈 화면 - 로그인 전] · 홈 화면 - 로그인 후 - 본인 이름(~~님 환영합니다.) - 상품 관리 - 로그 아웃 [홈 화면 - 로그인 후] · 보안 요구사항 - 로그인 사용자만 상품에 접근하고, 관리할 수 있음 - 로그인 하지 않은 사용자가 상품관리에 접근하면 로그인 화면으로 이동 · 회원 가입 [회원 가입] · 로그인 [로그인] 1. 로그인 폼, 기능 추가 ■ 홈 홈 화면을 개발한다. [HomeController] @GetMapping("/") public String home() { return "home"; } [홈 뷰 템플릿 - home] 홈 화면 회원 가입 로.. 2021. 7. 30.
#5 Bean Validation Bean Validation 객체나 특정 상황에 대해 검증 로직을 매번 구현하고 Validator를 만드는 것은 상당히 번거롭다. 특히 특정 필드에 대한 검증로직은 대부분 빈 값인지 아닌지, 특정 크기를 넘는지 아닌지와 같이 매우 일반적인 로직이다. 여기서 애노테이션을 활용한 검증 로직을 모든 프로젝트에 적용할 수 있게 공통화하고, 표준화한 것이 바로 Bean Validation이다. Bean Validation을 잘 활용하면, 애노테이션 하나로 검증 로직을 매우 편리하게 사용할 수 있다. Bean Validation은 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 표준 기술이다. 쉽게 이야기해서 검증 애노테이션과 여러 인터페이스의 모음이다. Bean Validation.. 2021. 7. 28.
#4 검증 - Validation 검증 - Validation 웹 서비스는 폼 입력 시 오류가 발생하면, 고객이 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 친절하게 알려주어야 한다. 컨트롤러의 중요한 역할중 하나는 HTTP 요청이 정상인지 검증하는 것이다. 검증 오류 발생시 기본적인 흐름은 다음과 같이 이루어진다. [기존 상품 등록 흐름] [상품 검증 예시] 상품 등록 폼에서 받은 데이터가 검증에 실패할 경우 검증 오류 결과를 모델에 포함해서 상품 등록 폼에 전달한다. 상품 등록폼은 오류 결과가 들어있는 모델을 이용해서 어떤 오류가 발생했는지를 나타낸다. 1. BindingResult 스프링은 검증 오류가 발생했을 때, 오류가 발생한 객체와 필드, 메시지 등을 담을 수 있는 BindingResult라는 객체를 제공한다. Bin.. 2021. 7. 28.
#3 메시지, 국제화 메시지, 국제화 웹 페이지 혹은 코드에 사용되는 메시지를 한 곳에서 관리하도록 하는 기능을 메시지 기능이라 한다. 예를 들어 messages.properties라는 메시지 관리용 파일을 만들고 자바코드나 HTML에서 해당 데이터를 key 값으로 불러서 사용하는 것이다. [메시지 사용 예 - messages.properties] item=상품 item.id=상품 ID item.itemName=상품명 item.price=가격 item.quantity=수량 [메시지 사용 예 - HTML] 위와 같은 메시지 기능에서 더 나아가 메시지 파일(messages.properteis)을 각 나라별로 별도로 관리하면 서비스를 국제화 할 수 있다. [메시지 사용 예 - messages_en.properties] item=I.. 2021. 7. 27.