본문 바로가기

Tech/Spring

[Spring] ViewResolver 뷰리졸버는 ViewResolver 인터페이스를 구현해서 만들어짐 따로 뷰리졸버를 Bean으로 등록하지 않는다면 DispatcherServlet의 기본 뷰리졸버인 InternalResourceViewResolver를 사용 1. UrlBasedViewResolver 논리적인 view 이름 : 실제 view 객체 이름이 같을 때 사용하는 뷰리졸버 위의 설정과 Controller 메서드에서 index 뷰 이름을 String 타입으로 리턴하면 prefix, suffix가 적용되어 /WEB-INF/index/index.jsp의 경로의 view를 사용하게 됨 2. InternalResourceViewResolver InternalResourceViewResolver는 뷰리졸버를 지정하지 않았을때 자동등록 되는 기본 ..
[Spring] Controller Retrun Type 종류 Controller 는 비즈니스 로직 처리후 ViewResolver를 통해 View로 데이터를 전달 컨트롤러가 뷰 오브젝트를 직접 리턴 할 수도있지만 논리적인 이름을 리턴하여 ViewResolver가 이를 이용해 뷰 오브젝트 생성 컨트롤러는 최종적으로 모델과 뷰를 DispatcherServlet에게 돌려줘야 함 1. 리턴타입 ModelAndView 이용 주석과 같은 방법도 유효 @RequestMapping("/index") public ModelAndView index(HttpServletRequest request) throws Exception { String name = request.getParameter("name"); //return new ModelAndView("index.jsp").add..
[Spring] Controller 1. Controller 인터페이스 구현 스프링 초기에는 Controller 인터페이스를 구현하여 사용 public IndexController implements Controller { @Override public ModelAndView handleReqeust(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { return new ModelAndView; } } 2. @Controller 어노테이션 이용 스프링 2.5 이상부터는 인터페이스를 구현하지 않고 @Controller 어노테이션을 이용하여 쉽게 사용가능 @Controller public class IndexController { ... } 하지만 dispatcher s..
[Spring] HandlerMapping 1. BenaNameUrlHanlderMapping url과 일치하는 이름을 갖는 빈의이름을 컨트롤러를 매핑 url이 /index.do로 요청이 들어온다면 IndexContrller로 요청위임 2. ControllerClassNameHandlerMapping url과 일치하는 클래스 이르을 갖는 빈을 Controller로 사용 ControllerClassNameHandlerMapping과 함께 controller를 같이 빈등록하면 /index 의 url 요청은 IndexController 로 /home 의 url 요청은 HomeController 로 매핑이 됨 3. SimpleUrlHandlerMapping url 패턴에 매핑되는 지정된 controller를 매핑 indexController Simple..