스프링 MVC 연동에 대해서 포스팅해보도록 하겠습니다.

개발툴은 STS(Spring Tool Suite) 를 이용하겠습니다.


http://spring.io/tools/sts/all


해당 페이지로 이동하여 자신의 OS환경에 맞는 툴을 다운로드 받습니다.







저는 Windows 32bit 툴을 다운로드 받았습니다.


압축해제를 하도록 하겠습니다.


/sts-bundle/sts-3.x.x.RELEASE/


디렉토리에 들어가시면 STS 실행 프로그램이 있습니다.


실행!!!


Spring 프로젝트 진행시 인코딩을 UTF-8환경으로 진행할 예정이므로 

제일먼저 STS(이클립스) 인코딩설정을 먼저 해줍니다.



이클립스 인코딩 환경설정하기(UTF-8)



Window -> Preferences -> General -> Workspace의 Text encoding을 UTF-8로 변경해주십니다.

    보통 Default로 MS949로 정의되어있어서 간혹가다 인코딩 문제가 발생하기 쉽기 때문입니다.

    Other를 클릭하셔서 UTF-8로 입력해주시거나 selectbox로 선택 후 Apply 버튼을 클릭합니다.







② Window -> Preferences -> General -> Web 의 CSS,HTML,JSP 3개지 설정의 Encoding을 UTF-8로 변경해주십니다.

    역시 이부분도 Apply 버튼 클릭!!






마지막으로 Window -> Preferences -> General -> Contetn Types의 Text가 있습니다. 

    Text선택 후 Default encoding을 UTF-8이라고 입력 후 Update클릭합니다.







"OK" 버튼을 클릭하면 이클립스(STS)의 인코딩 설정은 마무리가 되었습니다.


본격적으로 프로젝트 생성하여 간단하게 Spring MVC 설정을 해보도록 하겠습니다.


※ Spring 프로젝트는 별도로 정의를 해주지 않아도 RESTFUL로 설정이 되어있으므로 

    "xxx.do"와 같은 확장자 지정을 해주지 않아도 됩니다.



Spring Project 생성






①  New -> Spring Project






② Project name 입력 -> Simple Projects(Simple Spring Web Maven) 선택 -> Select Spring version 선택(Default로 하여도 무관) 

    -> Finish 클릭



그럼 프로젝트 생성이 완료 되었습니다.


"Dynamic Web Project로 생성해도 무관하지만 

라이브러리파일들을 일일이 모두 lib 디렉토리내에 넣어줘야하는 번거로움이 있어서 

Maven으로 간편하게 라이브러리 관리 및 Spring 환경설정을 위하여  

"Spring Web Maven" 프로젝트로 진행하도록 하겠습니다.



Spring 프로젝트 생성을 하였는데 Tomcat 에 Add가 되지 않을경우


생성프로젝트 우클릭 -> Maven -> Update Project 를 해주시면 됩니다.








이어서 Spring MVC 기본 설정을 위하여 프로젝트의 설정 부분을 수정해보도록 하겠습니다.



Spring MVC 환경설정 및 실행


ⓐ  /스프링프로젝트/src/main/webapp/WEB-INF/mvc-config.xml  코드 추가


1
<context:component-scan base-package="com.spring"/>


ⓑ /스프링프로젝트/src/main/java/ 내에 다음과 같이 패키지 구조를 생성하였습니다.






StudyController 클래스에 다음과 같이 코드작성을 해줍니다.



StudyController.java 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
package com.spring.study.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class StudyController {
     
    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}



ModelAndview를 이용하여 return 페이지를 정해줄 수 있지만 String을 이용하여 return 페이지를 정의하도록 하겠습니다.


return "hello" 를 쉽게 이해해보시자면 mvc-config.xml에 정의되어있는 코드 중 

<property name="prefix" value="/WEB-INF/view/"/> 라고 정의되어있는 코드가 있는데

저 디렉토리가 WEBROOT가 되는 것입니다.


return "hello"로 정의해주었다면 /WEB-INF/view/hello.jsp 페이지로 이동한다는 것입니다.

view디렉토리 경로에  hello.jsp페이지를 생성해보도록 하겠습니다.

default로 생성시 showMessage.jsp 가 존재하는데 삭제하셔도 됩니다.

hello.jsp를 생성하셨다면 body태그 부분에 테스트를 위하여 하단 코드를 작성합니다.



hello.jsp 코드

1
<h3>HELLO WORLD!!</h3>



톰캣을 실행 후 브라우저로 접속하기 전

server.xml 의 context path를 root경로로 잡아주도록 합니다.

앞으로 context root 기준으로 진행하도록 하겠습니다.







server.xml 변경 전

1
<Context docBase="spring_mvc" path="/spring_mvc" reloadable="true" source="org.eclipse.jst.jee.server:spring_mvc"/></Host>

server.xml 변경 후

1
<Context docBase="spring_mvc" path="/" reloadable="true" source="org.eclipse.jst.jee.server:spring_mvc"/></Host>




위 설정 까지 변경하셨다면 톰캣 서버를 실행 후 브라우저에 다음과 같이 입력합니다.


http://localhost:8080/hello









실행화면에서는 7070 포트로  호출을 하였는데 포트는 본인이 정한 포트로 실행하시면 되겠습니다.


정상적으로 결과가 출력되었습니다.


다음장에서는 spring mvc의 UTF-8 인코딩 설정을 해보도록 하겠습니다.



by 개발로짜