이로

Spring boot url root path 본문

컴퓨터/Spring

Spring boot url root path

利路 2020. 8. 15. 09:33
반응형

spring boot 와 jsp 사용중이다.

 

서버 초기 세팅 중 GetMapping("/") return "/index"; 로  index 페이지 가 잘 떠서 웹페이지 띄우는 구성은 끝났구나 했다.

 

그런데 GetMapping("/member/list") return "/member/list"; 로 페이지를 띄우려고해도 

 

 [/member/WEB-INF/jsp/list.jsp] ?????? 라는 404 에러페이지가 뜨면서 접속이 안되었다.

 

원인

application.properties에서

#spring mvc 설정
spring.mvc.view.prefix=WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

 

여기에 문제가 있다. WEB-INF 앞에 / 를 안해주어 저런 현상이 발생했다.

여기서 / 를 붙이지 않으니 컨트롤러의 GetMapping의 /member이 먼저 적용되고, prefix설정이 적용되고 컨트롤러의 return "member/list" 가 적용된다.

 

#spring mvc 설정
spring.mvc.view.prefix=WEB-INF/jsp/
일 경우


    @GetMapping("/member/list")
    public String memberList(){
        return "common/user/getlist";
    }
    
    // mapping되는 url
    // /member/WEB-INF/jsp/common/user/getlist.jsp

 

리턴값을 그대로 매핑하려면 반드시 

spring.mvc.view.prefix=/WEB-INF/jsp/ 

prefix의 시작을 / 부터 해주자!

반응형
Comments