forward - accidentlywoo/legacyVue GitHub Wiki
- ๋ค์ด๊ฐ๊ธฐ ์ ์ WAS์ ์๋ธ๋ฆฟ์ด๋ JSP๊ฐ ์์ฒญ์ ๋ฐ์ ํ ๊ทธ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค๊ฐ, ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ ํฌํจ๋ ๋ค๋ฅธ ์๋ธ๋ฆฟ์ด๋ JSP์๊ฒ ์์ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ ๋ฐ ์์ํ๋ ๊ฒ์ ํฌ์๋(Forward)๋ผ๊ณ ํฉ๋๋ค. ์ด๋ฒ ์๊ฐ์ ์ด๋ฌํ ํฌ์๋์ ๋ํด์ ์ข ๋ ์์ธํ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
- Forward๋ฅผ ์ดํดํ๋ค.
- Forward๋ฅผ ์ฌ์ฉ ํ ์ ์๋ค.
- RequestDispatcher
- forward()
- ์น ๋ธ๋ผ์ฐ์ ์์ Servlet1์๊ฒ ์์ฒญ์ ๋ณด๋
- Servlet1์ ์์ฒญ์ ์ฒ๋ฆฌํ ํ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ HttpServletRequest์ ์ ์ฅ.
- Servlet1์ ๊ฒฐ๊ณผ๊ฐ ์ ์ฅ๋ HttpServletRequest์ ์๋ต์ ์ํ HttpServletResponse๋ฅผ ๊ฐ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ ์๋ Servlet2์๊ฒ ์ ์ก(forward)
- Servlet2๋ Servlet1์ผ๋ก ๋ถํฐ ๋ฐ์ HttpServletRequest์ HttpServletResponse๋ฅผ ์ด์ฉํ์ฌ ์์ฒญ์ ์ฒ๋ฆฌํ ํ ์น ๋ธ๋ผ์ฐ์ ์๊ฒ ๊ฒฐ๊ณผ๋ฅผ ์ ์ก
FrontServlet.java `package examples;
import java.io.IOException;
import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
/**
-
Servlet implementation class FrontServlet */ @WebServlet("/front") public class FrontServlet extends HttpServlet { private static final long serialVersionUID = 1L;
/**
- @see HttpServlet#HttpServlet() */ public FrontServlet() { super(); // TODO Auto-generated constructor stub }
/**
-
@see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int diceValue = (int)(Math.random() * 6) + 1; request.setAttribute("dice", diceValue); RequestDispatcher requestDispatehcer = request.getRequestDispatcher("/next"); requestDispatehcer.forward(request, response);
}
}`
NextSevlet.java `package examples;
import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration;
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
/**
-
Servlet implementation class ForwardServlet */ @WebServlet("/forward") public class ForwardServlet extends HttpServlet { private static final long serialVersionUID = 1L;
/**
- @see HttpServlet#HttpServlet() */ public ForwardServlet() { super(); // TODO Auto-generated constructor stub }
/**
-
@see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println("
<title>form</title>"); out.println("");int dice = (Integer)request.getAttribute("dice"); out.println("dice : " + dice); for(int i = 0; i < dice; i++) { out.print("
hello"); } out.println(""); out.println(""); }
}`
- ์๋ธ๋ฆฟ์ ํ๋ก๊ทธ๋จ ๋ก์ง์ ๊ฐ๋ฐํ๊ธฐ์ ํธ๋ฆฌํ์ง๋ง, HTML ํ๊ทธ๋ฅผ ์ถ๋ ฅํ๊ธฐ์ ๋ถํธํฉ๋๋ค. JSP๋ ํ๋ก๊ทธ๋จ ๋ก์ง์ ๊ฐ๋ฐํ๊ธฐ๋ ์ข ๋ถํธํ์ง๋ง, HTMLํ๊ทธ๋ฅผ ์ถ๋ ฅํ๊ธฐ์ ํธ๋ฆฌํฉ๋๋ค. ์๋ธ๋ฆฟ๊ณผ JSP๋ ์๋ก ์ฅ๋จ์ ์ด ๋ฐ๋์ ๋๋ค. ํฌ์๋๋ฅผ ์ด์ฉํด์ ์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๊ณ ์ถ์ต๋๋ค. ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?