Spring MVC

본 포스팅은 인프런 - 스프링 MVC 2편을 강의를 바탕으로 공부하고 정리한 글입니다. 📢 본 포스팅에 앞서 예제를 위한 프로젝트를 생성하자.더보기📌 프로젝트 생성Project: GradleProject Language: JavaSpring Boot: 2.7.0 (정식버전 중 가장 최신 버전 선택)Project MetadataGroup: helloArtifact: typeconverterName: typeconverterPackage name: hello.typeconverterPackaging: JarJava: 11Dependencies : Spring Web, Thymeleaf, Lombok📌 프로젝트 실행인텔리제이로 프로젝트를 Open하고, 동작하는지 확인한다.기본 메인 클래스 실행 (Typ..
본 포스팅은 인프런 - 스프링 MVC 2편을 강의를 바탕으로 공부하고 정리한 글입니다. 웹 페이지가 아닌 API 예외는 어떻게 처리하는지 알아보자.API는 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려줘야하므로, 생각할 내용이 더 많다. API 예외처리 (기존 방법)서블릿우선 서블릿 오류 페이지 방식으로 예외처리를 해보자. 👉🏻 서블릿 오류페이지 등록📂 WebServerCustomizer@Componentpublic class WebServerCustomizer implements WebServerFactoryCustomizer { @Override public void customize(ConfigurableWebServerFactory factory) { ..
본 포스팅은 인프런 - 스프링 MVC 2편을 강의를 바탕으로 공부하고 정리한 글입니다. 📢 본 포스팅에 앞서 예제를 위한 프로젝트를 생성하자.더보기📌 프로젝트 생성프로젝트 선택Project: GradleProject Language: JavaSpring Boot: 2.6.x (정식버전 중 가장 최신 버전 선택)Project MetadataGroup: helloArtifact: exceptionName: exceptionPackage name: hello.exceptionPackaging: JarJava: 11Dependencies : Spring Web, Thymeleaf, Lombok, Validation📌 프로젝트 실행인텔리제이로 프로젝트를 Open하고, 동작하는지 확인기본 메인 클래스 실행 ..
본 포스팅은 인프런 - 스프링 MVC 2편을 강의를 바탕으로 공부하고 정리한 글입니다. 이전 포스팅에서 세션을 사용한 로그인 처리를 알아보았다. 하지만, 로그인을 하지 않은 사용자도 URL(http://localhost:8080/itmes)을 직접 호출할 경우 상품 관리 화면에 들어갈 수 있다는 문제가 있다.이를 해결하기 위해서는 상품 관리 컨트롤러에서 로그인 여부를 체크하는 로직을 하나하나 작성해줄 수 있지만, 향후 로그인과 관련된 로직이 변경될 때마다 작성한 모든 로직을 수정해야 한다는 번거로움이 있다. 어플리케이션 여러 로직에서 공통으로 관심이 있는 것을 공통 관심사(cross-cutting concern)라고 한다. 여기서는 등록, 수정 삭제, 조회 등등 여러 로직에서 공통으로 로그인 인증에 대한..
본 포스팅은 인프런 - 스프링 MVC 2편을 강의를 바탕으로 공부하고 정리한 글입니다. 프로젝트 준비로그인 요구사항홈 화면 - 로그인 전회원 가입로그인홈 화면 - 로그인 후본인 이름 ( __님 환영합니다. )상품 관리로그아웃보안 요구사항로그인 한 사용자만 상품에 접근하고, 관리할 수 있음로그인 하지 않은 사용자가 상품 관리에 접근하면 로그인 화면으로 이동회원 가입, 상품관리 패키지 구조 설계📁 hello.login ㄴ domain ㄴ item ㄴ member ㄴ login ㄴ web ㄴ item ㄴ member ㄴ login구조 설계시 도메인이 가장 중요하다. 도메인은 시스템이 구현해야 하는 핵심 비즈니스 업무 영역을..
본 포스팅은 인프런 - 스프링 MVC 2편을 강의를 바탕으로 공부하고 정리한 글입니다. 검증 기능을 매번 코드로 작성하는 것은 번거로운 일이다. 더욱 편리하게 검증을 하기 위해 검증 로직을 모든 프로젝트에 적용할 수 있도록 공통화 하고, 표준화 한 것이 Bean Validation이다. Bean Validation을 사용하면 검증에 대한 제약조건을 어노테이션에 넣어 사용할 수 있다. Bean ValidationBean Validation 2.0(JSR-380)이라는 기술 표준이다.쉽게 말해 검증 어노테이션과 여러 인터페이스의 모음이다.Bean Validation을 구현한 기술 중 일반적으로 사용하는 구현체는 하이버네이트 Validator이다.❗참고(하이버 네이트 Validator 관련 링크)- 공식 사이..
Validation클라이언트 검증 vs 서버 검증컨트롤러의 중요한 역할 중 하나는 HTTP 요청이 정상인지 검증하는 것이다.검증은 클라이언트 측에서 진행할 수도 있고 서버 측에서 진행할 수도 있으며, 특징은 다음과 같다.클라이언트 검증은 조작할 수 있기 때문에 보안에 취약하다서버만으로 검증하면, 즉각적인 고객 사용성이 부족해진다.따라서 둘을 적절히 섞어서 사용하되, 최종적으로 서버 검증은 필수이다.API 방식을 사용할 경우 API 스펙을 잘 정의하여 검즈 오류를 API 응답 결과에 잘 남겨줘야 한다. 예제 만들기검증을 직접 구현해보며 검증에 대해 알아보도록 하자.검증 요구사항타입 검증가격, 수량에 문자가 들어가면 검증 오류 처리필드 검증상품명 : 필수, 공백x가격 : 1000원 이상, 1백만원 이하수량..
an2z
'Spring MVC' 태그의 글 목록