STS에서 기존 spring framework를 이용한 project 생성하는 방법에 대하여 포스팅 하겠다.
File - New - Project.. 에서 Spring Legacy Project를 선택 후, Spring MVC Project를 선택한다.
패키지 명을 설정해주어야 한다. 패키지명은 네이밍 규칙에 따라서 지정을 하는데, 관리를 위하여 보통은 최소 3레벨로 구성한다.
ex) [com/org].[회사명].[모듈명(프로젝트명)..]
* 패키지명에 대한 분류와 필요성에 대한 글은 https://12bme.tistory.com/271을 참고하면 좋을듯하다.
이렇게 spring 프로젝트가 생성된 것을 확인할 수 있다.
이제 서버를 생성하여 동작시켜 프로젝트를 서버에 실행해서 봐보자
STS 화면의 servers 탭에 아직 서버가 없다는 것을 확인할 수 있다.
(Server탭이 없다면 window - show view - others.. 에서 server검색하여 띄우기)
New Server를 하면 서버타입을 선택할 수가 있다.
자주 사용하는 서버타입은 크게 2가지 종류가 있다.
(1) Pivotal tc Server
: STS에 내장되어있는 서버인데, tomcat의 기능이 포함되어 있으며 웹 응용 프로그램의 엔터프라이즈 버전이라고 한다. (STS4부터는 기본 내장으로 설치가 되어있지 않다. 그래서 따로 설치 후 적용 해주어야함.. 설치방법은 https://m.blog.naver.com/10hsb04/221665313226 참고 )
(2) Apache tomcat
: 웹서비스를 동작 시키기위한 웹서버이다.
이 포스팅은 tomcat 서버를 이용하는 방법에 대하여 적겠다.
먼저 tomcat 홈페이지에 접속하여 톰캣을 설치한다.
* 설치 링크 : http://tomcat.apache.org/
버전은 원하는 버전으로 .zip 파일을 다운을 받아 설치를 한다.
나는 tomcat 9.0을 다운 받았다.
다운 받은 파일의 STS가 설치된 곳에다가 압축을 풀어준다. (아무데나 풀어도 상관은 없음)
다시 STS로 돌아가서 Servers 탭의 우클릭을 하거나 No server .. 어쩌고 버튼을 눌러 New Server 창을 띄워준다.
Apache 폴더에서 아까 다운받았던 버전의 서버를 클릭하고 Next, 한다. 그다음 Browse.. 를 눌러 톰캣이 설치된 폴더의 경로를 선택한다.
서버가 구동할 프로젝트를 선택하는 화면이다. 아까 생성한 firestSpring 프로젝트를 add하여 우측으로 옮겨준다.
서버가 목록에 확인된다. 서버를 우클릭하여 Start를 눌러 서버를 실행시킨다.
실행이 완료되면,
웹 브라우저를 열고 주소창에 localhost:8080/web 이라고 입력한다.
(/web은 프로젝트 생성시 패키지 명(com.firstspring.web) 마지막에 입력했던 'web' 이다.)
이렇게 구동되는 것을 확인할 수 있다.
근데 글자가 깨지는 것을 알 수 있다. 인코딩 언어설정이 안되어 있기 때문이다.
web.xml에 아래와 같이 붙여넣고 서버를 stop했다가 다시 실행한다. UTF-8로 인코딩한다는 의미다.
<filter> <filter-name>encodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
다시 localhost:8080/web에 접속을 하면, 이렇게 한글로 잘 나오는 것을 확인할 수 있다.
다음시간에는 Spring Framework의 디렉터리 구조에 대하여 알아보겠다.
'프로그래밍 > Spring Framework' 카테고리의 다른 글
[Spring] STS에 Lombok 라이브러리 설치하기 + Lombok 메소드 기능 (0) | 2020.07.19 |
---|---|
[Spring] 스프링 게시판 예제 (1) - DB 연동 (Oracle, Mybatis) (0) | 2020.06.28 |
[Spring] STS - Spring 한글 인코딩하기 (0) | 2020.06.28 |
[Spring] Spring 프로젝트 디렉터리 구조 / 스프링 MVC 구조 (0) | 2020.06.15 |
[Spring] STS에 Spring legacy project 없는 경우 (0) | 2020.06.14 |