2021. 1. 20. 10:55ㆍStudy/spring
XML로 설정할 떄의 url과 컨트롤러의 매핑방식
/index
public class IndexController implements Controller{
public ModelAndView handleRequest(HttpServletRequest..){
}
}
/hello
public class helloController implements Controller{
public ModelAndView handleRequest(HttpServletRequest..){
}
}
<bean id="/index" class="webprj.controller.IndexController"/>
<bean id="/hello" class="webprj.controller.helloController"/>
bean이라는 태그로 urlr과 컨트롤러 클래스를 매핑
url과 매핑되는 처리 단위는 클래스
사용자의 요청이 들어오면 Controller 인터페이스를 이용해서 실제 컨트롤러를 실행
Controller ctrl =new[];
ctrl.handelRequest(request);
분리와 연결의 단위는 캡슐
사용자의 요청이 들어오면 (/index,/hello) 스프링이 제공하는 Front Controller가 요청을 몰아서 받게되고
사용자의 요청을 수행할수있는 적절한 컨트롤러를 찾아서 호출해준다.
프론트컨트롤러는 서블릿으로 만들어지고 컨트롤러는 포조클래스로 만들어진다.
ANNOTAION으로 매핑을 설정
/index
public class IndexController implements Controller{
@RequestMapping("index")
public ModelAndView handleRequest(HttpServletRequest..){
}
}
/hello
public class helloController implements Controller{
@RequestMapping("index")
public ModelAndView handleRequest(HttpServletRequest..){
}
}
ANNOTAION으로 매핑을 설정하게 되면 설정단위를 메소드 단위로 변경이 가능하다
어노테이션 URL매핑은( @RequestMaping )클래스에 붙는게 아니라 함수에 붙는다.!!!
MVC가 스캔을 해서 @가 붙어 있는 함수를 찾아 호출하게 해준다!!
이제 인터페이스의 제약이 없기 떄문에 하나의 클래스로 묶어서 만들어준다
컨트롤러 객체생성과 URL 매핑을 위한 설정
<context:component-scan base-package="..."/>
<mvc:annotation_driven/>
실제 객체로 인식될수 있도록 @Controller를 선언하여
컨트롤러가 클래스가 존재하는 패키지명을 통해 어노테이션을 찾아갈수있게끔 해준다
'Study > spring' 카테고리의 다른 글
[Spring] JSON 출력하기 (0) | 2021.01.25 |
---|---|
[Spring] 문서 출력방법 4가지 (0) | 2021.01.20 |
[Spring] HomeController 만들기 (0) | 2021.01.19 |
[Spring] Annotation으로 URL 매핑하기 (0) | 2021.01.19 |
[Spring] Annotation으로 서비스 객체 생성하기 (0) | 2021.01.19 |