현재 view 처리 코드

@GetMapping("/loginForm")
public String loginForm() {
          System.out.println("@GetMapping.loginForm");
          return "/WEB-INF/views/loginForm.jsp";       // view 처리
}

⇒ 문제점: 경로가 매우 길다.
                 확장자가 정해져 있음. ( jsp로만 처리됨 )

 

 

 

 

해결

  • 파일명(loginForm)만 리턴
  • jsp 뿐만 아니라 임의의 형태로도 view 처리가 가능하다.
    예를 들어 ( /WEB-INF/views/loginForm.pdf )도 가능하게 된다는 것이다.
    파일명만 알려주면 나중에 스프링이 임의의 정보 (ViewResolver)를 이용해서 경로정보 ( /WEB-INF/views/ )와 확장자( .pdf ) 를 추가해서 최종 경로를 만들어낼 수 있다.

@GetMapping("/loginForm")
public String loginForm() {

           return "loginForm";      //파일명=논리적이름            + JSP용 ViewResolver (InternalResourceViewResolver) 추가
}

 

<!-- JSP용 InternalResourceViewResolver 등록 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    	<property name="prefix" value="/WEB-INF/views/" />     <!--경로(prefix)-->
    	<property name="suffix" value=".jsp" />                <!--확장자(suffix)-->
    </bean>

 

 

 

 


 

 

✅ servlet-context.xml에 JSP용 InternalResourceViewResolver 등록

 

 

 

 

✅ Controller 파일의 return문에는 파일명(논리적인 이름)만 작성해주고,
      servlet-context.xml 파일에 경로와 확장자를 작성해준다.

👇

xoo | 수진