Spring MVC - 요청방식(Get,Post)
2020. 9. 5. 21:34ㆍJava/Spring
반응형
Spring에도 jsp와 마찬가지로 요청방식 중 get,post를 가장 많이 사용한다.
spring에서는 조금 더 엄격하게 전송의 관리가 이루어진다.
바로 controller에서 미리 어떤 전송으로 받을지 정해두는 것이다.
아래와 같은 index.jsp를 만든다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="test1">test1</a>
<form action="test1" method="post">
<button type="submit">test1</button>
</form>
<hr>
<a href="test2">test2</a>
<form action="test2" method="post">
<button type="submit">test2</button>
</form>
</body>
</html>
그리고 controller 메소드를 다음과 같이 작성한다.
@Controller
public class MappingController {
@RequestMapping(value="/test1",method = RequestMethod.GET)
public String test1() {
return "test1";
}
@RequestMapping(value="/test2",method = RequestMethod.POST)
public String test2() {
return "test2";
}
}
위 메소드에서 /test1 주소 요청은 RequestMethod.GET을 통해서 get으로만 받게 되어있다.
그리고, /test2 주소 요청은 ResquestMethod.POST를 통해서 post으로만 받게 되어있다.
두 개의 주소 요청은 해당 방식으로만 와야하고 아닐시 오류가 난다.
위와 같은 index.jsp에서 test1을 post로 요청하면 다음과 같은 오류가 난다.
이 두가지 방식을 모두 허용하는 방법도 존재한다.
방법 1. 같은 주소의 요청을 받는 메서드 두개를 작성한다.
@RequestMapping(value="/test3",method = RequestMethod.POST)
public String test3() {
return "test3";
}
@RequestMapping(value="/test3",method = RequestMethod.GET)
public String test4() {
return "test3";
}
방법 2. RequestMapping을 통해서 묶어서 요청한다.
@RequestMapping(value="/test4",method = {RequestMethod.GET,RequestMethod.POST})
public String test5() {
return "test4";
}
위 두가지 방법을 사용하면 두개의 요청을 모두 받을 수 있다. 두개의 요청에 따라서 다른 처리를 한다면 1 번 방법 같은 처리를 할 때는 2번 방법을 사용하면 된다.
get,post 요청을 받는 방법에는 다음과 같이 @PostMapping,@GetMapping 어노테이션을 이용한 방법도 있다.
@PostMapping("/test5")
public String test6() {
return "test5";
}
@GetMapping("/test5")
public String test7() {
return "test5";
}
반응형
'Java > Spring' 카테고리의 다른 글
Spring MVC - 객체를 통한 파라미터 주입 (0) | 2020.09.06 |
---|---|
Spring MVC - 파라미터 추출 (0) | 2020.09.06 |
Spring MVC - URL Mapping (0) | 2020.09.05 |
Spring MVC - 기본세팅(3) - JAVA (0) | 2020.09.04 |
Spring(MVC) - 기본세팅(2) - XML (0) | 2020.09.03 |