본문 바로가기

Programmer

[Eclipse3.4.1 + Tomcat6.0 + SpringFramework] HelloWorld

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
  1. 이클립스는 이미 설치 되었다고 가정한다.
  2. Eclipse + Tomcat 연동.
      - Tomcat 설치 : http://tomcat.apache.org/download-60.cgi 에서 tomcat 을다운 받고 설치.
      - Eclipse + Tomcat 서버 설정 
         Windows >> Preperences >> Server  >>  Runtime Environment >> Add
          >> Apache tomcat v6.0 >> Next >> Browser >> 톰캣이 설치된 디렉토리 선택
  3. 스프링 패키지 다운로드 : http://www.springframework.org/download 여기에서 패키지를 다운로드 받을수 있으며 미리 받아 놓은걸 사용하기 위해선.(첨부파일을 다운로드 받는다[spring2.5.5]+ 기타...)
  4. 프로젝트 생성.
    - File > New Project > Dynamic Web Project
    - 프로젝트명 : HelloSpring
    - Target Runtime : Apache Tomcat v6.0
  5. 스프링 패키지 등록 : 3에서 다운로드 받은 jar 파일을 프로젝트의 \HelloSpring\WebContent\WEB-INF\lib 에 복사 후 해당 프로젝드 Refresh(해당프로젝트에 오른쪽 마우스클릭 하면 나옴.)
  6. web.xml 수정
     <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>HelloSpring</display-name>
     <servlet>
      <servlet-name>springapp</servlet-name>
      <servlet-class>
       org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
     </servlet>
     <servlet-mapping>
      <servlet-name>springapp</servlet-name>
      <url-pattern>*.htm</url-pattern>
     </servlet-mapping>
     
      <welcome-file-list>

        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

  7. DispatcherServlet 설정
    *.htm으로 들어오는 요청에 대해서는 springapp 서블릿을 사용합니다.
    서블릿은 DispatcherServlet입니다.
    DispatcherServlet을 처리하는 설정 파일이 이름은  서블릿이름-servlet.xml입니다.
    예제 에서는 springapp-servlet.xml 입니다.
    7.1 springapp-servlet.xml 설정

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

    <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:p="
    http://www.springframework.org/schema/p"
     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.0.xsd">

     <bean id="springappController" class="was.SpringappController" />

     
     <bean id="urlMapping"
      class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      <property name="mappings">
       <props>
        <prop key="/hello.htm">springappController</prop>
       </props>
      </property>
     </bean>
     
     <bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="viewClass">
       <value>org.springframework.web.servlet.view.JstlView</value>
      </property>
      <property name="prefix">
       <value>/WEB-INF/jsp/</value>
      </property>
      <property name="suffix">
       <value>.jsp</value>
      </property>
     </bean>
    </beans>

  8. Controller 생성.
    - New >> Class
    ==> Name : SpringappController
    ==> Pakage : was
    ==> Interfaces : Add >> Controller

     package was;

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

    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    import java.util.Date;

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

    public class SpringappController implements Controller {
     
     protected final Log logger = LogFactory.getLog(getClass());
     
     @Override
     public ModelAndView handleRequest(HttpServletRequest arg0,
       HttpServletResponse arg1) throws Exception {
        // TODO Auto-generated method stub
        String now = (new Date()).toString();
        logger.info("returning hello view with " + now);
      
        return new ModelAndView("hello", "now", now);

     }

    }

  9. 템플릿 만들기 : /jsp/hello.jsp

     <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="
    http://java.sun.com/jsp/jstl/core" %>
       
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
    http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>

    <h1>Hello World! - Spring Application</h1>
    <p>Greetings, it is now<c:out value="${now}" /></p>
    </body>
    </html>