viewResolver 에러
viewResolver은 디스페처서블릿이 클라이언트에게 요청받으면 핸들러맵핑, 핸들러어댑터, 컨트롤러, 뷰리졸브가 있는 스프링 빈이 생성되는데 그 속에 포함된 애이다.
퓨리졸브는 @컨트롤러 메서드에서 리턴한 뷰를 찾아 주는 역할을 한다.
그래서 리턴 객체를 잘 입력해 주어야한다.
would dispatch back to the current handler URL [/hello] again
현재 처리기 URL [/hello]로 다시 디스패치합니다.
Check your ViewResolver setup!
ViewResolver에러로 500에러가 생긴다. 서버의 구문이 잘못되었다는 소리인데... 경로를 잘 써주었는데 잘 못 쓴게 없는데 왜그럴까...
@GetMapping 값이 뷰와 동일하면 경로 오류로 인해 요청이 실패한다고 한다. 그래서 뷰의 이름을 바꾸고 컨트롤러 메서드에서 반환 값을 변경하면 된다는데 실패했다. 똑같은 에러가 나온다.
해결방법
뷰 이름을 바꾸지 않고 컨트롤러 메서드에서 반환 값을 변경하지 않으려면 다른 뷰 프로세서를 선택하면 된다.
보통 타임리프 Thymeleaf 템플릿 엔진을 사용한다. 그래들에 추가 해주니 뷰가 잘 뜬다.
느낀점
작동 원리를 알면 오류를 더 빠르게 처리할 수 있을것 같아서 ViewResolver 개념 부터 공부했다. 덕분에 Dispacherservlet 개념도 공부를 하게 되었다. 부족한 점은 thymeleaf의 작동 원리인데,,, 일단 잘 활용하는 것부터 익히면서 작동 원리를 공부해야겠다.
'개발 > Java_Spring' 카테고리의 다른 글
[spring] 모호한 매핑 Ambiguous mapping (0) | 2023.08.18 |
---|---|
[java] 클래스와 인스턴스의 차이, 인스턴스의 장점 (0) | 2023.08.17 |
[spring]DI, 3가지 방법 (0) | 2023.08.16 |
[Junit5] 실행 순서가 보장되지 않는 test에서 공통 생성자 관리 (0) | 2023.08.16 |
AssertJ 테스트 API (0) | 2023.08.16 |
댓글