
1. Forward์ Redirect์ ์ ์์ ๊ตฌํ
Forward
: ์ฃผ๋ก ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์
๋ด์ ๋ค๋ฅธ ์๋ธ๋ฆฟ ๋๋ JSP ํ์ด์ง๋ก ์์ฒญ์ ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ.
์๋ฒ ์ธก์์ ์ฒ๋ฆฌ๋๋ฉฐ, ํด๋ผ์ด์ธํธ์๊ฒ ์๋ก์ด ์์ฒญ์ด ์์ฑ๋์ง ์๋๋ค.
public class ForwardServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Forwardํ ๋ค๋ฅธ ์๋ธ๋ฆฟ ๋๋ JSP ํ์ด์ง์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
String forwardPath = "/destination.jsp";
// RequestDispatcher๋ฅผ ์ป์ด์ Forward๋ฅผ ์ํํฉ๋๋ค.
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(forwardPath);
dispatcher.forward(request, response);
}
}
Redirect
: ์ฃผ๋ก ๋ค๋ฅธ ๋๋ฉ์ธ์ผ๋ก ์ฌ์ฉ์๋ฅผ ๋ณด๋ผ ๋ ๋๋ ์ธ๋ถ ์น ํ์ด์ง๋ก ๋ฆฌ๋๋ ์
ํ ๋ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ.
ํด๋ผ์ด์ธํธ์๊ฒ ์๋ก์ด ์์ฒญ์ ๋ง๋ค๋๋ก ์ง์ํ๋ฉฐ, ์๋ก์ด URL๋ก ์ด๋ํ๋ค.
public class RedirectServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ผ ์๋ก์ด URL์ ์ง์ ํฉ๋๋ค.
String redirectURL = "/newpage.jsp";
// response ๊ฐ์ฒด์ sendRedirect ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ Redirect๋ฅผ ์ํํฉ๋๋ค.
response.sendRedirect(redirectURL);
}
}
2. ๋ณด์ ์ธก๋ฉด์์์ ์ฐจ์ด์
KISA(ํ๊ตญ์ธํฐ๋ท์งํฅ์)์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ณด์ ๊ฐ์ด๋์ ๋ฐ๋ฅด๋ฉด, ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋๋ ๊ฐ์ ์ธ๋ถ์ฌ์ดํธ์ ์ฃผ์๋ก ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ๋ ์๋ฒ ํ๋ก๊ทธ๋จ์ ํด์ปค๊ฐ ํด๋ผ์ด์ธํธ์ request๋ฅผ ๋ณ์กฐํจ์ผ๋ก์จ ์ํํ url๋ก ์ ์ํ ์ ์๋๋ก ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ๋ค๊ณ ๋์์๋ค. ๋ฐ๋ผ์ Redirect ๋ฐฉ๋ฒ์ ์์ฒญ url๋ก ๋ฐ๋ก ์ด๋์ด ๊ฐ๋ฅํ๋ฏ๋ก ํผ์ฑ ๊ณต๊ฒฉ์ ๋ ธ์ถ๋๋ ์ทจ์ฝ์ ์ ๊ฐ์ง ์ ์๋ค. ๊ทธ๋์ ์์ ํ๊ฒ Redirect ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ค๋ฉด, ์ธ๋ถ ๋๋ฉ์ธ ๋ฆฌ์คํธ๋ฅผ ๋ฐ๋ก ์์ฑํด ๋๊ณ ๊ฒ์ฆํด์ผ ํ๋ฉฐ ์ํํ ์ ๊ทผ์ด ์์ ๊ฒฝ์ฐ ์ ๊ทผ์ ์ฐจ๋จ์์ผ์ผ ํ๋ค.

๋ฐ๋ฉด์ Forward๋ ์๋ฒ ๋ด๋ถ์์ ์์ฒญ์ ์ ๋ฌํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ํด๋ผ์ด์ธํธ์๊ฒ ์๋ก์ด url์ ๋ ธ์ถํ์ง๋ ์๊ณ ํด๋ผ์ด์ธํธ๊ฐ ์ง์ url์ ์กฐ์ํ ์๋ ์๋ค. Forward ๋ฐฉ๋ฒ์ url ์กฐ์์ ๋ํ ์ทจ์ฝ์ ์ ์์ง๋ง ์ฌ์ ํ ์ ๋ ฅ๊ฐ ๊ฒ์ฆ์ ํ์ํ๋ค.
์ถ์ฒ
KISA ํ๊ตญ์ธํฐ๋ท์งํฅ์
www.kisa.or.kr
์ํํธ์จ์ด ๊ฐ๋ฐ๋ณด์ ๊ฐ์ด๋ 166 - 169p
Difference Between Forward and Redirect | Difference Between
Difference Between Forward and Redirect • Categorized under internet,Software,Technology,Web Applications | Difference Between Forward and Redirect There are multiple screens and servlets which together form a Java based web application. A JSP passes the
www.differencebetween.net
๋ ์์ธํ Forward์ Redirect์ ์ฐจ์ด์
'๐ Web > Back-end' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [MSA] Spring Cloud Gateway ๊ฐ์ค์น ๋ผ์ฐํ (0) | 2024.12.02 |
|---|---|
| [MySQL] Mac M1 Workbench ์ค์น ๋ฐ ์ด๊ธฐ ์ค์ (0) | 2023.09.17 |