티스토리 뷰
기타 리졸버
- 핸들러 예외 리졸버
- HandlerExceptionResolver : 컨트롤러 작업 중 발생한 예외를 어떻게 처리할지를 결정하는 전략.
- 예외 발생 > 핸들러 예외 리졸버 확인 > 있으면 핸들러 예외 리졸버가 처리, 아니면 서블릿 컨테이너가 처리
- AnnotationMethodHandlerExcpetionResolver : @ExceptionHandler 애노테이션이 붙은 메소드가 예외처리한다. 특정 컨트롤러 작업 중 발생하는 예외를 처리하는 핸들러를 만들 때 유용하다.
- ResponseStatusExceptionResolver : 예외를 특정 HTTP 응답 상태로 전환해준다.
- DefaultHandlerExceptionResolver : 스프링에서 내부적으로 발생하는 주요 예외를 처리.
- SimpleMappingExceptionResolver : 예외를 처리할 뷰를 지정할 수 있게 해준다.
- 지역정보 리졸버
- 애플리케이션에서 사용하는 지역정보를 결정하는 전략
- 보통 브라우저의 기본 설정 사용
- 세션이나 쿠키 값을 사용하게도 설정할 수 있다.
- 멀티파트 리졸버
- 파일 업로드와 같은 요청정보를 처리하는 전략을 설정할 수 있다.
- CommonsMultipartResolver 빈을 등록해야한다.
- RequestToViewNameTranslator : 컨트롤러에서 뷰 이름이나 뷰 오브젝트를 주지 않았을 경우 HTTP 요청정보로 뷰 이름을 생성하는 로직을 담고 있다.
스프링 MVC
- 플래시 맵
- 플래시 애트리뷰트(하나의 요청에서 생성되어 다음 요청으로 전달되는 정보)를 저장하는 맵
- POST 단계의 결과 메세지를 리다이렉트된 페이지로 전달할 때 주로 사용한다.
- 플래시 맵 매니저 : 플래시 맵을 저장, 조회, 제거하는 등의 작업을 담당한다. FlashMapManager 인터페이스를 구현해서 만든다.
- WebApplicationInitializer
- 구현한 클래스를 찾아 컨텍스트의 초기화 작업을 위임한다
- 이 클래스를 이용해 루트 컨텍스트나 서블릿 컨텍스트를 자바 코드에서 직접 등록하고 생성할 수 있다.
- 리소스를 잘 반환하기 위해 루트 컨텍스트는 리스너를 이용해 관리하는 것이 좋다.
// 루트 컨텍스트 등록하기
AnnotationConfigWebApplicationContext ac = new AnnotationConfigWebApplicationContext();
servletContext.scan("com.mycompany.myproject.config");
ServletContextListener listener = new ContextLoaderListener(ac);
servletContext.addListener(listener);
// 서블릿 컨텍스트
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("spring", new DispatcherServlet());
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/app/*");
Reference
책 : 토비의 스프링 3.1 Vol.2 스프링의 기술과 선택 (저 이일민)
'book_note > 토비의 스프링' 카테고리의 다른 글
토비의 스프링 VOL.2 CH4(2) (0) | 2021.09.24 |
---|---|
토비의 스프링 VOL.2 CH4(1) (0) | 2021.09.24 |
토비의 스프링 VOL.2 CH3(2) (0) | 2021.09.04 |
토비의 스프링 VOL.2 CH3(1) (0) | 2021.08.28 |
토비의 스프링 VOL.2 CH2(3) (0) | 2021.08.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 준영속
- 스프링 부트 테스트
- Java
- 고아 객체
- orphanRemoval
- Effective Java
- Nullable
- C# 문법
- JpaRepository
- uploadfive
- 자바의 정석
- MSSQL
- ASP.NET
- DataAnnotation
- 스프링MVC
- JPA
- SpringBoot
- @Modifying
- 다이내믹 프록시
- OWIN
- 스프링
- JavaScript
- jQuery
- spring boot
- 토비의 스프링
- Spring
- default interface
- c#
- 영속성
- 빌더 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함