스프링 MVC가 정말 이해가 안 되요;

99 views
Skip to first unread message

ycperfect

unread,
Sep 29, 2010, 12:32:02 PM9/29/10
to Korea Spring User Group
스프링 3.0 토스책 보다가; 스프링 MVC쪽에서는

게시판이나 이런거 만들면서 하던 다른 책과 달리 그냥 전략 정도로만 나와서;

당황하다가 책을 끝냈네요

스프링 MVC..

스트럿츠2만 석달 정도 붙잡고 사이트도 만들어봐서 이거에 정형화되서 그런건지 ㅡㅡㅋ

스트럿츠 2랑 비교해보면

액션 만들고 View 만들고, 모델쪽 다 만들어서

xml 파일에서 다 처리하고 액션 만들어서 기능별로

write action 무슨 액션 이렇게 다 했는데...

이건 도저히 uml도 잘 못 만들겠어요;

ModelAndView를 리턴하는 객체인 Controller만 있으면 되는건지;

서블릿에서 그냥 설정만 하면 되는건가요 -_-;;

어떤 식으로 구조를 짜야되는건가요... ㅠㅠㅠ

아 초보라 슬프네요 아니 서러운가.. ㅠㅠ

Sanghyuk Jung

unread,
Sep 29, 2010, 9:46:08 PM9/29/10
to ks...@googlegroups.com
 워낙 선택의 폭이 넓어서 처음에는 한번에 이해하기에는 분량이 많아보일수도있습니다. 그런데 MVC프레임웍마다 공통되는 기능과 역할이 있어서 Struts2를 접하셨다면 오히려 더 낫설지 않은 부분들이 있을 것 같습니다.

 결국 개발자들이 각 기능마다 작성하는 코드는 'Controller' + 'View 역할의 JSP같은 파일'이라는 점은 대부분의 MVC프레임웍과 똑같습니다. @MVC에서는 url to method 매핑도 XML파일에 할 필요가 없어서 건드려야할 파일이 하나 줄어듭니다.

 Sturts2와의 가장 큰 차이점은 Web tier에서 Struts2는 요청마다 Action class의 객체들이 매번 생성되고,  멤버변수를 활용해서 getter, setter를 통해 입출력 변수에 접근을 한다면 SpringMVC는 주로 메소드 파라미터를 활용한다는 점입니다.(물론Struts2 스타일로 짤 수 있는 ThrowAwayController인가도 있지만, 거의 안 쓰입니다..)
 그리고 Struts2의 Web-tier에서는 Return type으로 String을 넘기는데, Spring MVC에서도 String을 넘겨서 그 값으로 jsp를 찾아가게도 할 수 있습니다. String 값으로 JSP페이지를 찾는 역할을 ViewResolver라는 것이 하는 거죠. 그리고 XML이나 Json, PDF, Excel출력이 필요할 때도 이 ViewResolver를 추가해서 그런 형식을 바꿀 수 있는데, 기본적으로 JSP만 쓴다면 viewResolver 한개만 있어도 일일히 URL이나 Action 파일마다 jsp를 지정하는 설정을 추가하지 않아도 됩니다.

이미 기존 설정이 되어 있는 프로젝트에서 예제 코드들을 보시면서 참고하시고, 그 프로젝트에 기능을 추가하는 방식으로 시작하시는 것이 도움이 될 것 같습니다~




2010년 9월 30일 오전 1:32, ycperfect <burn...@gmail.com>님의 말:

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.


Sewon Ann

unread,
Sep 29, 2010, 9:53:11 PM9/29/10
to ks...@googlegroups.com
Spring MVC 의 구조와 기능을 살펴보고자 한다면, Spring mvc 3 showcase 도 한번 살펴보세요.

너무 상세한 내용을 다루고 있긴 하지만, 앞부분부터 따라가 보시면 도움이 되리라고 봅니다.


2010/9/30 Sanghyuk Jung <ben...@gmail.com>
Reply all
Reply to author
Forward
0 new messages