Spring

Spring MVC 를 이용해 Hello World 를 찍어보자

스마트큐브 2009. 9. 22. 00:44

지금 이 포스팅을 하는 시점인 오늘도 
맨날 Spring , 스프링 하는데 도데체 스프링이 머하는건지 어떤 장점이 난 제대로 알지 못한다.  그냥 단순히 써보기를 원할 뿐이다. 

시중에 나온 스프링 책을 읽다가 하도 답답해서 -_-; .........
그냥 좀 그림 많아서 따라하기 식의 책을 원했는데
나의 짧은 지식을 위한 그런책은 눈을 씻고 찾아 볼수가 없어서 
이렇게 블로그에 남겨 나처럼 무지몽매한 사람들에게 약간이나 도움이 될까 싶어 
끄적거려본다.



 * 환경 
CPU :  Core2 Duo T7300
RAM : 3GB 
OS : Window XP SP3 
WAS  : Tomcat 6.0.20
IDE : Eclipse 3.5

 * 프로젝트 작성하기전 셋팅되어야 할 사항




자 이제 본격적으로 Hello World 를 찍어보자

일단 큰 흐름을 적자면

1. Dynamic Web Project  생성
2. lib 에 필요한 라이브러리 추가
3. web.xml 수정
    - dispatcher-servlet.xml 추가
4. 컨트롤러 추가
5. jsp 파일 추가 

테스트 


이렇게 진행할 예정이다.

1. Dynamic Web Project 생성
 ; File 메뉴 -> New -> Dynamic Web Project 클릭후 팝업창이 뜨염
다음과 같이 프로젝트명에 Hello 를 적고 Finish!



2. 스프링 MVC 를 위한 Library 파일을 추가한다.
성격이 모가 나서 그런지는 몰라도 개인적으로 내가 추가하는 라이브러리가 최소한 
대충 어떤 역할을 하는지 알고 추가해야한다고 생각한다.
지금 추가할 3개의 파일은 스프링 MVC 를 위한 최소 셋이라 생각된다.
(왜냐면 무식하게 나마 하나씩 라이브러리를 빼면서 테스트를 해봤는데 요롷게 3개는 있어야 에러가 안나더라는..... ( -_-)a...

라이브러리 복사 위치 : Hello\WebContent\WEB-INF\lib



3. web.xml 설정
프로젝트 생성시점에 web.xml 파일을 열어보면 
 <welcome-file-list> ....</welcome-file-list> 내용하나만 덩그러니 있을 것이다.

스프링 MVC 를 위해서는 Dispatcher 가 있어야 하기 때문에 
아래와 같이 붉은색 코드를 추가해준다.

 <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 </servlet>

 <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>*.htm</url-pattern>
 </servlet-mapping>

 <welcome-file-list>
  <welcome-file>index.htm</welcome-file>
 </welcome-file-list>

그리고 Dispatcher 설정을 위한 WEB-INF 디렉터리에 dispatcher-servlet.xml 을 추가해준다.


<?xml version="1.0" encoding="UTF-8"?>

 <bean id="handlerMapping"
  class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
 </bean>
 <bean name="/hello.htm" class="com.cube.hello.HelloController"></bean>
 <bean id="viewResolver"
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/view/" />
  <property name="suffix" value=".jsp" />
 </bean>
</beans>   


3. 컨트롤러 추가
hello.htm 요청을 받았을 때 동작하게될 컨트롤러를 추가해줘야한다.


public class HelloController extends AbstractController {
 @Override
 protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
   HttpServletResponse arg1) throws Exception {
  
  ModelAndView mav = new ModelAndView();
  
  mav.setViewName("hello");
  
  mav.addObject("greeting", "HI");
  
  return mav;
 }
}



4. JSP 파일 추가
눈치가 빠른 사람은 위의 dispatcher-servlet.xml 내용에서 눈치챘을듯한데 
hello.jsp  를  WEB-INF/view/ 에 넣어 놓으면 hello.htm 의 View 로 작동하게 된다. 



*  테스트
테스트를 위해 index.htm 을 작성하고 내용중
hello.htm 링크로 설정하고
이클립스에서 ctrl + F11  을 눌러 실행해보자



결과 화면


이리 간단한것도 이리 시간이 오래걸리는데 책쓰는 사람들은 참.. 대단하다...

슬슬 눈꺼풀이 감겨온다.

자야지..