STS 개발환경 설정하기
Spring Tool Suite 3.9.5.Release 다운로드
다음은 STS(또는 이클립스에 STS플러그인을 포함)사용 시 스프링 개발 환경을 설정하는 방법을 설명한다.
개발 시 프로젝트마다 필요한 환경이 다르므로 설정 방식에 차이가 있을 수 있으며 이 글에서는 초기에 자동으로 만들어지는 구조를 바탕으로 진행하는 방법을 설명한다.
테스트 프로그램 버전 |
jdk 1.8 |
sts 3.9.5 |
sts압축 해제 후 sts-bundle폴더 안에 sts-3.9.5.RELEASE폴더 안에 STS.exe실행
적당한 곳에 작업폴더 지정하고 실행
Spring Lagacy Project를 눌러 프로젝트 생성
만약 sts가 4.x이상일 경우 Spring Lagacy Project생성 메뉴가 없음(Spring Boot를 사용하도록 권장하기 때문)
이 글은 Spring Boot를 기반으로 프로젝트를 생성하는 방법이 아님
프로젝트이름 작성 및 Spring MVC Project선택(일반적으로 웹 개발은 MVC를 적용함)
Next 클릭
최초로 Spring MVC Project를 생성하는 경우 필요한 데이터를 다운로드 받는 창이 나올 수도 있다.
확인하여 다운로드 하도록 하면 된다.
웹사이트 도메인을 역순으로 작성하는 형태로 패키지 이름을 작성함
실제 도메인이 아닌 이상 임의로 작성해도 무관함.
Finish 클릭하면 프로젝트 생성 완료
sts는 maven 빌드 도구를 포함하고 있다.
프로젝트를 최초로 만든 경우 maven을 이용하여 스프링 의존 라이브러리를 다운로드 받게 된다.
maven 원격 저장소로부터 라이브러리를 다운로드 받아 현재 사용자의 홈디렉터리에 .m2폴더(숨김)에 저장된다.
주의! 설치에 문제가 발생하는 경우 경로에 한글이 포함되어 있을 경우 안되는 경우도 있으므로 영문계정으로 진행을 권장한다.
에러상황 시
위와 같이 에러가 발행하여 .m2폴더의 내용을 모두 삭제 후 sts에서 maven update진행
프로젝트 의존 라이브러리 다운로드 완료 후 바로 서버를 실행하여 동작 확인
이 때 서버는 Tomcat을 연동하거나 번들로 들어있는 Pivotal서버를 사용할 수 있다.
실행 로그
요청결과
STS를 이용하여 스프링 프로젝트를 생성하는 경우
별도의 코딩 작업 없이 스프링 프로젝트를 생성할 수 있다.
스프링 프로젝트의 폴더 구조를 이해할 수 있다.
기본 설정 변경하기
원활한 테스트를 위해 기본으로 만들어져 있는 설정을 변경할 필요가 있다.
프로젝트 폴더를 우클릭하여 Preferences 클릭 -> Project Facets 선택
기본 자바 버전 변경
및 웹 모듈 버전 변경
pom.xml파일에서 스프링 버전 변경(3.1.1 -> 4.x.x)
설정 파일의 아래 부분에서 플러그인 설정 중 maven-compiler-plugin에서 사용할 자바 버전 설정
자동으로 의존 라이브러리가 다운로드 된다.
라이브러리 설정이 변경 되는 경우 수동으로 Maven Update가 필요할 수도 있다.
프로젝트 우 클릭 후 수동으로 업데이트하는 메뉴를 이용
web모듈의 버전을 변경했기 때문에 web.xml의 네임스페이스 설정도 변경해야 한다.
이클립스나 sts는 web.xml파일을 자동으로 생성해주는 기능이 있으므로 이를 활용하여 수정한다.
1. 기존 web.xml파일의 내용 복사 후 web.xml파일 삭제
web.xml파일에서 다음과 같은 영역 복사
web.xml 삭제
2. 프로젝트 우클릭하여 Java EE Tools메뉴에서 web.xml파일 생성
3. 복사해 두었던 코드를 새로 만들어진 web.xml파일에 붙여 넣기
스프링 MVC 프로젝트 구조
중요한 부분은
src/main/java(자바 코드가 위치하는 곳)
src/man/webapp/resources/WEB-INF/spring(스프링 관련 모든 설정이 위치하는 곳)
웹 서버 등록하기
sts에 톰캣 등록(메뉴 바에서 Window - Preferences 메뉴 선택)
프로젝트에 톰캣 연동(프로젝트 빌드 패스에 라이브러리 추가 - Server Runtime) tomcat8.5
클라이언트로 사용할 웹 브라우저 변경
웹서버를 통해 프로젝트 실행 및 요청응답 확인
인코딩 필터 설정하기
web.xml에 스프링 필터 클래스 등록 및 매핑 적용
서버 재시작 후 정상적으로 한글 응답 확인
추가 설정(선택 사항)
ContextPath 수정하기
서버의 ContextPath를 프로젝트 이름이 아닌 /(최상위)로 설정하는 방법
이클립스나 STS의 Package Explorer에 보면 Server폴더가 생성되어 있다.(서버를 한 번이라도 실행했던 경우 존재)
server.xml파일을 열어 다음과 같은 부분을 수정하면 다양한 서버 설정을 변경 할 수 있다.
ContextPath수정
위의 path속성을 다음과 같이 변경하면 접속 시 ContextPath를 /로 사용 가능
서버 재시작 후 확인
위와 같이 기존 ContextPath를 포함하면 응답 페이지 없음
ContextPath를 최상위로 지정하면 응답 성공
서비스 접속 포트 수정하기
8080이 기본 포트로 동작하는데 이것을 80번 포트로 변경할 수 있다.
server.xml파일에서 다음과 같은 부분의 포트번호를 수정하면 된다.
포트 수정
서버 재시작 후 80번으로 접속 확인(웹 브라우저에서 서버로 요청 시 기본 포트가 80번이므로 포트번호 생략가능)
스프링 설정파일 관리를 위해 필요한 개념
web.xml파일에 다음과 같은 설정이 있다.
이 설정파일은 전체 서비스에서 사용할 설정들을 등록하는 용도로 사용한다.(전역적인 설정)
다음으로 web.xml파일에 Dispatcher 서블릿 등록 선언 부분에서 포함하는 파일이 있다.
위 설정파일은 서비스, 비즈니스 객체, MVC관련 설정, 인터셉터 등등의 서블릿 관련 내용을 작성하는 용도이다.
하나의 파일에 너무 많은 내용이 들어갈 경우 분할할 수 있으며 분할 했다면 web.xml에 파일을 추가하거나
servlet-context.xml파일에서 다른 파일을 import하도록 해주어야 스프링에서 잘 인식할 수 있으니 잘 고려하여 사용한다.
servlet-context.xml의 기본 초기 설정 확인
위 설정은 컨트롤러 식별을 위한 설정이며(다음 두 어노테이션 설정을 읽어들인다.)
RequestMappingHandlerMapping
RequestMappingHandlerAdapter
위 설정은 뷰 페이지의 경로 해석기를 지정하는 설정이다.(이 설정을 통해 jsp파일을 응답할 수 있음)
위 설정은 컴포넌트를 식별하기 위해 스캔할 패키지를 등록해주는 설정
@Component, @Service, @Controller, @Repository가 지정된 클래스를 빈으로 등록해줌
트랜잭션, 인터셉터 등 필요한 설정을 추가하여 개발하면 된다.
기본 패키지 관리 방법
처음 설정했던 패키지 하위에 필요한 코드 구조로 작성하도록 한다.
org.itthis.me.controller 패키지
org.itthis.me.model 패키지
org.itthis.me.service 패키지
org.itthis.me.common 패키지
등등 필요한 형태 및 구조를 가져가도록 하고 스프링 설정파일에 빈 등록 시 잘 적도록 한다.
'교육자료 > Spring' 카테고리의 다른 글
10.게시판 구현하기(Spring MVC + MyBatis) (0) | 2018.10.16 |
---|---|
09.MyBatis 연동하기 (0) | 2018.10.16 |
08.Spring MVC Part 3 (0) | 2018.10.16 |
08.Spring MVC Part 2 (0) | 2018.10.16 |
08.Spring MVC Part 1 (0) | 2018.10.16 |