[Back-End] SSR JSP - 요청 응답 방식
JSP에서 요청 응답 방식
Forward 방식
- 요청을 받은 servlet or jsp가 다른 내부의 servlet or JSP로 요청을 전가하는 방식
![](https://velog.velcdn.com/images/shinyeji28/post/b606740d-1a87-46f8-b03d-5b9baa032a9e/image.png)
Redirect 방식
- redirect 방식은 서버에서 새로 요청할 URL을 클라이언트로 보내어 클라이언트에서 redirect URL로 새로운 요청을 한다.
![](https://velog.velcdn.com/images/shinyeji28/post/b1d8198d-47f2-4ac5-b6e2-858be2de1d49/image.png)
🤔 언제 사용하면 좋을까?
- 보통은 forward 방식으로 내부의 servlet 또는 JSP 파일을 요청하지만, 클라이언트 페이지의 URL 요청을 바꿀 필요가 있는 경우 또는 외부 URL로 요청을 보낼 경우 사용한다.
- 클라이언트에서 URL을 바꿀 필요가 있는 예시
- 예를 들어, 데이터 삭제 후 목록 화면으로 돌아올 때 forward 방식을 사용하면 delete 요청을 한 url을 변경하지 않아 delete url이 클라이언트 페이지에 남아있고, 클라이언트에서 실수로 해당 요청(delete요청)을 또 보내게 되면 의도치 않게 데이터를 삭제 하게 된다. 이런 경우 forward방식이 아닌 redirect 방식을 사용하는 것이 바람직하다.
![](https://velog.velcdn.com/images/shinyeji28/post/bb634777-0c4c-450a-8e59-fad0ed8058d3/image.png)
데이터 삭제 후 조회 페이지로 돌아와야 한다. 페이지는 조회 페이지인데 url은 삭제 url?
안맞잖아~!!
이런 경우 forward말고 redirect 쓰자!