본문 바로가기

프레임워크/Spring 3.0

@RequestMapping 핸들러 매핑

1. 컨트롤러 클래스나 메소드가 특정 HTTP Request URL을 처리하도록 매핑하기 위해서 사용한다. 그래서 클래스 선언부에 @RequestMapping을 적용할 수도 있고(이하 Type-Level), 클래스의 메소드에 @RequestMapping을 적용할 수도 있다(이하 Method-Level)

2. @RequestMapping애노테이션에 사용할 수 있는 엘리먼트

2.1. String[] value() : URL 패턴
@RequestMapping 핸들러 매핑

2.1.1. ANT 스타일의 와일드카드 사용가능

Ex) @RequestMapping("/hello")@RequestMapping("/main*")@RequestMapping("/view.*")@RequestMapping("/admin/**/user")

2.1.2. URL템플릿 사용가능

2.1.2.1. {}을 사용하는 URI템플릿을 컨트롤러 메소드에서 파라미터로 전달받을 수 있다.

2.1.2.2. {}에 들어가는 이름은 패스 변수(path variable)라고 불리며, 하나 이상 등록할 수 있다.

2.1.3. URL패턴은 배열이므로 하나 이상의 URL패턴을 지정할 수 있다.

Ex) @RequestMapping({"/hello","/hi"})

2.1.4. 디폴트 접미어 패턴(default suffix pattern) 적용

2.1.4.1. @RequestMapping("/hello")와 같이 확장자가 붙지 않고 /로 끝나지도 않는 URL패턴은 @RequestMapping("/hello", "/hello/, "/hello.*") 패턴을 적용했을 때와 동일한 결과를 나타낸다.