|
SSISO Community검색 |
|
SSISO Community메뉴 |
|
SSISO Community카페 |
|
블로그 카테고리 |
|
|
spring로 검색한 결과 |
|
등록일:2015-05-04 15:53:13 작성자: 제목:MVC Hello World |
|
이번엔 정말 간단한 MVC 패턴의 Hello World 를 작성해 보도록 하자. 간단한 MVC 패턴이라고 말은 하지만.. 음..... 그닥 MVC 패턴 같지 않은 MVC 패턴이므로, 기본 개념을 숙지하는셈 치자. ^^;
총 MVC 과정 단계를 단순하게 설명하면 5단계로 나눌수 있다.
1. 클라이언트의 요청을 받을 DispatcherServlet 을 web.xml 파일에 설정한다. 2. 클라이언트의 요청을 처리할 컨트롤러를 작성한다. 3. ViewResolver 를 설정한다. (컨트롤러가 전달한 값을 이용해서 응답화면을 생성할 뷰를 결정한다) 4. JSP 나 Velocity 등을 이용하여 뷰 영역의 코드를 작성한다. 5. 실행!!!! ^-^
1. DispatcherServlet 설정 및 스프링 컨텍스트를 설정한다.
*.do 로 들어오는 클라이언트의 요청을 DispatcherServlet 이 처리하도록 설정
DispatcherServlet 은 WEB-INF/ 디렉터리에 위치한 [서블릿이름]-servlet.xml 파일을 스프링 설정 파일로 사용한다.
#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>Hellospring3.0</display-name> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
dispatcher-servlet.xml 파일을 설정파일로 사용하게 된다.
2. 컨트롤러 구현 및 설정 추가
# dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" 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-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 어노테이션 사용 설정 --> <context:annotation-config /> <!-- 컨트롤러 객체 설정 --> <bean id="helloController" class="controller.HelloController" /> <!-- 3. 컨트롤러 처리결과를 보여줄 View 구현체 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" > <!-- /WEB-INF/view/뷰이름.jsp 로 들어오도록 prefix 및 suffix 설정 --> <property name="prefix"><value>/WEB-INF/view/</value></property> <property name="suffix"><value>.jsp</value></property> </bean>
</beans>
web.xml 에서 3. 컨트롤러 처리 결과를 보여줄 View 구현체를 설정합니다 (3번)
#HelloController.java
package controller;
import java.util.Calendar;
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView;
@Controller //해당클래스가 MVC 컨트롤러를 구현한 클래스 라는 것을 지정 public class HelloController { @RequestMapping("/hello.do") //값으로 지정한 요청경로를 처리할 메서드 설정 // URL : 아이피:포트/컨텍스트경로/hello.do 요청 public ModelAndView hello() { ModelAndView mav = new ModelAndView(); mav.setViewName("hello"); mav.addObject("greeting", getGreeting()); return mav; } private String getGreeting(){ int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY); if (hour >= 6 && hour <=10) { return "좋은아침입니다"; } else if (hour >=12 && hour <=15) { return "점심식사는 하셨나요?"; } else if (hour >=18 && hour <=22) { return "좋은밤 되세요"; } return "안녕하세요"; } }
4. View 코드 구현
#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> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>인사</title> </head> <body> 인사말 : <strong>${greeting}</strong> </body> </html>
저 greeting 은 HelloController.java 에서 ModelAndView 를 통해서 넘겨져 온 값이다.
5. 마지막으로 실행 ㄱㄱㄱㄱ
인사말은 getGreeting() 에서 시간에 따라 나오는 메시지를 다르게 해주었기 때문에, 해당 서버 시간에 따라서 메시지가 바뀌게 된답니다~! ^-^
위의 내용을 그대로 붙이시면 프로그램이 제대로 돌아가지만... 그래도 귀찮다 하시는분들은.. war 파일 첨부해 드리오니, 한번이라도 돌려보시기 바랍니다~! ^-^
용자님께서는 Test Go ! Go! Go! ^-^ |
|
|
|
|
|