Hello Spring 확장하기
이 예제를 따라 하시기 전에 이전 예제인 Hello Spring을 먼저 해보시구요~
전 jdk5.0, eclipse3.1, tomcat5.5에서 테스트 했습니다…
spring.jar 파일은 http://www.springframework.org/download 에서 최신 버전을 받으시면 됩니다.
다운 받으신 후 spring-framework-1.2.X/dist/spring.jar 파일을 WEB-INF/lib 폴더에 복사하세요~ 복사 후 Eclipse에서 jar 파일을 lib에 추가해주세요~(프로젝트에 마우스 우측 버튼 누른 후 속성선택 후 Java Build Path의 LIBRARY에서 AddJAR에서 추가)
-------------------------------------------------------------------
1. springapp아래 JSP 폴더를 만든 후 include.jsp 아래와 같이 작성 합니다. 모든 JSP파일에서 JSTL을 사용하기 위해 include되는 Header 파일 입니다.
이번엔 JSTL을 사용해 볼텐데 jstl을 사용하기 위해 http://www.apache.org/dist/jakarta/taglibs/standard/ 에서 jakarta-taglibs-standard-current.zip 파일을 다은 받은 후 jstl.jar, standard.jar 파일을 /WEB-INF/lib 폴더에 복사 합니다. 물론 Eclipse에서 Library 등록해야 겠죠…
-------------------------------------------------------------------
[jsp/include.jsp]
<%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
--------------------------------------------------------------------
2. index.jsp를 다음과 같이 수정 합니다.
--------------------------------------------------------------------
[index.jsp]
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<%--Redirected because we can't set the welcome page to a virtual URL.--%>
<c:redirect url="/hello.htm"/>
-------------------------------------------------------------
3. View 역할을 하는 hello.jsp를 다음과 같이 개선 합니다.
-----------------------------------------------------------------
우선 hello.jsp를 jsp 폴더아래로 이동시켜 다음과 같이 작성 합니다.
[hello.jsp]
<%@ include file="/WEB-INF/jsp/include.jsp" %>
<html>
<head>
<title>Hello :: Spring Application</title>
</head>
<body>
<h1>Hello - Spring Application</h1>
<p>방가와요! 현재 시각 : <c:out value="${now}"/></p>
</body>
</html>
-------------------------------------------------------------------
4. Controller 역할을 하는 SpringappController.java를 다음처럼 수정 합니다.
--------------------------------------------------------------------
[SpringappController.java]
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 java.io.IOException;
public class SpringappController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String now = (new java.util.Date()).toString();
//now 라는 이름으로 현재시간을 담고 있는 객체를 메모리에 저장 합니다.
//이것을 View 역할을 하는 JSP(hello.jsp)에서 사용 합니다.
return new ModelAndView("/jsp/hello.jsp", "now", now);
}
}
-------------------------------------------------------------------
5. 참고로 WEB-INF아래의 web.xml은 다음과 같습니다.
-------------------------------------------------------------------
[web.xml]
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'><web-app> <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>
-------------------------------------------------------------------
6. 결과 확인 합니다. (http://localhost:8080/springapp/hello.htm)
-------------------------------------------------------------------
댓글 없음:
댓글 쓰기