스프링 프레임워크(19) View

넙데데맨·2022년 6월 7일
0

View의 위치

MVC 패턴에서 View는 사용자가 직접 URL을 요청해서 접근하는 것이 아니라 Controller를 사용해 Controller가 띄워주게 해야한다.
WEB-INF/index.jsp로 요청했을 때 index.jsp가 나오면 안된다는 뜻

web-inf 파일로 이동

WEB-INF 폴더 내로 View 파일을 옮겨주면 외부에서 접근이 불가능하게 된다.
IndexController.java

@Override
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub
		ModelAndView mv = new ModelAndView();
		mv.addObject("data","Hello Spring MVC");
		mv.setViewName("/WEB-INF/view/index.jsp"); // 옮긴 위치로 변경해줌
		return mv;
	}

IndexController.java

mv.setViewName("WEB-INF/view/index.jsp"); // /를 제거해도 작동이된다.

dispatcher-servlet.xml

 <bean id="/aa/index" class="com.kim.web.controller.IndexController">  
        <!-- collaborators and configuration for this bean go here -->
 </bean>

xml 파일도 바꿔본다.

절대 경로, 상대 경로

View 이름의 /를 빼버리면 상대경로가 되면서
/aa/index에서 index와 대응되어
/aa/WEB-INF/view/index.jsp로 인식이 되버린다.
따라서 /를 붙혀 절대 경로를 사용하는 게 편리하다.

Web Project Context 이름 변경

현 Project 우클릭 - Properties - Web Project Settings
Context root 이름을 /로 설정한다.
이제 /index로 요청해도 홈페이지가 열린다

profile
차근차근

0개의 댓글