์๋ธ๋ฆฟ์ ํฌ์๋ ๋ฐฉ๋ฒ 4๊ฐ์ง
redirect, Refresh, location, dispatch
์์ฃผ ์ฌ์ฉ๋๋ ๊ฒ
sendRedirect์ forward(์คํ๋ง์์ ๋ง์ด ์ฌ์ฉ)
โกRedirect
- HttpServletResponse ๊ฐ์ฒด์ sendRedirect()
- ์น๋ธ๋ผ์ฐ์ ์ ์ฌ์์ฒญ ํ๋ ๋ฐฉ์
- ๋ค๋ฅธ ์น ์ปจํ ์ด๋์ ์๋ ์ฃผ์๋ก ์ด๋ ๊ฐ๋ฅ
- ์ถ๊ฐ์ ์ผ๋ก ๋ฐ์ํ๋ ์ฒ๋ฆฌ์ ์ํด ํฌ์๋ฉ๋ณด๋ค ์ฑ๋ฅ์ด ๋๋ฆฌ๋ค.
sendRedirect("ํฌ์๋ํ Servlet ๋๋ JSP")
โกlocation
- ์๋ฐ์คํฌ๋ฆฝํธ location ๊ฐ์ฒด์ href ์์ฑ์ ์ด์ฉ
- ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฌ์์ฒญํ๋ ๋ฐฉ์
location.href = '์์ฒญํ ์๋ธ๋ฆฟ ๋๋ JSP'
โกdispatch
- ์ผ๋ฐ์ ์ผ๋ก ํฌ์๋ฉ ๊ธฐ๋ฅ์ ์ง์นญ
- ์๋ธ๋ฆฟ์ด ์ง์ ์์ฒญ
- RequestDispatcher ํด๋์ค์ forward()
- ์น๋ธ๋ผ์ฐ์ ์ URL ์ ๋ณด๋ ๋ณ๊ฒฝ๋์ง ์์, ํด๋ผ์ด์ธํธ๋ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๋์ง ์ ์ ์์
- ํด๋ผ์ด์ธํธ์ ํต์ ์์ด ์๋ฒ์์๋ง ์ฒ๋ฆฌ๋๋ ๊ฒ์ผ๋ก redirect ๋ณด๋ค ์ฑ๋ฅ์ด ์ข๋ค
- ํ์ฌ ํ์ด์ง์ ํฌ์๋ฉ์ ์ํด ํธ์ถ๋ ํ์ด์ง๋Request์ Response ๊ฐ์ฒด๋ฅผ ๊ณต์
RequestDispatcher rd = request.getRequestDispatcher("ํฌ์๋ฉํ Servlet or JSP");
rd.forward(request, response);
โ SendRedirect์ forward์ ์ฐจ์ด
Scope ์ฐจ์ด
Page → ํ์ด์ง ๋ด์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
Request → ํ ๋ฒ ์์ฒญ-์๋ต ํ ๋ ์ด์ ์ฌ์ฉ ๋ถ๊ฐ
Session → ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ or ์ธ์ ์ญ์ ์๊น์ง ์ฌ์ฉ ๊ฐ๋ฅ
Application → ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ข ๋ฃ๋ ๋๊น์ง ์ฌ์ฉ ๊ฐ๋ฅ(์๋ฒ ์ข ๋ฃ ์๊น์ง ์ฌ์ฉ ๊ฐ๋ฅ)
redirect ๋ ๊ฐ๊ฐ์ page์ request๊ฐ ์๋ก ํ์ฑ๋์ ์ํฅ์ด ๋ฏธ์น๋ ๋ฒ์๊ฐ ํด๋น page ์์ผ๋ก ์ ํ ๋๋ค.
forward๋ page ๋ ๊ฐ๊ฐ์ ํ์ด์ง๋ง ํด๋น, request๋ ๋ ๊ฐ์ง jsp๋ฅผ ํฌ๊ด์ ์ผ๋ก ์ด๋ฅด๊ธฐ ๋๋ฌธ์ ๋ ํฐ ์์ญ์์ ํ์ฉ ๊ฐ๋ฅ.
์์คํ ์ ๋ณํ๊ฐ ์๊ธฐ๋ ์์ฒญ(๋ก๊ทธ์ธ, ํ์๊ฐ์ , ๊ธ์ฐ๊ธฐ)์๋ redirect ๋ฐฉ์์์คํ ์ ๋ณํ๊ฐ ์๊ธฐ์ง ์๋ ๋จ์ ์์ฒญ(๊ธ๋ชฉ๋ก ๋ณด๊ธฐ, ๊ฒ์ ๋ฑ)์๋ forward
์์ฝ : ๋ณํ๋ฅผ ์ฃผ๋ ๊ฒฝ์ฐ redirect, ๋ณํ๋ฅผ ์ฃผ์ง ์๋ ๊ฒฝ์ฐ forward๋ฅผ ์ด๋ค.
์ค์ ํ์ฉ ์
Redirect
์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ํ, ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ฉ์ธ ํ์ด์ง๋ก ์ด๋ํ ๋.
๋ก๊ทธ์ธ ์คํจ ์, ์๋ฌ ๋ฉ์์ง๋ฅผ ํฌํจํ์ฌ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋์๊ฐ ๋.
Forward
์ฌ์ฉ์๊ฐ ํผ์ ์ ์ถํ๊ณ , ์๋ธ๋ฆฟ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ํ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ JSP ํ์ด์ง์์ ์ถ๋ ฅํ ๋.
์ธ์ฆ์ด ํ์ํ ์์ฒญ์ ์ฒ๋ฆฌํ ํ, ๋ก๊ทธ์ธ ๋ ์ํ๋ก ๋์๋ณด๋ ํ์ด์ง๋ก ์ด๋ํ ๋.
Redirect๋ ์๋ก์ด ์์ฒญ์ ์์ฑํ๋ฏ๋ก, ์๋ก์ด ํ์ด์ง๋ก ์ด๋ํ ๋ ์ฌ์ฉ๋๋ฉฐ, ๋ฐ์ดํฐ ์ ๋ฌ์๋ ๋ถ์ ํฉ, ๊ทธ๋ฆฌ๊ณ URL ๋ณ๊ฒฝ๋จ
Forward๋ ๊ธฐ์กด ์์ฒญ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ, ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ ์๋ฒ ๋ด๋ถ์์ ํ์ด์ง๋ฅผ ์ด๋ํ ๋ ์ ํฉ, URL ๋ณ๊ฒฝ ์ ๋จ
๋ ์ฌ๊ธฐ๊น์ง ๋ค ์ดํด๊ฐ ๋ฌ๊ตฌ
์์ธํ ์๊ณ ์ถ์ ์ฌ๋์ ์ด๊ฑฐ ๋ณด์
https://dev-handbook.tistory.com/35
https://inforefine.com/๋ฆฌ๋ค์ด๋ ํธredirect์-ํฌ์๋forward-์ ์์-์ฐจ์ด์ /
https://www.youtube.com/watch?v=zDBC94qkPmE
'Coding > Spring&JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JSP] ๊ฒ์ํ ๋ง๋ค๊ธฐ 2 _ ๋ก๊ทธ์ธ ํ์ด์ง + ๋ถํธ์คํธ๋ฉ + mySQL ๋ค์ด๋ก๋ (62) | 2024.12.02 |
---|---|
[JSP] ๊ฒ์ํ ๋ง๋ค๊ธฐ 1 _ ์ดํด๋ฆฝ์ค ์๋ฐ ์น ํ๋ก์ ํธ ํ๊ฒฝ์ค์ (6) | 2024.12.01 |
JSP & Servlet ์ ๋ฆฌ 1 (8) | 2024.11.01 |
์คํ๋ง๋ถํธ_ ํ์ต๋ ธํธ1 (๋ค์ด๋ก๋ ๋ฐ ํ๊ฒฝ์ค์ ) (0) | 2024.05.24 |
[Spring] ์ 1๊ฐ_ ์คํ๋ง ๊ฐ๋ฐ์ ์ํ ํ๊ฒฝ์ค์ (์๋์ฐ) (0) | 2024.04.15 |