- ๊ด๋ จ ๊ธ
- RequestDispatcher์ forwarding(), include()์ <jsp:forward>, <jsp:include> ํ๊ทธ
RequestDispatcher - Fowarding VS Including
์์ฒญ๋ ์์ ์ ์์ํ๋ ๋ฐฉ๋ฒ์๋ Fowarding ๋ฐฉ์๊ณผ Including์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. ๊ทธ ์ฐจ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
Fowarding : ํ ๋ฒ ์์ ์ ์์ํ๋ฉด ๋ค์ ์ด์ ์๋ธ๋ฆฟ์ผ๋ก ์ ์ด๊ถ์ด ๋์์ค์ง ์๋๋ค.
Including : ๋ค๋ฅธ ์๋ธ๋ฆฟ์ผ๋ก ์์ ์ ์์ํ ํ ๊ทธ ์๋ธ๋ฆฟ์ ์คํ์ด ๋๋๋ฉด ๋ค์ ์ด์ ์๋ธ๋ฆฟ์ผ๋ก ์ ์ด๊ถ์ด ๋์์จ๋ค.
Fowarding ๋ฐฉ์์ผ๋ก ์๋ฌ ํ์ด์ง ์ถ๋ ฅํ๊ธฐ
์๋ธ๋ฆฟ์์ ์์ ๊ฐ์ด ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด ์์ธ ๋ฐ์ ์ ServletException ์ธ์คํด์ค๋ฅผ ํฐ์บฃ ์๋ฒ๊ฐ ๋ฐ๋๋ค. (ํฐ์บฃ ์๋ฒ๋ก ๊ตฌ๋ํ๋ค๋ฉด)
ํฐ์บฃ ์๋ฒ๊ฐ ์๋ธ๋ฆฟ์ด throwํ ์์ธ ์ธ์คํด์ค๋ฅผ ๋ฐ์ผ๋ฉด ์์ ๊ฐ์ ๊ฒฐ๊ณผ ํ๋ฉด์ ์น ๋ธ๋ผ์ฐ์ ์๊ฒ ๋ณด๋ธ๋ค.
ํฌ์๋ฉ์ ์ฌ์ฉํด์ ์์ธ ๋ฐ์ ์ ์์ ๊ฐ์ด HTTP ์ค๋ฅ ํ์ด์ง๋ฅผ ์ถ๋ ฅํ์ง ์๊ณ ์์ฒด์ ์ธ ์๋ฌ ํ์ด์ง๋ฅผ ์ถ๋ ฅํ๋๋ก ํ ์ ์๋ค.
์ถ๋ ฅํ ์๋ฌ ํ์ด์ง๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์๋ค.
Error.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>์์คํ
์ค๋ฅ</title>
</head>
<body>
์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ต๋๋ค. ์ ์ ํ์ ๋ค์ ์์ฒญํ์๊ธฐ ๋ฐ๋๋๋ค.<br>
<%
Exception e = (Exception)request.getAttribute("error");
%>
<%=e.toString()%>
</body>
</html>
|
cs |
๊ทธ๋ฆฌ๊ณ ์์ธ ์ฒ๋ฆฌ ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ๋ค.
1
2
3
4
5
6
|
catch (SQLException | ClassNotFoundException e) {
// throw new ServletException(e);
req.setAttribute("error", e);
RequestDispatcher rd = req.getRequestDispatcher("/Error.jsp");
rd.forward(req, resp);
}
|
cs |
๊ทธ๋ฆฌ๊ณ ์์ธ๊ฐ ๋ฐ์ํ๋ ์๋ธ๋ฆฟ์ ๋ค์ ์คํํ๋ฉด Error.jsp๊ฐ ์์ฑํ ํ๋ฉด์ด ์ถ๋ ฅ๋๋ค.
- ๊ด๋ จ ๊ธ
- RequestDispatcher์ forwarding(), include()์ <jsp:forward>, <jsp:include> ํ๊ทธ
'Javaยท๏ปฟServletยท๏ปฟJSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JSP ์ก์ ํ๊ทธ์ jsp:useBean ์ฌ์ฉ ์์ (0) | 2020.02.13 |
---|---|
ServletContext๋ก DB ์ปค๋ฅ์ ๊ฐ์ฒด ๊ด๋ฆฌํ๊ธฐ (0) | 2020.02.12 |
[IntelliJ] ํ์๊ฐ์ ์์ (MVC) - (4) ๋ทฐ(JSP) ๋ถ๋ฆฌํ๊ธฐ (0) | 2020.02.12 |
JSP ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ด ์ ๋ฆฌ - ํ ํ๋ฆฟ ๋ฐ์ดํฐ, JSP ์ ์ฉ ํ๊ทธ, ๋ด์ฅ ๊ฐ์ฒด (2) | 2020.02.11 |
JSP ๊ตฌ๋ ์๋ฆฌ (0) | 2020.02.11 |
๋๊ธ