728x90
1) GET / POST 따로 받는 방법
* req-ex01.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>
<h2>RequestController를 이용한 요청 처리 연습</h2>
<p>컨트롤러 테스트 중입니다~</p>
<form action="/web/request/basic01">
<input type="submit" value="GET요청!!">
</form>
<form action="/web/request/basic01" method="post">
<input type="submit" value="POST요청!!">
</form>
</body>
</html>
* RequestController.java
@Controller
@RequestMapping("/request")
public class RequestController {
public RequestController() {
System.out.println("RequestCon 작동!");
}
//@RequestMapping(value="/request/basic01", method=RequestMethod.GET)
@GetMapping("/request/basic01")
public String basicGet() {
System.out.println("/request/basic01 요청이 들어옴!: GET방식.");
return "request/req-ex01";
}
//@RequestMapping(value="/request/basic01", method=RequestMethod.POST)
@PostMapping("/request/basic01")
public String basicPost() {
System.out.println("/request/basic01 요청이 들어옴!: POST방식.");
return "request/req-ex01";
}
}
GET방식 POST 방식을 따로 요청을 받을 때는, @RequestMapping 을 사용하거나 @GetMapping, @PostMapping 방식을 사용한다. @GetMapping, @PostMapping 방식은 Spring version 4 버전 이상에서만 사용할 수 있다.
이렇게 나눈다면, 예를들어 get방식일때는 글쓰기 페이지만 보여주고, Post 방식에서는 입력값을 DB에 넣는 역할을 하게 나누어 구현할 수 있다. 예시에 대해서는 다음에 살펴보겠다.
2) 매핑 할때마다 "/request" 부분이 중복된 부분 처리
-> 콘트롤러 자체를 매핑 시킨다.
@Controller
@RequestMapping("/request")
public class RequestController {
public RequestController() {
System.out.println("RequestCon 작동!");
}
@GetMapping("/basic01")//spring 4부터 나옴.
public String basicGet() {
System.out.println("/request/basic01 요청이 들어옴! : GET 방식");
return "request/req-ex01";
}
@PostMapping("/basic01")
public String basicPost() {
System.out.println("/request/basic01 요청이 들어옴! : POST 방식");
return "request/req-ex01";
}
}
이렇게 @RequestMapping("/request") 를 앞에 써주어 RequestController자체를 매핑 시켜 안에 있는 메서드들이 모두 /request 다음에 mapping 시킬 수 있게 만들면 중복을 피해 작성할 수 있다.
3) 메서드를 String으로 리턴하지 않고 void로 리턴하기.
- 컨트롤러의 요청 메서드를 void리턴 타입으로 지정.
- 응답하려는 페이지가 요청 url 경로와 같은 위치에 존재한다면, 뷰 리졸버가 요청이 들어온 url 경로의 실제 jsp 파일로 자동 연결합니다.
@GetMapping("/req-ex02")
public void reqEx02() {
System.out.println("/request/req-ex02 요청!: GET");
}
728x90
'Backend > Spring & SpringBoot' 카테고리의 다른 글
[Spring Boot] Hibernate 의 동작 원리 및 특징과 사용 예시 (1) | 2022.03.05 |
---|---|
[Spring Framework] 03_03. 요청 파라미터 처리 방법 (0) | 2020.08.18 |
[Spring Framework] 03_01. Spring Framework 설계 모델 (0) | 2020.08.18 |
[Spring Framework] 03. Spring 개발환경 구축 (0) | 2020.08.13 |
[Spring Framework] 02_02 의존객체 자동 주입 (0) | 2020.08.12 |