티스토리 뷰

Spring3 MVC Framework 소개
Spring MVC는 Spring framework의 웹 컴포넌트 이다. 이것은 풍부한 기능을 제공하고, 견고한 웹 어플리케이션을 만드는데 도움을 준다.
Spring MVC framework 는 모든 조각의 로직과 기능들이 highly configurable 하도록 디자인되고 설계되었다.
그리고 스프링은 Struts, Webwork, Java Server Faces, Tapestry 와 같은 다른 유명한 웹 프레임 워크와도 효과적으로 통합된다.
이말은 이중 하나의 프레임워크를 이용하기 위해 Spring 프레임워크를 사용할 수 도 있다는 말이다.
또한 스프링은 클라이언트에게 렌더링 하여 화면을 보여주는 데 있어서 Servlet 또는 JSP 와 결합이 강하지 않다.
다른 View 기술들인 Velocity, Freemaker, Excel 또는 Pdf 까지 통합하는것이 가능하다.

요청 처리의 생명주기 ( Request Processing LifeCycle )


이미지 출처 : Springsrouce

Spring web MVC framework 는 다른 웹 프레임워크 들과 마찬가지로 요청들에 대해서 컨트롤러 들로 분배하고, 프레임워크의 여러가지 기능을 제공하는 servlet 중심으로 설계되어 있다. 이게 바로 Spring에서 DispatcherServlet 인데 완전하게 Spring IoC container 와 통합되어 있으며, Spring의 다른 모든 기능들을 사용 할 수 있도록 해준다.

Spring 3.0 MVC 의 요청 처리 절차는 아래와 같다.

1. 클라이언트가 http request 형태로 web container 에 요청을 보낸다.

2. 들어오는 request 는 Front Controller (DispatcherServlet) 에 의해서 가로채 지고, 적절한 HandlerMapping을 찾는다.

3. Handler Mapping의 도움으로, DispatcherServlet 은 들어온 요청을 적절한 Controller 로 보낸다.

4. Controller 는 들어온 요청을 처리하고(비즈니스로직수행) 그 결과로 Model과 View 를 ModelAndView 라는 객체의 인스턴스 형태로 Front Controller 에 다시 전달한다.

5. Front Controller 는 ViewResolver 오브젝트를 이용하여 이 view 를 분석한다 (이것은 JSP일 수도 있고, velocity, freemaker 등이 될 수 있다).

6. 선택된 view 는 변환되어 다시 클라이언트에게 보여진다.

Spring 3.0 의 기능들

- Spring 3.0 framework 는 Java 5.0 을 지원 : annotation 기반의 설정을 지원한다. Java 5의 기능인 generics, annotations, vargs 등을 스프링에서 사용 가능하다.

- 새로운 expression language 인 Spring Expression Language SpEL 이 소개되었다.

- REST web service 를 지원한다.

- 데이터 변환이 매우 쉽다. 어노테이션 기반의 데이터 포멧팅을 지원한다. @DateTimeFormat(iso=ISO.DATE)와 @NumberFormat(style=STYLE.CURRENCY) 어노테이션을 이용하여 날짜형식 및 통화형식으로 형변환이 가능하다.

- JPA 2.0 지원이 시작됐다.

Spring 3.0 설정하기

Spring 3.0 MVC 의 시작점은 바로 DispatcherServlet 이다. DispatcherServlet은 HttpServlet 을 부모클래스로하여 구현하고 있는 일반적인 servlet 클래스 이다. 따라서 web.xml 에 설정을 해줄 필요가 있다.

  1. <web-app>
  2. <servlet>
  3. <servlet-name>example</servlet-name>
  4. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5. <load-on-startup>1</load-on-startup>
  6. </servlet>
  7. <servlet-mapping>
  8. <servlet-name>example</servlet-name>
  9. <url-pattern>*.html</url-pattern>
  10. </servlet-mapping>
  11. </web-app>


위 코드를 통해 web.xml 에 DispatcherServlet 을 설정해 주었다.
예제의 DispatcherServlet 에서 *.html 의 url패턴의 요청에 대해 매핑을 해준것을 기억 하길 바란다.
따라서 *.html 형태의 요청이 들어왔을 때, Spring 3.0 MVC 의 Front Controller 가 호출 될 것이다.



DispatcherServlet 이 초기화 되고 나면, [서블릿이름]-servlet.xml 이란 파일을 웹 어플리케이션의 WEB-INF 폴더 하위에서 찾게 된다.
위의 예에서는 프레임워크가 example-servlet.xml 이란 파일을 찾을 것이다.

이 글은 최자님의 글을 포스팅 하였습니다.

copyright by . http://chooija.com

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함