Spring MVC 예외 처리
·
Spring/스프링 MVC
@ControllerAdvice컨트롤러에서 발생한 예외를 주어진 상황에 맞게 처리한다. 즉 예외처리를 맡김으로써 다른 곳에서는 예외처리 신경 안써도 된다. 이렇게 예외를 처리하는 곳을 전담시키는 이유는 예외처리 관련 기능을 모아두기 위함-역할 분담-이다. @ExceptionHandler특정 타입의 예외를 지정함으로써 특정 예외만 처리한다. 예외에도 종류가 많기 때문에 필요한 예외만 따로 처리하기 위해 존재한다. @ResponseStatusHTTP 응답 상태 코드를 지정하는 역할을 한다. 여기서는 특정 예외에 대한 응답 상태를 지정해 특정 페이지로 가도록 처리하고 있다. 이렇게 응답 상태를 표시하는 이유는 예외 발생 시 상태코드를 전달하기 위함이다.@Log4j2@ControllerAdvice // 컨트롤..
스프링 MVC의 파라미터 자동 수집 및 변환
·
Spring/스프링 MVC
1. 파라미터 자동 수집이란파라미터 자동수집이란 요청 데이터를 컨트롤러의 메소드 매개변수에 자동으로 바인딩 해주는 기능이다. 좀 더 풀어서 얘기하면 DTO나 VO 등을 메소드의 파라미터로 설정하면 자동으로 전달되는 HttpServletRequest의 파라미터(클라이언트로부터 온 요청 데이터)들을 자동으로 수집(바인딩)하는 기능이다. 문자열, 숫자, 배열, 리스트, 첨부 파일도 수집(바인딩) 가능하다. 기본 자료형의 경우 자동으로 형 변환처리가 가능하다객체 자료형의 경우 settter의 동작을 통해 처리된다객체 자료형의 경우 생성자가 없거나 파라미터가 없는 생성자가 필요하다 2. 단순 타입 매개변수 수집요청 파라미터의 이름과 컨트롤러 메서드의 매개변수 이름이 일치하면 자동으로 값이 바인딩된다.스프링 부트는..
Spring MVC란
·
Spring/스프링 MVC
1. Spring MVC 개념 및 특징Spring MVC란 기존 Web MVC 패턴(MVC2)을 발전시켜 만든 MVC 패턴이다. 기존 MVC 패턴과의 차이점은 다음과 같다. Front Controller(DispatcherServlet) 패턴을 통해 모든 흐름의 사전, 사후 처리가 가능하다. 모든 흐름의 사전 사후 처리가 가능하다는 건 구조 부분의 그림과 같이 요청 및 응답이 Front Controller를 거치니 어떤 처리를 하고 싶다면 할 수 있다는 말이다. 이런 식으로 하나의 객체를 통해 진행되는 것을 디자인 패턴에선 퍼사드 패턴이라 부른다. 어노테이션을 통해 최소한의 코드로 많은 처리가 가능하다.HttpServletRequest와 HttpServletResponse를 사용하지 않아도 된다. 그 이..