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값을 넣고
어노테이션 뒤에는 자료형과 변수명을 입력해서
메소드내에서 사용할 수 있습니다.
값을 입력하고 제출버튼을 누르면
주소값이 POST요청 주소값으로 바뀌면서
콘솔창에 해당값을 출력하게됩니다.
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 |