Coding Planet
์๋ธ๋ฆฟ์์ ํด๋ผ์ด์ธํธ ์ธก์ JavaScript Alert ์ฐฝ ํ์ํ๊ธฐ : PrintWriter ๋ณธ๋ฌธ
๐ป Java Study/Java ์ด๋ก ์ ๋ฆฌ
์๋ธ๋ฆฟ์์ ํด๋ผ์ด์ธํธ ์ธก์ JavaScript Alert ์ฐฝ ํ์ํ๊ธฐ : PrintWriter
jhj.sharon 2024. 5. 13. 11:43๋ฐ์ํ
ํ์ฌ ๊ฐ๋ฐ์ค์ธ ์นํ์ด์ง ๋ก๊ทธ์ธ ์ SpringSecurityLoginFilter๋ฅผ ํ๋ฉด์ ํ์ํ ์ ์ฐจ๋ฅผ ๋ฐ๋ฅด๊ณ ์๋ค. ํ์ฌ ํ์ด์ง๋ ์ฌ์ฉ์๊ฐ ๊ฐ์ ์ ์ฒญ์ ํ๋ฉด ๊ด๋ฆฌ์๊ฐ ์น์ธ ํ ์ฌ์ดํธ๋ฅผ ์ด์ฉํ ์ ์๋ค.
์ด ๋ ์ฌ์ฉ ์ํ(๊ฐ์ ์ ์ฒญ or ๊ฐ์ ์น์)์ ์กฐํํ ํ ๊ฐ์ ๋๊ธฐ ์ํ๋ผ๋ฉด alert์ฐฝ์ ๋์ฐ๊ณ ๋ค์ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ณด๋ด์ผํ๋ค.
Java ์๋ธ๋ฆฟ์์ ํด๋ผ์ด์ธํธ์ JavaScript Alert ์ฐฝ์ ๋์ฐ๋ ค๋ฉด, HttpServletResponse ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ๋ค์์ ๊ฐ์ ์ ์ฒญ ์ํ๊ฐ '์น์ธ ๋๊ธฐ(A)'์ธ ๊ฒฝ์ฐ, ์ฌ์ฉ์์๊ฒ ์ํ๋ฅผ ์๋ฆฌ๊ณ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋๋ ์ ํ๋ ์์ ์ฝ๋์ด๋ค.
if ("A".equals(loginVO.getUserSttus())) {
httpResponse.setContentType("text/html; charset=UTF-8");
PrintWriter out = httpResponse.getWriter();
out.println("<script>alert('์น์ธ ๋๊ธฐ ์ํ์
๋๋ค. ๊ด๋ฆฌ์ ์น์ธ ํ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.'); location.href='" + httpRequest.getContextPath() + "/auth/login.do';</script>");
out.flush();
out.close();
return;
}
HttpServletResponse.getWriter()
- HttpServletResponse์ getWriter() ๋ฉ์๋๋ ์๋ต์ ์ํ PrintWriter ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. ์ด PrintWriter๋ ํด๋ผ์ด์ธํธ์๊ฒ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ค.
- ๋ฐํ๋ PrintWriter๋ UTF-8๊ณผ ๊ฐ์ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํธ๋ก ๋ณํํ๊ณ ์ด๋ฅผ HTTP ์๋ต ์คํธ๋ฆผ์ผ๋ก ๋ณด๋ธ๋ค.
- ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ getWriter()๋ฅผ ํธ์ถํ ํ๋ถํฐ ์๋ต ๋ฐ๋๋ฅผ ์กฐ์ํ๊ธฐ ์ํด ์ด PrintWriter๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
PrintWriter์ ๊ธฐ๋ฅ
- PrintWriter๋ ๋ค์ํ ์ถ๋ ฅ ๋ฉ์๋(print(), println(), format(), write() ๋ฑ)๋ฅผ ์ ๊ณตํ์ฌ ๋ค์ํ ํํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์ ์คํธ๋ฆผ์ผ๋ก ์ถ๋ ฅํ ์ ์๊ฒ ํด์ค๋ค.
- ์๋ฅผ ๋ค์ด, HTML, JSON, ์ผ๋ฐ ํ ์คํธ ๋ฑ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ ์ ์๋ ์ด๋ค ํ ์คํธ ๋ฐ์ดํฐ๋ PrintWriter๋ฅผ ํตํด ๋ณด๋ผ ์ ์๋ค.
- PrintWriter๋ ๋ด๋ถ์ ์ผ๋ก ๋ฒํผ๋ง์ ์ํํ ์ ์์ผ๋ฉฐ, flush() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ๋ฒํผ์ ์ ์ฅ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ๋ก ๊ฐ์ ๋ก ์ ์กํ ์ ์๋ค.
๋ฐ์ํ
'๐ป Java Study > Java ์ด๋ก ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments