JSP 포워딩(Forwarding)과 리다이렉트(Redirect)의 차이

2025. 2. 27. 09:15·Server/JSP - TomCat - Servlet

⭐️ 포워딩과 리다이렉트란 ?

웹 앱에서 다른 페이지로 이동을 하는 경우가 자주 발생하는데 , 이때 사용되는 대표적인 방법이

포워딩(Forwarding)과 리다이렉트(Redirect)가 있다.

 

🔥 포워딩(Forwarding)이란 ?

포워딩은 클라이언트의 요청을 유지한 채로 서버 내에서

다른 페이지로 이동(서블릿 위임)하는 방식이다.

 

즉, 브라우저의 URL이 바뀌지 않고, 기존 요청(Request)과 응답(Response)가 유지된다.

 

-> 서블릿이 다른 서블릿으로 위임하는것이 포워딩. (servlet -> jsp)

-> 기존 request 객체와 데이터가 유지된다.

 

[ 포워딩 함]

request.getRequestDispatcher("views/common/errorPage.jsp").forward(request, response);

 

[ 포워딩 받은 jsp 페이지 ]

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%@include file="menubar.jsp"%>
    
    <br /><br />
        <h1 align="center" style="color: red">${errorMsg}</h1>
    </body>
</html>

 

[ 결과 화면 ]

포워딩 받은 에러 페이지

 

포워딩시에 브라우저의 URL이 바뀌지 않는 모습과 , Request 객체를 El문법을 통해

사용할 수 있는것을 확인할 수 있다.

 

🔥 리다이렉트(Redirect)란 ?

리다이렉트는 서버가 클라이언트에게 새로운 URL로 이동하라고 응답하는 방식이다.

 

즉, 클라이언트가 다시 새로운 요청을 보내게되며 , 기존 정보는 유지되지 않는다.

 

-> 새로운 요청을 보내기 때문에 Request 데이터 유지 X

-> 브라우저 URL 변경됨

-> 클라이언트가 직접 새로운 페이지 요청을 함

 

[ 리다이렉트 요청 ]

resp.sendRedirect(req.getContextPath());

 

리다이렉트 완료 페이지

 

포워딩과는 다르게 리다이렉트시 브라우저 URL이 변경되었다.

 

-> 클라이언트에게 req.getContextPath() 경로로 재요청을 보내고 , 클라이언트는 

해당 URL로 다시 요청을 하고 서블릿이 해당 페이지를 반환해서

위와같이 페이지가 뜨는 것을 볼 수 있다.

 


포워딩 : request, response 값 유지 & 다른 페이지로 서블릿 위임할때 사용
리다이렉트 : 브라우저에게 재요청을 보내 URL경로와 서블릿 매핑 경로가 꼬이는 현상을 방지
 

'Server > JSP - TomCat - Servlet' 카테고리의 다른 글

JSP 파일 업로드 해보기  (0) 2025.02.28
session.removeAttribute()와 session.invalidate() 차이  (2) 2025.02.26
JSTL에 대하여  (2) 2025.02.24
JSP Scope에 대하여  (0) 2025.02.23
Servlet에대하여  (0) 2025.02.21
'Server/JSP - TomCat - Servlet' 카테고리의 다른 글
  • JSP 파일 업로드 해보기
  • session.removeAttribute()와 session.invalidate() 차이
  • JSTL에 대하여
  • JSP Scope에 대하여
KoesJin
KoesJin
hEELo
  • KoesJin
    Seok DevLog
    KoesJin
  • 전체
    오늘
    어제
    • 분류 전체보기 (109)
      • Back End (31)
        • DataBase (15)
        • JAVA (12)
        • JDBC (4)
      • Front End (9)
        • HTML5 & CSS (3)
        • Java Script (6)
        • REACT (0)
      • Server (9)
        • JSP - TomCat - Servlet (7)
        • Spring Boot (2)
      • GitHub (1)
      • IT 지식 (기술면접 대비) (20)
      • Weekly TIL (39)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    INNER JOIN
    순서에 대하여
    where
    exception
    MVC 패턴
    weekly til - day 43
    commit
    weekly til - day 39
    order by
    from
    View
    DDL
    weekly til - day 38
    GC
    css
    dml
    weekly til - day 41
    DAO
    select
    weekly til - day 40
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
KoesJin
JSP 포워딩(Forwarding)과 리다이렉트(Redirect)의 차이
상단으로

티스토리툴바