# 1. Spring 라이브러리 설정은 pom.xml
생성한 Spring 프로젝트에
'pom.xml 파일이 있다' = 'Maven 으로 원격 라이브러리를 가져다 쓸 수 있다' 는 뜻.
Dynamic Web Project 로 프로젝트를 생성했다면,
Web Content > WEB-INF 아래에 lib 폴더에 .jar 파일을 추가해주어야 한다.
Spring 으로 생성한 프로젝트는
라이브러리를 따로 추가해주지 않아도 pom.xml 설정으로 라이브러리를 쓸 수 있다.
SpringMVC Project 라이브러리 위치 확인
SpringMVC Project 에 있는 라이브러리는
Java Resources - Libraries 혹은 프로젝트에서 마우스 우클릭 - Build Path 에서 볼 수 있다.
# 2. Spring 기초설정은 web.xml
라이브러리 확인했다면 web.xml 를 찾는다. web.xml 에서 서블릿을 설정하는데,
서블릿에 DispatcherServlet 을 설정해두면 Controller 를 찾아 사용자 요청주소를 매핑하여 처리해준다.
프로젝트를 실행하면 Tomcat 서버가 최초 구동되는데, 이 때 web.xml 을 읽고 해당하는 설정을 준비한다.
* Spring 프로젝트 내부 web.xml 위치는 src > webapp > WEB-INF > web.xml 이다. (기본값)
web.xml 에서 Servlet , Filter, Error 페이지를 설정한다.
Dispatcher Servlet
위에 언급한 Servlet 은 web.xml 에 있다.
DispatcherServlet 으로 웹에서 사용자 요청한 키워드를 프로젝트의 Controller 에 매핑하는 역할을 한다.
프로젝트의 시작점이다. url-pattern 은 [ 키워드.do ] 로 설정했다.
Filter : EncodingFilter
하나 더 설정해준 건 인코딩 필터이다.
web.xml 에 인코딩 필터를 설정해두면, 사용자 요청 키워드를 서버로 보내기 전에
/슬래쉬 이하 모든 구문을 UTF-8 로 변환하는 역할을 한다.
Error 페이지
사용자가 요청한 키워드가 Controller 에 없는 경우, 로직이 잘못된 경우에는 400 번대 에러가 발생한다.
익숙한 건 404 에러. web.xml 에서 에러페이지로의 랜딩을 설정한다.
예를 들어 사용자가 브라우저 주소창에서 list.do 로 엔터를 치면, Controller 의 매핑주소 중 list.do 를 찾는데
list.do가 있다면 결과값을 반환하고, 없다면 Error 페이지로 랜딩된다.
board-servlet.xml 위치 확인
board-servlet.xml 위치 : src > webapp > WEB-INF > spring > appServlet > ★
ViewResolver
@Controller 에서 view 페이지로 이동할 때,
View 페이지의 위치와 확장자를 설정해두어, 이동이 쉽도록 도와준다.
파일 위치와 확장자가 미리 고정되어 있어 추가로 입력하지 않아도 된다.
추후..
DB + Mybatis 연동시 Bean 설정 을 하게 되는데,
DataSource / SqlSession + SqlSessionFactory 설정을 servlet-context.xml (default 값) 에서 하게된다.
(자체적으로 board-servlet.xml 으로 이름을 변경함)
* servlet-class / filter-class 의 정확한 위치를 모른다면?
아무 .java 파일에서 import 로 복사해온다.
1) JavaRecources 의 아무 .java 파일이나 들어가서 import 구문에 Dispatcher 입력후 Ctrl + 스페이스바
2) 검색어 자동완성 처럼 Dispatcher 키워드와 맞는 라이브러리 주소가 검색됨
3) 키워드에 맞는 구문 선택 후 복사해서 쓰기
'Install & Settings' 카테고리의 다른 글
SpringMVC DB 연결 - 2. MariaDB와 프로젝트 연결하기 (0) | 2019.09.28 |
---|---|
SpringMVC DB 연결 - 1. DBeaver 로 MariaDB 연결하기 (0) | 2019.09.27 |
Eclipse 에서 프로젝트 git / github 연결하기 (0) | 2019.09.18 |
Eclipse 에서 SpringMVC 프로젝트 만들기 (0) | 2019.09.17 |
Eclipse - Spring - Tomcat 설치하기 (0) | 2019.09.17 |