본문 바로가기

Spring MVC43

[MVC] 스프링 타입 컨버터(2) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 포맷터 - FormatterConverter는 입력과 출력 타입에 제약이 없는 범용 타입 변환 기능을 제공한다. 하지만 일반적인 웹 애플리케이션 환경에서는 불린을 숫자로 바꾸는 것 같은 범용 변환보다, 문자를 객체로 변환하거나 객체를 문자로 변환하는 경우가 훨씬 많다. 예를 들어 화면에 숫자를 출력할 때 Integer 타입의 1000을 "1,000"처럼 쉼표를 넣어 표현하거나, 반대로 "1,000" 문자열을 숫자 1000으로 변환하는 경우가 있다. 또는 날짜 객체를 "2021-01-01 10:50:11" 형식으로 출력하거나, 이 문자열을 다시 날짜 객체로 변환하기도 한다. Locale과 현지화숫자나 날짜의 표현 방식은 Locale(현지화.. 2025. 11. 26.
[MVC] 스프링 타입 컨버터(1) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 소개웹 애플리케이션 개발을 하다 보면 문자를 숫자로, 숫자를 문자로 변환하는 등 타입 변환이 자주 필요하다. 스프링은 이런 변환 과정을 자동으로 처리해 주는 타입 컨버터 기능을 제공한다. 1. 기본 예시: 문자 → 숫자 변환@GetMapping("/hello-v1")public String helloV1(HttpServletRequest request) { String data = request.getParameter("data"); // 문자 타입 Integer intValue = Integer.valueOf(data); // 숫자 타입으로 변환 return "ok";}요청: http://localhost:8080/.. 2025. 10. 26.
[MVC] API 예외 처리(2) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 스프링이 제공하는 ExceptionResolver1스프링 부트 기본 ExceptionResolver 등록 순서스프링 부트는 HandlerExceptionResolverComposite 안에 아래와 같은 Resolver들을 등록한다.1. ExceptionHandlerExceptionResolver@ExceptionHandler 애노테이션을 처리API 예외 처리의 대부분을 담당2. ResponseStatusExceptionResolver예외에 따른 HTTP 상태 코드 변환@ResponseStatus, ResponseStatusException 처리3. DefaultHandlerExceptionResolver스프링 내부 기본 예외 처리 (우선.. 2025. 9. 22.
[MVC] API 예외 처리(1) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. API 예외처리 - 시작HTML 페이지라면 단순히 4xx, 5xx 오류 페이지를 띄우면 충분하다. 하지만 API는 다르다. API는 오류 상황에서도 클라이언트가 이해할 수 있는 JSON 응답을 내려주어야 한다. 단순히 오류 페이지를 보여주는 것이 아니라, 각 오류 상황에 맞는 JSON 스펙을 정의해야 한다. 따라서 API 예외 처리 방식도 서블릿 오류 페이지 방식을 활용하되, JSON 형태로 응답을 내려주도록 확장해야 한다. WebServerCustomizer 동작스프링 부트의 WebServerCustomizer를 활용하면 예외 발생 시 호출할 오류 페이지를 지정할 수 있다.@Componentpublic class WebServerCus.. 2025. 9. 10.
[MVC] 예외 처리와 오류 페이지 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 서블릿 예외 처리 - 시작이번 글에서는 스프링이 아닌 순수 서블릿 컨테이너에서 예외가 어떻게 처리되는지 정리한다. 서블릿 예외 처리 방식서블릿은 두 가지 방식으로 예외 처리를 지원한다.Exception 발생response.sendError(HTTP 상태 코드, 오류 메시지)Exception (예외)자바 직접 실행자바의 main 메서드를 직접 실행하면 main 쓰레드가 동작한다. 실행 도중 예외가 발생했는데 잡지 못하고 main() 밖으로 던져지면, 예외 로그를 남기고 해당 쓰레드는 종료된다. 웹 애플리케이션웹 애플리케이션은 요청마다 별도의 쓰레드가 할당된다.만약 애플리케이션에서 예외를 잡지 못하고 서블릿 밖으로 전달되면 다음과 같은 흐름.. 2025. 9. 6.
[MVC] 로그인 처리2 - 필터, 인터셉터 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 서블릿 필터 - 요청 로그서블릿 필터는 웹 애플리케이션 요청/응답 과정에서 전·후 처리를 할 수 있는 기능이다. 요청 로그 필터는 모든 HTTP 요청에 대해 고유 식별자와 요청 URI를 기록하여 요청 흐름을 추적하는 데 사용한다. LogFilter 구현public class LogFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { log.info("log filter init"); } @Override public void doFilter(ServletReque.. 2025. 8. 20.