1. eclipse 에서 Maven Project 생성
- archetype :
- Group Id : org.apache.maven.archetypes
- Artifact Id : maven-archetype-webapp
- group Id : net.cranix.web
- artifact Id : hellospring3
2. maven dependency 에 spring-mvc 추가
- 기본 웹 archetype 을 선택했기때문에 spring-webmvc 라이브러리를 추가해 줘야한다.
- 그리고 기본적으로 메이븐 플러그인에서 이클립스 버젼을 관리하도록 아래와 같이 버젼셋팅 플러그인을 추가한다.
- pom.xml 파일에 아래 추가
<dependencies>
...
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
</dependencies>
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>1.6</target>
<source>1.6</source>
</configuration>
</plugin>
</plugins>
</build>
- Maven -> Update Project Configuration 로 프로젝트 설정 업데이트
- 플러그인 설정을 하지않으면 기본적으로 1.5 이하버젼으로 셋팅되기때문에 어노테이션을 쓸 수가 없음으로 주의하자.
3. 프로젝트에 java 소스디렉토리 추가
- 처음 만들면 java 소스 폴더가 없기때문에 만들어주자.
- New > Source Folder
- Folder name : src/main/java
4. 톰켓 작동 테스트
- Run As -> Maven build...
- Goals : tomcat:run
- http://localhost:8080/hellospring3/ 접속확인
5. WEB-INF/web.xml 파일수정
- 톰켓으로 들어오는 요청을 spring-webmvc 로 돌리기 위해서 셋팅을 해야한다.
- *.do 로 들어오는 모든 요청을 spring 이 처리하도록 한다.
- 기본적인 web.xml 파일은 jsp 버젼을 2.3 을 채택하고 있기때문에 위 처럼 버젼을 2.4 로 바꾸지 않으면 jsp 의 EL 표현식을 사용할 수 없으니 주의하자.
6. spring bean 설정파일 만들기
- spring bean 설정파일 이름은 [servlet-name]-servlet.xml 형태로 만들어야 한다.
- WEB-INF/hello-servlet.xml 파일 생성해서 아래와 같이 입력하자.
- context:component-scan 태그는 이름그대로 어노테이션 기반의 spring3-mvc 컴포넌트를 검색하도록 하기위한 기본 패키지를 지정한다. 여기에 지정된 패키지는 하위 패키지까지 자동으로 검색해서 컴포넌트를 등록해 준다.
- spring-webmvc 는 id 가 viewResolver 인 bean 을 가지고 출력할 view 페이지의 경로를 만들어 낸다.
7. hello jsp 만들기
- WEB-INF/jsp/hello.jsp 생성 (jsp 디렉토리도 생성)
<html>
<body>
<h2>hello ${message}</h2>
</body>
</html>
8. hello controller 만들기
- New -> Class
- Package : net.cranix.web.hellospring3
- Name : Hello
package net.cranix.web.hellospring3;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class Hello {
@RequestMapping("hello")
public String hello(Model model) {
model.addAttribute("message","spring3!!");
return "hello";
}
}
9. 실행하기
- Run As -> Maven build...
- Goals : tomcat:run
- http://localhost:8080/hellospring3/hello.do 접속확인
10. 마무리
- 스프링3.0 webmvc 모델은 어노테이션 지원을 강화했다. 거의 xml 편집을 하지않아도 될 정도이기 때문에 상당히 편해졌음을 알 수 있다.
RECENT COMMENT