2017년 1월 9일 월요일

[자바교육/스프링교육/스프링프레임워크/스프링부트학원추천_탑크리에듀]Hello Spring 확장하기!!

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

댓글 없음:

댓글 쓰기