Web Container 내부에서 요청을 다음 페이지로 전달하는 방식
게시글 작성 완료 후 forward로 응답 페이지를 호출했을 때, 새로고침 시 동일 게시물이 여러 번 등록될 수 있음.
➡️ 왜냐하면 이전 요청 정보가 그대로 유지되기 때문!
서버가 브라우저에게 다른 URL로 이동하라고 지시하는 방식
게시글 등록 후 redirect를 사용하면, 새로고침해도 중복 등록이 발생하지 않음.
➡️ 왜냐하면 이전 요청 정보가 사라지기 때문!
| URL 변경 | ❌ 변경 없음 | ✅ 변경됨 |
| 브라우저 인식 | ❌ 이동 모름 | ✅ 이동함 |
| Request 공유 | ✅ 동일 객체 | ❌ 새 객체 |
| 사용 위치 | 조회 | 등록/삭제 |
| 새로고침 시 | 요청 유지 | 요청 초기화 |
@Controller
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
@GetMapping("/signup")
public String joinForm() {
return "users/createMember";
}
@PostMapping("/signup")
public String joinForm(@ModelAttribute UserDto.Request userDto) {
userService.saveUser(userDto);
return "redirect:/"; // 리다이렉트 처리
}
}
이 원칙만 기억하면 안정적인 웹 흐름을 구성할 수 있습니다!
| 📌GET vs POST vs PUT vs PATCH vs DELETE: HTTP 메서드 완벽 총정리! (0) | 2025.07.31 |
|---|---|
| ✅ HTTP vs HTTPS 차이와 보안의 원리 (2) | 2025.07.31 |
| 📌Stateful vs Stateless 완전 정복 🔍 서버 설계의 핵심 개념 쉽게 이해하기 (0) | 2022.10.30 |
| 📌"GET vs POST: 웹 개발자가 꼭 알아야 할 차이점 (쉽게 설명)" (0) | 2022.10.30 |
| URI, URL 이게 뭐지? (0) | 2022.10.29 |