챕터1. 기본 어플리케이션과 환경설정하기.

 

1.1 프로젝트 생성하기

이클립스에서 Project -> New -> Dynamic Web 으로 하나 생성하자.

이름은 springapp로.

 

1.2 index.jsp 파일 만들기.

/WebContent 폴더에 어플리케이션의 시작점이 되는 index.jsp 파일을 만든다.  

마우스 오른쪽 버튼 클릭 -> New ->  JSP - > 파일이름입력 (index) -> Finish 

파일내용은 그냥 간단한 프린트용으로.  

<html>

  <head><title>Example :: Spring Application</title></head>
  <body>
    <h1>Example - Spring Application</h1>
    <p>This is my test.</p>
  </body>
</html>

 /WEB-INF 폴더에 web.xml 파일 생성

(이클립스는 프로젝트 생성시에 자동으로 생성하므로, 수정할 필요 없음)  

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

<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

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

</web-app>

 1.3 톰캣에서 실행해보기.

 원본내용에서는 Ant를 이용해서 Deploy를 하지만, 이클립스에서 톰캣을 연결해놓은 관계로 직접 Run On Server로 실행해본다.  

http://localhost:8080/springapp/index.jsp 

제대로 나오면 패-쓰.  

----------------------------

. 이제 스프링 설정차례.

----------------------------

1.5 스프링 프레임웍 다운하기  

 http://www.springframework.org/download 에서 스프링을 다운받는다.

 

1.6 web.xml 파일 수정하기.

처음에 만들어놨던 web.xml 파일을 스프링을 사용할 수 있도록 DispatcherServlet 를 설정해준다.

여기서는 htm확장자로 넘어오는 request들은 모두 스프링을 타도록 함.

 

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

<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

  <servlet>
    <servlet-name>springapp</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

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

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

</web-app>

 

web.xml을 수정한뒤, /WEB-INF 폴더에 springapp-servlet.xml 파일을 생성한다.

bean과 해당 class를 매핑하는 부분을 설정한다.

 

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

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

  <!-- the application context definition for the springapp DispatcherServlet -->

  <bean name="/hello.htm" class="springapp.web.HelloController"/>

</beans>

 

1.7 관련된 lib파일 복사하기.

spring을 사용하기 위한 라이브러리 파일들을 /WEB-INF/lib 폴더에 복사한다.

 

spring.jar (spring-framework-2.5/dist 폴더)

spring-webmvc.jar (spring-framework-2.5/dist/modules 폴더)

commons-logging.jar (spring-framework-2.5/lib/jakarta-commons 폴더)

 

1.8 Controller 만들기.

컨트롤러로 사용할 클래스를 만든다. 샘플에서는 HelloController이라는 이름의 클래스.

 

/src 폴더에서 마우스 오른쪽 버튼클릭 -> New -> Class -> 패키지명 (springapp.web) -> 클래스명 (HelloController)

-> 인터페이스 부분에서 Add클릭 -> org.springframework.web.servlet.mvc.Controller 선택 -> Finish

 

 package springapp.web;

import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import java.io.IOException;

public class HelloController implements Controller {

    protected final Log logger = LogFactory.getLog(getClass());

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        logger.info("Returning hello view");

        return new ModelAndView("hello.jsp");
    }

}

 

위 소스는, request를 받아서 ModelAndView 타입을 리턴하는 간단한 컨트롤러이다.

ModelAndView가 리턴될때, 톰캣 콘솔에 info가 찍힘.

 

1.9 Controller 테스트유닛 만들기.

 

테스트유닛을 만들기 위해서 /WEB-INF/lib 폴더에 junit 라이브러리 복사한다. (spring-framework-2.5/lib/junit 폴더)

테스트를 하기 위한 HelloControllerTests.java 파일 생성

 

 package springapp.web;

import org.springframework.web.servlet.ModelAndView;

import springapp.web.HelloController;

import junit.framework.TestCase;

public class HelloControllerTests extends TestCase {

    public void testHandleRequestView() throws Exception{
        HelloController controller = new HelloController();
        ModelAndView modelAndView = controller.handleRequest(null, null);
        assertEquals("hello.jsp", modelAndView.getViewName());
    }
}

 

1.10 View 생성하기

hello.jsp 파일 생성

 

 <html>
  <head><title>Hello :: Spring Application</title></head>
  <body>
    <h1>Hello - Spring Application</h1>
    <p>Greetings.</p>
  </body>
</html>

 

1.11 컴파일 및 어플리케이션 실행하기

원문에서는 Ant에서 컴파일. Deploy 하는 방법에 대해 설명하고 있다.

 

1.12 브라우저로 확인하기

http://localhost:8080/springapp/hello.htm



원본 : http://static.springframework.org/docs/Spring-MVC-step-by-step/part1.html

 

'Spring' 카테고리의 다른 글

[Spring] Quartz 스케줄링  (0) 2011.10.26
[Spring] AOP (Aspect Oriented Programming)  (0) 2011.10.25
[Spring] Wiki_Technical Report  (0) 2011.09.07
[Spring] Spring 정리 파일  (0) 2011.03.08
[Spring] Spring?  (0) 2010.12.08

+ Recent posts