-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Spring Boot 2.6 이상 버전에서의 DispatcherServlet
22.04.26 21:01 작성 조회수 213
0
안녕하세요 강사님!
실무에서 강사님의 강의를 들으며 많은 도움을 받고 있는 쥬니어 개발자입니다.
다름이 아니라 Spring Boot 로 된 프로젝트를 진행하며 DispatcherServlet에 대해 의문점이 생겨 질문을 남겨봅니다.
개발 중 Filter 부분에서 HttpServletRequest가 어떤 Handler에 맵핑 되었는지 확인해야 할 일이 생겨 HandlerMapping 인터페이스의 getHandler 메소드를 사용하여 해결하였습니다. 하지만 문제는 개인적으로 진행하는 토이프로젝트에서는 같은 로직으로 구현하였을 때 에러가 발생하였습니다. 좀 더 구글링해본 결과 2.6 이상 버젼에서 발생하는 문제로 Matching-Strategy가 달라 발생한 문제라고 하여 기본값을 ant-path-matcher 로 바꿔 해결하였습니다.
여기서 저의 의문점은 2.6 버젼 이상에서의 PathPatternParser 맵핑 기반 DispatcherServlet은 기존 방식의 Handler를 가져오는 방식과 달라진걸까요? 요청이 들어왔을 때 DispatcherServlet이 가지고 있는 모든 Mapping객체들을 for 문을 통해 getHandler를 호출해보아도 핸들러가 반환되지 않고 구글링해봐도 딱히 자료가 없어 이렇게 여쭙습니다.
긴글 읽어주셔서 감사합니다.
답변을 작성해보세요.
0
백기선
지식공유자2022.05.01
getHandler를 요청했을 때 반환되는 핸들러가 없다면 해당 요청은 처리가 되지 않았을텐데 맞나요? 요청이 처리되는 상황이라면 분명 반환되는 핸들러가 있을 겁니다.
답변 1