-
[Spring] 01-5. 컨트롤러 구현 및 설정 추가프로그래밍/Spring 2015. 9. 11. 00:23반응형
컨트롤러 구현시 먼저 @Controller Annotation을 클래스에 적용해야하며 @RequestMapping Annotation을 이용해서 클라이언트의 요청을 처리할 메서드를 지정한다.
1234567891011121314151617181920212223242526272829303132package spring.chap06.controller;import java.util.Calendar;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class HelloController {@RequestMapping("/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 "안녕하세요";}}@Controller Annotation은 해당 클래스가 스트링 MVC 컨트롤러를 구현한 클래스라는 것을 지정한다.
그리고 @RequestMapping Annotation은 값으로 지정한 요청 경로를 처리할 메서드를 설정한다.
SPRING MVC는 ModelAndView 뿐만 아니라 String이나 ModelMap, 또는 Map과 같은 타입을 이용해서 뷰 이름과 모델 정보를 설정할 수 있도록 하고 있다.
DispatcherServlet은 SPRING Container에서 컨트롤러 객체를 검색하기 때문에 SPRING 설정 파일에 컨트롤러를 빈으로 등록해주어야 한다. 다음 코드는 설정 파일의 작성 예를 보여주고 있다.
1234567891011121314151617<?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/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="helloController" class="spring.chap06.controller.HelloController" /><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/view/" /><property name="suffix" value=".jsp" /></bean></beans>cs
뷰 코드 JSP 구현
1234567891011<%@ page language="java" contentType="text/html; charset=EUC-KR"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"><title>인사</title></head><body>인사말:<strong>${greeting}</strong></body></html>cs 반응형'프로그래밍 > Spring' 카테고리의 다른 글
[Spring] 02-1. 뷰 영역 구현 (0) 2015.09.11 [Spring] 01-6. 컨트롤러 구현 및 전체적인 실행과정 (0) 2015.09.11 [Spring] 스프링을 시작하며 필요한 라이브러리 파일들 (0) 2015.09.10 [Spring] 01-4. DispatcherServlet 설정 및 SPRING 컨텍스트 설정 (0) 2015.09.10 [Spring] 01-3 Spring에서의 인코딩 처리를 위한 필터 설정 (0) 2015.09.09