반응형
https://yeo-computerclass.tistory.com/m/374
forward ( Dispatcher 방식)
이 방식으로 포워딩을 하게 되면 주소 표시줄의 주소(URL)가 변경되지 않는다.
즉, 하나의 요청이라는 의미이다. 따라서, 같은 request, response 영역을 공유하게 된다.
예를 들어 글을 작성하여 게시판에 등록을 할 때 등록하는 과정에서 새로고침을 계속 누른다면, '등록'한다는 요청 정보가 그대로 살아있기 때문에 요청이 여러 번 전달되어 동일한 게시물이 여러 번 등록될 수 있다. 그렇기 때문에 forward는 시스템에 변화가 생기지 않는 단순 조회(검색, 조회)일 경우 사용하는 것이 좋다.
Redirect 방식
포워딩될 때 브라우저의 주소 표시줄 URL이 변경되므로 요청이 바뀌게 된다. 따라서 포워딩된 페이지에서는 서블릿에서 request, response 영역에 공유한 속성 값에 접근할 수 없게 된다.
이 경우 최초 요청을 받은 URL1에서 클라이언트에게 redirect할 URL2를 반환하고, 클라이언트에서는 새로운 요청을 생성하여 URL2에 다시 요청을 보내는 형식이다. 따라서 request, response 객체는 유효하지 않고 새롭게 생성되는 것이다.
예를 들어 글을 작성하여 게시판에 등록하는 과정에서 새로고침을 하더라도 처음의 요청 정보는 존재하지 않응므로 게시물이 여러 번 등록되지 않는다. 그렇기 때문에 redirect는 시스템에 변화가 생기는 요청(회원 가입, 글 등록)일 경우 사용하는 것이 좋다.
반응형
'JSP & Servlet > 개념' 카테고리의 다른 글
[JSP] JSP 지시어 (0) | 2022.03.28 |
---|---|
[JSP] JSP 주석 (0) | 2022.03.28 |
Server Tomcat v8.5 Server at localhost failed to start. Error (0) | 2022.03.25 |
[JSP & Servlet] 세션(Session) (0) | 2022.03.25 |
[JSP & Servlet] 여러 개 파라미터 값(ex. 배열) 받기 - getParameterValues() (0) | 2022.03.25 |