- 이클립스는 이미 설치 되었다고 가정한다.
- 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 >> 톰캣이 설치된 디렉토리 선택
- 스프링 패키지 다운로드 : http://www.springframework.org/download 여기에서 패키지를 다운로드 받을수 있으며 미리 받아 놓은걸 사용하기 위해선.(첨부파일을 다운로드 받는다[spring2.5.5]+ 기타...)
- 프로젝트 생성.
- File > New Project > Dynamic Web Project
- 프로젝트명 : HelloSpring
- Target Runtime : Apache Tomcat v6.0 - 스프링 패키지 등록 : 3에서 다운로드 받은 jar 파일을 프로젝트의 \HelloSpring\WebContent\WEB-INF\lib 에 복사 후 해당 프로젝드 Refresh(해당프로젝트에 오른쪽 마우스클릭 하면 나옴.)
- 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>
- 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> - 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);}
}
- 템플릿 만들기 : /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>