반응형

Spring MVC 프로젝트 생성 후에 SampleController 클래스를 만들었다.


클래스 선언부에 @Controller@RequestMapping을 선언해주었는데..

1
2
3
4
5
6
7
8
9
10
11
package org.zerock.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
@RequestMapping("/sample/*")
public class SampleController {
 
}
 
cs


@Controller는 SampleController가 Controller임을 알려주는 어노테이션이다.


@RequestMapping은 현재 클래스의 모든 메서드의 기본적인 URL 경로가 된다.

예를들어, SampleController 클래스를 다음과 같이 '/sample/*'이라는 경로를 지정했다면 다음과 같은 URL은 모두 SampleController에서 처리된다.

@RequestMapping 어노테이션은 클래스의 선언과 메서드 선언에 사용할 수 있다.


@RequestMapping 몇 가지 속성을 추가할 수 있다.

바로 method속성인데, GET방식 POST방식을 구분해서 사용할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package org.zerock.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
import lombok.extern.log4j.Log4j;
 
@Controller // SampleController가 Controller인 것을 알려주는 어노테이션
@RequestMapping("/sampel/*")
@Log4j
public class SampleController {
    @RequestMapping(value="", method=RequestMethod.GET) //반드시 GET방식 일 때만 사용가능한 메서드
    public void basic() {
        log.info("basic......................");
    }
}
 
cs

@RequestMapping 어노테이션에서 method를 보면 GET이라고 적혀있는것을 확인할 수 있다.

이는 넘어오는 데이터가 반드시 GET방식일 때만 사용가능하다. 마찬가지로 GET대신에 POST사용 가능

만약 POST방식으로 데이터를 넘겨줬는데 method값이 GET일 경우 405에러 페이지가 나타난다.


반응형

+ Recent posts