전체글
일상
코딩
게임
블로그 운영
IT
여행

스프링 프레임워크(Spring STS) 개발 #1 - MVC 프로젝트 생성

 스프링은 JSP MVC 패턴의 웹사이트를 좀 더 편하고 효율적으로 만들기 위해서 사용하는 개발도구 중에 하나입니다.
 이클립스 EE의 JSP를 만들어서 개발하는 것보다 편하기는 하지만, 초기설정을 할 것이 많고 servlet이나 root-context 오류로 프로젝트 생성부터 난관이 많습니다.
개발의 시작인 MVC 프로젝트를 생성하는 것부터 차근차근 알아가보겠습니다.

스프링(Spring) MVC 프로젝트 생성


spring logo


스프링 프레임워크 개발환경 설정


 MVC 프로젝트 생성에 앞서 위에 링크에 있는 글들을 참고하여 스프링 프레임워크 개발환경 설정을 해주시기 바랍니다.


MVC 프로젝트 생성하기


mvc 프로젝트 생성


 가장 먼저 스프링 프레임워크를 실행시킨 후 좌측 상단에 있는 [File] ▶ [New] ▶[Spring Legacy Project] 를 선택합니다.




 그 다음, Project Name을 지정해준 뒤에 템플릿에 [Spring MVC Project]를 선택하고 [Next]를 누릅니다. 필요한 라이브러리를 받겠다는 창이 나오면 [OK]를 누릅니다.



 

 다음에 뜨는 창에서 프로젝트의 Java 파일이 들어갈 패키지명과 경로를 지정해줍니다. 입력 패턴은

[xxx.yyy.ProjectName]으로 해줍니다. xxx와 yyy는 아무거나 적어도 무관하며, 뒤에 Project Name은 서버에서 구동될 때의 주소가 됩니다. (ex: localhost:8080/ProjectName)

 패키지명 입력을 마쳤으면 하단에 [Finish]를 누릅니다.




 [Finish]를 누르면 MVC 프로젝트를 위한 라이브러리를 받게 됩니다. 인터넷과 컴퓨터 사양에 따라서 1~10분정도 걸립니다. 하단에 [Progress]를 통해서 진행상황을 확인할 수 있습니다. 




 MVC 프로젝트의 필요한 라이브러리를 받는 동안, Maven 파일들이 저장 되는 곳을 한 번 알아보겠습니다. 차후에 스프링 프레임워크에 충돌이나 오류로 인해서 완전 삭제 후 재설치가 필요할 때 꼭 지워줘야하는 파일입니다.

 컴퓨터에 있는 아무 폴더나 열어서 상단에 [파일] ▶ [폴더옵션]을 엽니다. [보기] 탭을 선택하고 [숨김 파일, 폴더 및 드라이브 표시]를 체크하고 [확인]을 누릅니다.




 [C://user/userName] 폴더로 들어가서 [.m2] [.p2] 폴더가 생성되었는지 확인합니다. Maven으로 받은 라이브러리들이 저장되는 경로입니다.



MVC 프로젝트 초기설정 및 구동 확인



 MVC 프로젝트를 생성 후에, 간혹 Java 파일의 Controller와 root-context, servlet 파일이 오류가 나서 실행이 안되는 경우가 있습니다. 이 경우 대표적인 문제점은 두 가지가 있습니다.


1. 스프링 설치 경로, workspace 경로 상에 한글이 포함되어 있는 경우

 


 컴퓨터의 이름이 한글이거나, 바탕화면 또는 내문서에 저장했을 경우입니다. 컴퓨터의 이름이 한글이면 영문명으로 바꿔주어야 경로 인식을 합니다.

 바탕화면(Desktop), 내문서(Document)의 실제 경로명은 영어라서 바탕화면이나 내문서에 스프링과 워크스페이스를 지정하는 경우가 있는데, 서브 경로명은 한글이라서 오류가 납니다. 


2. 스프링 또는 자바 버전 문제

 대부분 문제는 1번에서 생기지만, 간혹 스프링과 자바 버전 차이로 문제가 생기는 경우가 있습니다. 이 경우에는 아래에 방법을 따라하시면 됩니다.


 문제가 없는 경우에도 아래와 같은 설정을 해주셔서, 문제가 생기지 않게 해주셔야 합니다.




 좌측 상단에 있는 [Package Explorer]에서 방금 생성한 MVC 프로젝트 폴더를 마우스 오른쪽 클릭합니다. 그리고 [Build Path] ▶ [Configure Build Path]를 선택합니다.




 [Libraries] 탭을 선택하고 [JRE System Library]를 선택하고 [Edit]를 누릅니다. 현재 최신버전의 Spring STS라도 [JRE System Library]는 기본적으로 [JavaSE-1.6]으로 되어있습니다.




 다음에 뜨는 창에서 [Workspace default JRE]를 선택해줍니다. 현재 자신에 컴퓨터에 설치된 JDK가 자동으로 선택됩니다. 그다음 [Finish]를 누릅니다.




 다음은 좌측에서 [Project Facets]를 누르고 [Java][1.8]로 선택합니다. (설치된 자바가 1.8 이하 버전이면 1.7 or 1.6을 선택하거나 그대로 둡니다.)




다음은 생성된 프로젝트 폴더를 열어서 가장 아래에 있는 [pom.xml]파일을 엽니다. [target] 폴더 안에 있는 [pom.xml]이 아닙니다. pom.xml은 Maven을 통해서 필요한 라이브러리를 업데이트 하거나 내려 받는 파일입니다.




 [pom.xml]을 열었으면, 우측 하단에 [pom.xml]탭을 선택합니다. 수정하겠냐는 메시지가 나오면 [Yes]를 누릅니다.




 [pom.xml] 파일에 위에 이미지에 있는 properties를 찾아서 <java-version>을 자신에 컴퓨터에 설치되어 있는 자바 버전으로, <org.springframework-version> 버전을 4.3.9.RELEASE로 바꿔줍니다.  @RestController를 사용하기 위해서는 기본 버전이 아닌 상위 버전으로 반드시 바꿔주어야합니다.

 현재 springframework-version은 5.0.0 버전까지 나왔지만, 아직 오류가 많아서 사용할 수가 없습니다. 4.3.10.RELEASE 버전은 servlet을 인식 하지 못하는 오류가 있기 때문에 4.3.9.RELEASE 버전을 사용합니다.

 위에처럼 변경을 다 하셨으면 꼭 저장 버튼을 눌려서 저장을 합니다. 저장이 되면 자동으로 Maven이 다운로드를 받으면서 업데이트를 해줍니다.

 



 확인을 위해서 프로젝트 폴더에서 [Maven Dependencies]를 열어서 버전이 변경되었는지 확인합니다.




 이제 MVC 프로젝트의 모든 초기설정이 끝났으니 정상적으로 서버에서 돌아가는지 확인해볼 차례입니다.

 프로젝트 폴더를 오른쪽 클릭 후, [Run As] ▶ [Run on Server]를 누릅니다.




 그 다음 사용할 서버를 선택합니다. 저는 기본적으로 설치되어 있는 Pivotal tc Server를 사용하겠습니다.




 서버에 올라갈 프로젝트를 확인한 후에 [Finish]를 누릅니다.




 정상적으로 작동이 되면, 컴파일과 매핑을 하면서 서버가 구동됩니다. 기본적으로 생성되어 있는 home.jsp가 제대로 작동 되면 [Hello wolrd!]와 서버 시간이 적혀 있는 웹페이지가 출력됩니다.

 서버 시간에 ?가 뜨는건 오류가 아니고 JSP가 UTF-8로 처리가 되어있지 않기 때문입니다.



도움이 되셨으면 공감을 눌러주세요!