[ View Resolver ]
스프링 MVC모델의 컨트롤러에서 반환하는 뷰 이름을 실제 뷰 템플릿 파일과 매핑하는 역할.
prefix와 suffix 설정으로 뷰 이름을 해석.
* 스프링부트에서 지원하는 서버 템플릿 엔진 : JSP, Velocity, Thymeleaf, FreeMarker, Mustache 등..
( application.properties 설정 )
스프링부트 기본 설정은 Thymeleaf 템플릿 엔진으로 아래와 같다.
spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html
=> return한 뷰 이름 앞뒤로 설정파일의 prefix / suffix 를 붙여 파일을 찾는다. ' prefix viewName suffix '
즉, src/main/resources/templates/ 경로에서 viewName.html 확장자를 가진 파일을 찾게 된다.
* 상대경로 return viewName
=> View Resolver 설정에 따라 처리.
* 절대경로 return /viewName
=> View Resolver 설정을 무시하고 절대경로(기본경로)에 따라 해석.
( HTTPS에서 View Resolver 오류)
HTTP에서는 잘 찾던 파일을 HTTPS에서 못찾은 경우가 있었는데 슬래시( / ) 유무의 차이였다.
가능한 이유는 아래 세가지인데, 만약 파일을 못찾았다면 404에러가 나야하는데 401에러가 났다.
기본 경로로 리디렉션 됐을수도?
아직 정확한 이유는 모르겠다.
- 서버 설정 차이 : HTTP / HTTPS 요청을 처리하는 서버 설정이 다를 수 있음.
- 경로 해석 차이 : View Resolver가 HTTPS에서 경로 해석에 더 엄격하게 작동할 수 있음.
- 캐시 : HTTP에서 캐시된 결과와 HTTPS에서의 접근방식이 다를 수 있음.
'Spring > 공부공부' 카테고리의 다른 글
[Spring] Quartz 스케줄러 (0) | 2024.11.26 |
---|---|
[Spring] @Async 비동기 처리 ( SimpleAsyncTaskExecutor ) (0) | 2024.10.24 |
[Spring / HTTP] ResponseEntity (0) | 2024.06.20 |
[Spring] 어노테이션 (@Component, @Configuration, @Bean, @Autowired) (0) | 2024.03.21 |
[Spring] Bean의 생명주기 / @PostConstruct (0) | 2024.03.21 |