※ AbstractController
- Controller 인터페이스를 구현한 추상 클래스
- 단순히 클라이언트의 요청을 처리한 뒤 ModelAndView를 리턴
- AbstractController 클래스를 상속받은 컨트롤러는 handelRequestInternal()메서드를 구현하면 됨
■ AbstractController의 주요 프로퍼티
- Controller 인터페이스를 구현한 추상 클래스
- 단순히 클라이언트의 요청을 처리한 뒤 ModelAndView를 리턴
- AbstractController 클래스를 상속받은 컨트롤러는 handelRequestInternal()메서드를 구현하면 됨
<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- HandlerMapping --> <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/listAbsCont.sp">listAbstractController</prop> </props> </property> </bean> <!-- ViewResolver --> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.JstlView</value> </property> <property name="prefix"> <value>jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <bean id="listAbstractController" class="controller.ListAbstractController"> <property name="supportedMethods" value="GET"></property> </bean> </beans> |
package controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; public class ListAbstractController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub //parameter 구함 String param1 = request.getParameter("param1"); //필요한 로직 구현 //ModelAndView ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("view_name"); modelAndView.addObject("aaa", "bbb"); return modelAndView; } } |
■ AbstractController의 주요 프로퍼티
프로퍼티 이름 | 기본 값 | 설명 |
supportedMethod | GET, POST | 컨트롤러가 지원하는 HTTP 메서드 목록을 콤마로 구분하여 입력 |
requirSession | false | 요청을 처리하는데 반드시 HttpSession이 필요한 지의 여부를 설정. HttpSession이 존재하지 않으면 ServletException을 발생시킴. |
cacheSeconds | -1 | 응답에 포함될 캐시 헤더의 값을 초 단위로 입력. 값이 0이면 캐시를 수행하지 않는 헤더를 갖는다. -1인 경우 캐시 관련 헤더를 포함하지 않는다. 양수 값인 경우 지정된 시간(초)만큼 내용을 캐시하는 헤더를 포함한다. |
[참고자료] 스프링 2.5 프로그래밍 (최범균)
'프로그램 > Spring 2.5' 카테고리의 다른 글
SimpleFormController (0) | 2012.03.10 |
---|---|
AbstractCommandController (0) | 2012.03.08 |
ParameterizableViewController와 UrlFilenameViewController (0) | 2012.03.07 |
Spring Controller의 종류 (0) | 2012.03.07 |
[22일차] spring MVC 예제 - 게시판 구현 (MultiActionController) (8) | 2012.03.05 |