본문 바로가기

카테고리 없음

Spring IDE setup

Eclipse 3.6를 실행하고 다음과 같은 절차에 따라 Spring IDE를 설치한다.



사용자 삽입 이미지

아래에 입력한 업데이트 사이트는 최근에 변경되었으므로 다음과 같은 사이트 주소를 사용해야 한다.
원래의 업데이트 사이트 주소: http://springide.org/updatesite
변경된 업데이트 사이트 주소: http://dist.springframework.org/release/IDE
사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지



Spring 2.5를 다운로드한다.
http://www.springsource.org/download

Eclipse에서 Dynamic Web Project를 하나 생성한 후에
프로젝트 이름 위에서 마우스 우측 > Spring Tools... > Add Spring Project Nature 를 선택한다.



다운로드한 Spring 2.5압축파일을 압축 해제하고 다음과 같은 3개의 라이브러리를 Eclipse 프로젝트의 WEB-INF/lib안에 import하거나 Build Path...메뉴를 이용하여 User Library를 생성하고 그 안에 다음 JAR파일을 등록해주면 된다.
dist/spring.jar
dist/modules/spring-webmvc.jar
lib/jakarta-commons/commons-logging.jar

 

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" >

  <filter>
     <filter-name>encodingFilter</filter-name>
     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
     <init-param>
        <param-name>encoding</param-name>
        <param-value>EUC-KR</param-value>
     </init-param>
  </filter>
  <filter-mapping>
     <filter-name>encodingFilter</filter-name>
     <url-pattern>/*</url-pattern>
  </filter-mapping> 

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

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

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

</web-app>

위와 같이 인코딩 필터를 설정해 두면 요청을 처리할 때  request.setCharacterEncoding("EUC-KR") 부분을 대신할 수 있다.

WEB-INF/dispatcher-servlet.xml파일을 생성하고 다음과 같이 입력한다. Spring IDE를 설치했다면 New > File > Other > Spring > Spring Bean Configuration File 을 선택하여 파일이름을 입력하면 자동으로 쉽게 이 설정파일을 작성할 수 있다.
이 파일 이름은 web.xml에 등록된 서블릿의 이름으로 시작되고 -servlet.xml이 뒤에 붙어야 한다.

<?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">

<bean name="/hello.htm"
 class="controller.HelloController"/>
 
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix" value="/"></property>
 <property name="suffix" value=".jsp"></property>       
</bean>

</beans>

위의 <bean name="/hello.htm" .... 부분의 의미

이용자가 웹브라우저로 요청할 때 요청 URL 이 루트 컨텍스트/hello.htm 과 같이 구성된 경우에 HelloController가 호출된다는 것을 의미한다. 만약 루트 컨텍스트의 이름이 "hello" 라고 한다면, HelloController가 호출될 수 있도록 요청하려면 요청 URL은 다음과 같아야 한다.
http://localhost/hello/hello.htm
<bean name="/test/hello.htm" .... 이렇게 설정하면, 요청할 때 그 URL은 http://localhost/hello/test/hello.htm 으로 하면된다.
즉, 빈 이름이 붙는 "/" 는 루트 컨텍스트를 의미하며 빈의 이름은 반드시 "/" 를 포함해야 한다. 

위의 빈 설정파일은 다음과 같이 작성해도 된다.

<?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">

<bean id="helloController"
 class="controller.HelloController"/>
 
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix" value="/"></property>
 <property name="suffix" value=".jsp"></property>       
</bean>

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <!-- static view mapping -->
            <prop key="/hello.htm">helloController</prop>
        </props>
    </property>
</bean>

</beans>




HelloController.java를 다음과 같이 작성한다.

package controller;

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

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

public class HelloController extends AbstractController {

 @Override
 public ModelAndView handleRequestInternal(HttpServletRequest arg0,
   HttpServletResponse arg1) throws Exception {
  ModelAndView mav = new ModelAndView();
  mav.setViewName("hello");
  mav.addObject("greeting", "감사해요, Spring2.5");
  return mav;
 }

}





hello.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>hello.jsp</title>
</head>
<body>
<%=request.getAttribute("greeting") %><br></br>
${greeting}
</body>
</html>



서버를 실행하고
http://localhost/Spring25/hello.htm으로 접속하면 HelloController를 거쳐 hello.jsp가 이어 실행된다.

실행결과 화면

사용자 삽입 이미지