Spring 4.0 기반 개발환경 구성중이구요. 중간 상황 정리합니다.
Spring 4.0.2
Sts 3.4.0
Java 1.7 -> 1.8 로 세팅할 예정입니다.
Sts 3.4 에서 Tomcat 7.0 까지 선택할 수 있는데, 이때 보이는 버젼을 보면 7.0 최종버젼이 아니라 예전 버젼입니다.
Web Socket 지원이 안되는 버젼 같습니다.
Spring 4.0 에서 Web Socket 이 지원이 된다고 하고, Tomcat 에서도 지원이 된다는데... 둘 중 하나만 되어도 되는지 같이 받쳐줘야 하는지는 모르겠는데.. 아무튼 가능한 최신버젼으로 세팅하려고 Tomcat 쪽에 가보니 8.0 도 나왔네요 ( 7.0 최종버젼도 Websocket 지원한다고 되어 있습니다 )
■ 그래서 이왕이면 STS IDE 상에서 Tomcat 8과 연동이 되도록 구성을 했습니다.
* 참고 : http://stackoverflow.com/questions/17868232/how-to-use-tomcat-8-in-eclipse )
- Go to the WTP downloads page, select the latest version (currently 3.6), and download the zip (under Traditional Zip Files...Web App Developers). Here's the current link.
- Copy the all of the files in features and plugins directories of the downloaded WTP into the corresponding Eclipse directories in your Eclipse folder (overwriting the existing files).
* STS 3.4 에는 Eclipse 4.3.1 버젼이 포함되어 있습니다. Eclipse 최종버젼 4.3.2 에서는 Tomcat 7.0 의 최종버젼, Tomcat 8.0 버젼들도 선택이 가능하지 않을까 추측됩니다.
■ 이제 Project 를 생성해야죠. 예전 STS 버젼에 보이던 Spring Template MVC Project 를 못찾겠고, 새로운 것들이 보입니다.
- Spring Starter Project : Spring Boot 라는 건데.. 음.. Spring 사이트에서 직접 보시면 될 거 같습니다. 이런 저런 세팅없이 간단한 구성으로 데모나 테스트를 할 경우 쓰면 될 거 같구요.
- Spring Project : 이게 예전의 Template Project 입니다.
Spring Project > Spring MVC Project 로 프로젝트 생성하면 예전의 Spring Template Project > Spring MVC Project 와 동일합니다.
* 그런데 이렇게 생성하고 Tomcat8 서버에 넣어 기동하면 http://localhost:8080/context_name/ 접속시 404 가 뜹니다.
HomeController 로 요청이 아예 안들어가요.
WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:springMvcProject' did not find a matching property.
라는 메시지가 뜨는데... 이건 뭐 정상적으로 기동이 될때도 보던 메시지라서 저 메시지에 집착하실 필요는 없는거 같습니다.
Tomcat Config 에서 'Publish module contexts to separate XML files' 체크해봤자 해결이 안되네요.
잠시 이 얘긴 보류하구요
다시 Project 생성으로 돌아가서
- Import Spring Getting Started Content 라는 놈이 있습니다. 여기서 선택해서 Finish 를 하면 관련 프로젝트가 생성이 됩니다.
여러가지가 있는데 spring-mvc-showcase 를 선택하면 'spring-mvc-showcase' 라는 이름으로 spring mvc project 같은게 생성이 되는데, 샘플 기능들도 구현이 되어 있네요. 이건 404 같은게 안뜹니다.
■ 다시 404 에러가 뜨는 상황으로 돌아가서...
문제의 Spring MVC Project 의 각종 설정값을 --- 예를 들면 Dynamic Web Module 2.5 version 등...
잘돌아가고 있는 spring-mvc-showcase 의 값들과 --- Dynamic Web Module 3.0 version 등...
유사하게 맞추어봐도 해결되지 않습니다.
▶ 그래서 그냥 spring-mvc-showcase 를 copy paste 로 새로 프로젝트를 만들었습니다. 프로젝트명은 'spring-mvc-test' 로 해꾸요.
이렇게 만든후에는 Project Properties > Web Project Settings > Context root 값을 새 프로젝트명으로 변경해야 합니다.
더 해야될게 있는지 모르겠는데요... 저는 저렇게 안하고 그냥
새 프로젝트 선택하고 Search 로 기존 프로젝트명 가지고 있는 파일을 찾으니 여러개가 나왔고, 그 파일들을 직접 변경했습니다.
기동후
http://localhost:8080/spring-mvc-test/
하면 showcase 에서 보여지는 첫화면 그대로 보이구요.
제가 직접 Controller 만들어서 콜해봐도 잘 됩니다.
이걸 보시는 분들은 이거까진 얘기 안드려도 되겠지만... 어떻게 했는지 간단히 적을께요.
* WEB-INF/spring/appServlet > controllers.xml 에 라인 추가
<context:component-scan base-package="com.orgos.net" />
* showcase의 패키지 말고 별도 패키지를 생성하고 com.orgos.net 에 TestController 생성하고 ( url : /test )
* 연결시키는 view 파일 WEB-INF/views/test.jsp 를 생성함.
* http://localhost:8080/spring-mvc-test/test 호출하면 OK
※ 참고
* spring-mvc-showcase 는 spring 4.0.1 기반으로 생성됩니다. (현재 최종 릴리즈 버젼은 4.0.2 죠 )
그리고 xml 설정파일을 열어보면 xsd 파일 버젼이 3.2 로 보이네요.
4.0에서는 xml 설정 파일 대신 class로 설정해도 아마 될 겁니다.
지금 세팅한 거에서 계속해서 spring 4.0.2, java1.8 환경으로 바꿔보려고 하는데 spring 쪽 레퍼런스 말고는 참고할만한 국내외 blog 글들이 거의 전무한거 같습니다.
겉은 spring 4.0, java1.8 로 만들어도 속까지 최신버젼 제대로 쓰는 식으로 세팅하는건 빠르게 되진 않을거 같네요.
저야 계속 해보는게 좋은데... 회사 생활이라는게 좀 그렇죠.. 그냥 당장의 아웃풋을 빨리 나오기를 원하니까...
적당히 해야할거 같습니다...
'IT - S/W, Biz > S/W Development' 카테고리의 다른 글
node.js - express > 가상 디렉토리 설정 (0) | 2014.04.29 |
---|---|
html5 canvas 녹화 관련 경험기 (0) | 2014.04.28 |
채번 SP - 날짜 + SEQUECNE 조합 (0) | 2014.04.28 |
Oracle JDBC Driver maven 디펜던시에 추가하기 [펌] (0) | 2014.04.24 |
표준프레임워크 2.7 64bit 세팅 - HelloWorld 프로젝트까지 (0) | 2014.04.15 |