본문 바로가기
프로그래밍/스프링프레임워크

Spring Framework을 사용한 웹애플리케이션 개발환경 만들기

by pentode 2018. 4. 1.

스프링 프레임웍을 사용하여 프로그램을 개발할 수 있는 환경을 만들어 보겠습니다.  http://spring.io 에서 Eclipse와 통합된  String tool Suite 를 제공하고 있습니다. STS도 Eclipse 기반으므로 스프링 프레임웍 외에 필요한 플러그인을 설치하여 자바, PHP 등 개발에 사용할 수 있습니다. 여기서는 설치해둔 Eclipse가 있다는 가정하에 STS를 플러그인 형태로 설치해 보겠습니다 (Eclipse의 설치는 "Eclipse 설치하기" 를 참조하면 되겠습니다).

 


1. Eclipse 를 실행합니다. 메뉴바에서 Help -> Eclipse Marketplace 를 실행합니다.

 

Eclipse Marketplace 메뉴


  

2. Find 에 STS 를 입력하고 Go 버튼을 눌러 검색합니다. 검색된 항목중에 Spring Tool Suite(STS) From Eclipse 3.8.3 RELEASE 를 Install 버튼을 눌러 설치합니다.

 

Marketplace에서 STS 검색


 

3. Confirm Selected Features 화면 입니다. 모든 항목을 선택하고 Confirm 버튼을 누릅니다.

 

STS 설치 요소 선택


 

4. 라이센스에 동의합니다. Finish 버튼을 누릅니다.

 

라이센스 동의


 

5. 설치가 진행되고 있습니다.

 

설치진행막대


 

6. 설치가 완료되고 Eclipse 를 재시작해야 한다는 알림창입니다. Yes 버튼을 누르면 자동으로 재시작됩니다.

 

재시작 여부 선택


 

7. 스프링 플러그인이 설치되었습니다. 이제 스프링 샘플 프로젝트를 만들고 실행해 봅니다. File -> New -> Project를 선택합니다.

 

프로젝트 생성 메뉴

 

8. 프로젝트 위저드 화면 입니다. Spring 아래의 Spring Legacy Project 를 선택합니다. Next 를 눌러 진행합니다.

 

프로젝트 위저드에서 Spring Legacy Project 선택

 

9. Project name 에 spring_test 를 입력합니다. Use default location 이 체크되어 있으면 기본 workspace 아래에 생성됩니다. Templates 는 Spring MVC Project 를 선택합니다. Next 버튼을 누릅니다.

 

프로젝트 정보 입력

 

10. 템플릿을 다운로드 받을지 물어 봅니다. Yes 를 클릭합니다.

 

템플릿 다운 여부 선택

 

11. java 프로그램들이 들어갈 기본 패키지를 지정합니다. 각자 원하는 패키지명을 입력하면 되겠습니다. 여기서는 com.tistory.pentode 를 사용합니다. Finish 버튼을 누릅니다.

 

기본 패키지명 입력

 

12. 프로젝트가 생성되었습니다. 아래 이미지는 좌측 Package Exploer 에서 srping_test 프로젝트를 클릭하여 확장해둔 것 입니다. 하단에 Problem 탭을 보면 Warning이 하나 떠 있습니다.  jdk 1.6 이 없다는 내용입니다. 앞에서 선택한 템플릿은  jdk 1.6 을 사용하고 스프링3 을 사용하도록 설정되어 있는 것입니다. 스프링 버전은 그대로 사용하고 jdk 만 우리가 지금 사용하고 있는 jre1.8 로 바꾸겠습니다.

 

템플릿 프로젝트 생성 화면

 

13. 프로젝트명 spring_test 에 마우스 오른쪽 키를 눌러서 팝업 메뉴에서 Build Path -> Configure Build Path 를 선택합니다.

 

Build Path 메뉴

 

14. jre 1.6 을 사용하도록 되어 있는게 보입니다. Libraries 탭에서 우측의 Add Library 버튼을 누릅니다.

 

Add Library

 

15. JRE System Library 를 선택하고 Next 버튼을 누릅니다.

 

JRE System library 선택

 

16. Workspace default JRE(jre1.8.0_111) 을 선택하고, Finish 버튼을 누릅니다.

 

JRE 선택

 

17. 기존의 JRE 1.6 을 선택하고 Remove 버튼을 눌러 삭제합니다. OK 버튼을 누릅니다.

 

Old JRE 삭제

 

18. 하단의 Problem 탭의 Warning이 사라졌습니다. 이제 프로젝트를 실행시켜볼 차례입니다.

 

프로젝트 설정 완료

 

19. 프로젝트명에 마우스오른쪽 키를 누르고 팝업메뉴에서 Run As -> Run on server 를 선택합니다.

 

프로젝트 실행 메뉴

 

20. Apache 하위에 Tomcat v7.0 Server 를 선택합니다. Always use this server when running this project를 체크합니다. 체크하지 않으면 실행할 때 마다 이 창을 보게 됩니다. Next 버튼을 누릅니다.

 

실행할 서버 선택

 

21. Tomcat 은 설치되어 있지 않습니다. 이 단계에서 tomcat 을 다운로드 해서 설치를 합니다. 앞에서 Tomcat 7.0 을 선택하였습니다. apache-tomcat-7.0.47 을 다운로드 하여 설치할 수 있다고 보여주고 있습니다. 설치를 할 곳은 C:\util\tomcat\apache-tomcat-7.0.47 폴더 입니다. Download and Install 버튼을 눌러 설치를 시작합니다.

 

서버 선택 상세

 

22. 라이센스에 동의하고 Finish 버튼을 누릅니다.

 

라이센스 동의

 

23. Tomcat 을 설치할 디렉토리를 선택합니다. 주의해야 할것은 선택한 폴더 아래에 apache-tomcat-7.0.47 폴더를 자동으로 만들어 주지 않습니다. 선택한 폴더 안에 bin, conf등 여러 폴더들을 바로 만들어 버리므로 상위폴더를 직접 만들고 그 폴더를 선택해야 깔끔합니다. C:\util\tomcat\apache-tomcat-7.0.47 폴더를 만들고 선택합니다. 확인 버튼을 누릅니다.

 

Tomcat 설치 위치 지정

 

24. Tomcat installtion directory 를 Browse  버튼을 눌러서 선택합니다. 직접 입력해도 됩니다. Next 버튼을 누릅니다.

 

설치 위치 지정

 

25. spring_test 모듈이 localhost 서버에 배포됨을 보여줍니다. Finish 를 눌러 실행합니다.

 

웹애플리케이션 선택

 

26. 방화벽에서 Tomcat의 네트웍 액세스를 허용할지 묻는 창이 뜹니다. 허용합니다.

 

방화벽 예외 선택

 

27. 에러가 발생합니다. 8080 포트가 이미 사용되고 있다는 내용 입니다. Tomcat을 시작할때 포트가 기본으로 8080 을 사용하도록 되어 있습니다. 앞에서 Oracle  11g Express Edition 을 설치할때 ( http://offbyone.tistory.com/13 ) Oracle HTTP Listener 가 8080 포트를 사용하도록 설정되어 있었습니다. 그래서 충돌이 발생합니다. Oracle 의 HTTP Listener 를 중지 시키도록 합시다.

 

Tomcat 실행 오류 화면

 

28. Oracle HTTP Listener 를 중지하기 위하여 명령창에서 다음 명령을 실행합니다.

sqlplus '/ as sysdba'
exec dbms_xdb.sethttpport(0);
commit;

 

오라클 8080 포트 점유 해제

 

29. 이제 Run AS -> Run on server 를 선택하여 다시 실시킵니다. 방화벽 차단 메세지가 다시 보입니다. 액세스 허용을 누릅니다.

 

방화벽 예외 등록

 

30. 실행되었습니다. Hello World! 가 출력 되었습니다.

 

실행 화면

 

 

지금까지 Spring Framework 를 이용한 웹프로그래밍 개발에 필요한 환경을 설정 했습니다. Eclipse 에 Spring tool Suite Plugin 을 설치하였습니다. 시작에서도 예기했지만, Eclipes 환경에 STS 가 통합된 툴을 다운 받아 사용하는 것도 가능합니다.

 

앞으로 스프링 프레임웍을 사용하여 프로그램을 개발하는 연습을 해보도록 하겠습니다.

반응형