본문 바로가기

Spring/공부공부

[Spring] 뷰 리졸버(View Resolver) 설정 (https 오류)

 

 

[ 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 / HTTP] ResponseEntity  (0) 2024.06.20
[Spring] @ 어노테이션  (0) 2024.03.21
[Spring] Bean의 생명주기 / @PostConstruct  (0) 2024.03.21