본문 바로가기

Spring/이론

[Spring] POST요청

index.jsp

 

index.jsp에 다음과 같은 코드가 있다고 가정합시다.

form button태그를 사용하는데 값을 입력하고 버튼을 누르면

calculate.do라는 주소에 post요청을 보내게 됩니다.

 

Spring에서는 위와같은 POST 요청이 들어올 때 어떻게 처리하는지 알아봅시다.

@RequestMapping(value = "calculate.do", method = RequestMethod.POST)
    public String calcXY(@RequestParam(value="n") String n,
            @RequestParam(value="x") int x,
            @RequestParam(value="y") int y) {
        System.out.println(n);
        System.out.println(x);
        System.out.println(y);
        return "jsp/index";
       
    }

 

 

코드를 살펴보면

 

@RequestMapping(value = "calculate.do", method = RequestMethod.POST)

 

RequestMapping이라는 어노테이션을 사용하는데 

이떄 value값에는 요청받을 주소,

method는 RequestMethod.(요청방식)이 들어옵니다.

 

public String calcXY(@RequestParam(value="n") String n,
@RequestParam(value="x") int x,
@RequestParam(value="y") int y) {

 

요청받을 때 실행할 메소드입니다.

이때 파라미터로

RequestParam이라는 어노테이션을 사용해서

input으로 입력받은 파라미터 값을 가져올 수 있습니다.

value값에다 해당 input에 지정한 name값을 넣고

어노테이션 뒤에는 자료형과 변수명을 입력해서

메소드내에서 사용할 수 있습니다.

 

index.jsp

 

값을 입력하고 제출버튼을 누르면

주소값이 POST요청 주소값으로 바뀌면서

 

Console

 

콘솔창에 해당값을 출력하게됩니다.

 

get요청도 method만 변경하면 처리할 수 있습니다.

 

@RequestMapping(value = "/calculate.do", method = RequestMethod.GET)
public String calcXY(HttpServletRequest req) {
int x = Integer.parseInt(req.getParameter("x"));
int y = Integer.parseInt(req.getParameter("y"));
System.out.println(x);
System.out.println(y);
return "jsp/index";
}

 

이때는 기존에 사용했던

HttpServletRequest를 사용해서

getParameter메소드로 파라미터를 받아올 수 있습니다.

 

'Spring > 이론' 카테고리의 다른 글

[Spring] MyBatis  (0) 2025.02.13
[Spring] Singleton  (1) 2025.02.12
[Spring] Autowired  (0) 2025.02.10
[Spring] Bean  (0) 2025.02.10
[Spring] Annotation  (0) 2025.02.10