[Spring] 스프링 jsp 페이지, ViewResolver, ResourceHandler
스프링 MVC의 JSP를 처리하는 설정은 Sservlet-context.xml 혹은 ServletConfig 클래스에 작성합니다.
Sservlet-context.xml
ServletConfig 클래스
스프링 MVC의 설정에서 화면 설정은 ViewResolver라는 객체를 통해서 이루어지는데,
prefix의 값을 보면, "/WEB-INF/views/" 폴더를 이용하는 것을 볼 수 있습니다.
"/WEB-INF" 경로는 브라우저에서 직접 접근할 수 없는 경로이고, 반드시 Controller를 이용하는 모델 2방식을 기본적으로 사용합니다.
실습해왔던 페이지를 기준으로 보면 접근하고자 하는 url은 "/board/list" 입니다. 위 설정에 의해서 해당 url은 다음의 경로에 있는 파일을 나타냅니다.
실제 파일 경로 : "/WEB-INF/views/board/list.jsp"
"/WEB-INF/views/board/list.jsp" <- 여기에서 빨간 글씨로 표시한 /board/list 는 요청한 url, 그 외는 서블릿 설정으로 추가된 것 입니다.
따라서 jsp 페이지는 위 경로("/WEB-INF/views/board/list.jsp")에 맞게 생성되어야 합니다.
resources
다음은 프로젝트에서 사용하는 resources 파일에 대한 관리입니다. resource 파일에는 js, css, image 등 정적인 페이지나 페이지에 사용할 자원들을 저장해놓는 곳 인데요. 이것 또한 Servlet-context.xml이나 ServletConfig 클래스에서 ResourceHandler 객체를 이용해 설정합니다.
Sservlet-context.xml
ServletConfig 클래스
프로젝트 파일에서 WEB-INF가 있는 폴더와 같은 위치의 resources 폴더를 이용하고, 하위 폴더에 필요한 리소스 파일을 넣어 사용합니다.
화면단(jsp)에서 servletConfig에서 설정한 경로에서 리소스 파일을 찾기 때문에,
링크 걸때 /resources/** 로 시작하는 파일의 상대경로를 사용합니다.
'java, spring' 카테고리의 다른 글
[Spring] JSP 파일에 JSTL 태그를 사용하기 위한 태그 라이브러리 추가하기 (0) | 2021.07.06 |
---|---|
[Spring] jsp의 include 사용법 (0) | 2021.07.06 |
[Spring] MariaDB와 log4jdbc 연결 오류 해결방법 (1) | 2021.06.30 |
[Spring framework] 프레젠테이션(웹) 계층의 CRUD 구현 (Controller) (1) | 2021.06.26 |
[Spring framework] 비즈니스 계층 CRUD (0) | 2021.06.24 |