현재 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 파일에 경로와 확장자를 작성해준다.
👇
'Framework > SPRING FRAMEWORK' 카테고리의 다른 글
사용자 입력 데이터 얻어오기(파라미터) - @RequestParam (0) | 2023.09.14 |
---|---|
사용자 입력 데이터 얻어오기(파라미터) - HttpServletRequest방식 & POST 한글처리 (0) | 2023.09.14 |
GET/POST 요청에 대한 @RequestMapping 처리 - 어노테이션방식 (0) | 2023.09.14 |
@RequestMapping 처리 - root 경로 (0) | 2023.09.14 |
GET/POST 요청에 대한 @RequestMapping 처리 - method방식 (0) | 2023.09.14 |