๐ฌ ๋ค์ํ ์น ํ๋ ์์ํฌ์ ์ถํ์ผ๋ก ์๋ธ๋ฆฟ์ ์ง์ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ๊ฐ ํ์น ์๋ค. ํ์ง๋ง java ์น ๊ฐ๋ฐ์๋ผ๋ฉด ์๋ธ๋ฆฟ์ด ๋ฌด์์ด๊ณ ์๋ธ๋ฆฟ์ ๋์ ๋ฐฉ์์ ์ดํดํ๋ ๊ฒ์ ํ์๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ Servlet์ ๊ณต๋ถํ๊ณ ๋์ด๊ฐ๋ ๊ฒ์ด ์ข๋ค. ๐ก Servlet > โ๏ธ
โ๏ธ DB์ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฐ์ฒด์ด๋ฉฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์ ํ๊ธฐ ์ํ ๋ก์ง๊ณผ ๋น์ฆ๋์ค ๋ก์ง์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ์ฌ์ฉ์๋ ์์ ์ด ํ์ํ Interface๋ฅผ DAO์๊ฒ ๋์ง๊ณ DAO๋ ์ด Interface๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉ์์๊ฒ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ฐํํ๋ค
โ๏ธ ArrayList<Board> list๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ include ๋๋ ํฐ๋ธ ํ์ผ๋ก ์ง์ ํ๋ค.
โ๏ธ ๊ฐ์ฒด์ ๊ฐ์ฒด์ ๊ธฐ๋ฅ์ javaํ์ผ๋ก ๋ง๋ค์ด์ค๋ค. โ๏ธ Comment.java โ๏ธ DataManager.java โ๏ธ web.xml > โ๏ธ application ์ด๊ธฐํ ํ๋ผ๋ฏธํฐ ์ค์ โ๏ธ template.jsp
๐ก ์๋ฐ๋น (JavaBeans) > โ๏ธ ์์ฑ(๋ฐ์ดํฐ), ๋ณ๊ฒฝ ์ด๋ฒคํธ, ๊ฐ์ฒด ์ง๋ ฌํ๋ฅผ ์ํ ํ์ค JSP์์ ์ ๋ณด๋ฅผ ํํํ ๋ ์ฌ์ฉํ๋ ๊ฒ ์ค ํ๋ JSP์์๋ ์์ฑ์ ํํํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ ํ์ ์ ๋ณด, ๊ฒ์ํ ๊ธ ๋ฑ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅ โก๏ธ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ์
๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ฉด session ๊ธฐ๋ณธ ๊ฐ์ฒด์ ํน์ ์์ฑ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ๋ค.์ดํ๋ก session ๊ธฐ๋ณธ ๊ฐ์ฒด์ ํน์ ์์ฑ์ด ์กด์ฌํ๋ฉด ๋ก๊ทธ์ธํ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.๋ก๊ทธ์์ํ ๊ฒฝ์ฐ session.invalidate() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์ธ์ ์ ์ข ๋ฃํ๋ค.โ๏ธ session ๊ธฐ๋ณธ
โ๏ธ ํด๋ผ์ด์ธํธ์์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ์น ์ปจํ ์ด๋(์น ์๋ฒ)์ ์ ์ฅ ์ด ํด๋ผ์ด์ธํธ๊ฐ ๋ญ ํ๋๊ฐ๋ฅผ ๋ด๋น์๋ฒ๋ ์ธ์ ์ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ์ํ๋ฅผ ์ ์งํ ์ ์๋ค.โก๏ธ ๋ก๊ทธ์ธํ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ธ์ ์ฌ์ฉ์น ์ปจํ ์ด๋๋ ์น ๋ธ๋ผ์ฐ์ ๋ง๋ค ํ
๋งค๋ฒ ํน์ ์ฟ ํค์ ๊ฐ์ ์ฝ๊ณ ์ญ์ ํ๋ ค๋ฉด ๊ทธ ๊ธด ์ฝ๋๋ฅผ ๊ณ์ ์ฌ์ฉํด์ผ ํ๋ค.(์ฐธ๊ณ โก๏ธ \[ํด๋ผ์ด์ธํธ์์ ๋ํ 1: Cookie](https://velog.io/@jipark09/JSP-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A
๐ช Cookie > โ๏ธ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ณด๊ดํ๋ ๋ฐ์ดํฐ โ๏ธ ์๋ฒ์ ๋ธ๋ผ์ฐ์ ์ ์ํ๊ฐ์ ์ ์งํ๋ ๊ฒ ์น ๋ธ๋ผ์ฐ์ ๋ ์น ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ๋ ์ฟ ํค๋ฅผ ํจ๊ป ์ ์ก โก๏ธ ์น ์๋ฒ๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ ์กํ ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ JSP์์ ์์ฑํ๋ ์ฟ ํค๋
์ ๋ ๊ฒ ์ฝ๋๋ฅผ ์ง๋๊ณ ์ ํ๊ธ์ด ์๋์ค์ง ํ๊ณ ์์๋ค...property ์์ ์์ฒญ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๊ธฐ ๋๋ฌธ์ request.getCharacterEncoding์ ์์ฒญ ํ๋ผ๋ฏธํฐ ๋ฐ์ ํ๊ฐ ์๋ ์ ์ ์์น ์์ผ์ค์ผ ํ๋ค.๋ฐ๋ณด๊ฐ์ด ์ค์ ํด ๋ฒ๋ฆผ๐ต!์์ฃผ ์ ๋์ต๋๋น ^^~
๐ก ์ก์ ํ๊ทธ๋ฅผ ์ด์ฉํ JSP ํ์ด์ง ์ด๋ > โ๏ธ ํ๋์ JSP ํ์ด์ง์์ ๋ค๋ฅธ JSP ํ์ด์ง๋ก ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉ๋จ โ๏ธ ์ ์์ฒญ ํ๋ฆ ์น ๋ธ๋ผ์ฐ์ ์์ฒญ์ from.jsp์ ์ ๋ฌํ๋ค.
โ๏ธ Web Information: web์ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ์๋ฏธWeb ์ ๋ณด์ ๊ดํ ์ค์ํ ํ์ผ๋ค์ WEB-INFํด๋์ ๋ฃ๊ฒ๋๋ค. ์๋ฅผ ๋ค์ด web.xml , libํด๋ , javaํ์ผ(/WEB-INF/classes) ๋ฑ์ด ์๋ค. ์ด๋ฐ ์ค์ํ ํ์ผ๋ค์ด ์๋ WEB-I
jsp์์ ๊ฒฝ๋ก ์์ contextPath ๋ฅผ ๋ถ์ฌ ์ ๋ ๊ฒฝ๋ก๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๋ง์ด ์ฐ๋๋ก ํ์.ํ jsp ํ์ด์ง์ ๋ํด ์ง์ jsp ๊ฒฝ๋ก๋ก ์ ๊ทผํ๋ ๊ฒฝ์ฐ์ ์๋ธ๋ฆฟ์ ํตํด jsp๋ฅผ ์ ๊ทผํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ํ ๋, ๊ฐ ๊ฒฝ์ฐ๊ฐ ๋ฐ์๋ค์ด๋ ์๋ ๊ฒฝ๋ก๋ ๋ค๋ฅผ ์ ์๋ค. ๊ทธ๋์
โ๏ธ ์ง์ ํ ํ์ด์ง๋ฅผ ํ์ฌ ์์น์ ํฌํจ์์ผ ์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตโ๏ธ <%@ include file="ํฌํจํ ํ์ผ" %>file ์์ฑ: include ๋๋ ํฐ๋ธ๋ฅผ ์ฌ์ฉํด์ ํฌํจ ํ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์ JSP ํ์ผ์ ์๋ฐ ํ์ผ๋ก ๋ณํํ๊ธฐ ์ ์ include ๋๋ ํฐ๋ธ์์ ์ง์
โ๏ธ <jsp:include> โก๏ธ ํ๋ฉด ๊ตฌ์ฑ ์์์ ์ฝ๋ ์ค๋ณต ๋ฌธ์ ๋ฅผ ์๊ฑฐโก๏ธ ์์นํ ๋ถ๋ถ์ ์ง์ ํ ํ์ด์ง๋ฅผ ํฌํจ๋ณดํต ํ๋์ ์น ์ฌ์ดํธ๋ฅผ ๊ตฌ์ฑํ๋ ํ์ด์ง๋ค์ ๋์ผํ ์๋จ ๋ฉ๋ด, ์ฌ์ด๋ ๋ฉ๋ด, ์ค์ ์ปจํ ์ธ ์ ๊ฐ๋๋ค. ์ด๋ฐ ๊ณตํต ๊ตฌ์ฑ ์์๋ฅผ ์ํ ์ฝ๋๋ฅผ ๋ชจ๋ JSP
โ๏ธ ์๋ฌ ํ๋ฉด์ ํฐ์บฃ์ด ์์ฑํ ๊ฒ๋ง์ฝ name ํ๋ผ๋ฏธํฐ๊ฐ ์์ผ๋ฉด request.getParameter("name") ์ null ์ ๋ฆฌํดํ๋ฏ๋ก NullPointerException ์ ๋ฐ์์ํจ๋ค.๊ฐ๋ฐ ๊ณผ์ ์์๋ ์๋ฌ ํ๋ฉด์ ํ์๋ ์๋ฌ ๋ด์ฉ์ ๋ณด๊ณ ์ด๋ค ์๋ฌ๊ฐ ๋ฐ์ํ
์น์ ์๋ ์ํ๋ฅผ ์ ์ฅํ๊ฒ๋ ๋ง๋ค์ด์ง์ง ์์๋ค. ์ด์ฐฝ๊ธฐ ์น์ ํญ์ ์ ํด์ ธ์๋ ์ ์ ๋ฐ์ดํฐ๋ง ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ง, ํ์ฌ๋ ์ํ๋ผ๋ ์ ๋ณด๋ฅผ ๋ฃ์์ผ๋ก์จ, ๊ฐ์ ์ ์ฅํ๋ฉฐ ๊ทธ ๊ฐ์ด ์ธ์ ๊น์ง ์ ์ง๋๋์ง ์ ์ ์๊ฒ ๋์๋ค.์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ํ์๊ฐ์ ์ ํ ๋ ๋ณธ์ธ์ธ์ฆ โก๏ธ ๊ฐ์ โก๏ธ
๊ธ์ ๋ฑ๋กํ ์ ์๋ค.์ ์ฅ์๋ application์ ์์ฑ์ ์ด์ฉํ๋ค.include ์ก์ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค.์์ฑ ํ ์๋ก ๊ณ ์นจ ์ ์ค๋ณต ๋ฑ๋ก๋๋ ๊ฒ์ ๋ง๋๋ค.์ฐ์ฐ ์ฒ๋ฆฌ jsp
โ๏ธ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ ๊ฑธ์ณ์ ์ฌ์ฉ๋๋ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.ํน์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ํฌํจ๋ ๋ชจ๋ JSP ํ์ด์ง๋ ํ๋์ application ๊ธฐ๋ณธ ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๊ฒ ๋๋ค.application ๊ธฐ๋ณธ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ์ํํ ์ ์๋ค.์ด๊ธฐ ์ค์ ์ ๋ณด๋ฅผ ์ฝ์ด
โ๏ธ JSP ํ์ด์ง๊ฐ ์์ฑํ๋ ๋ชจ๋ ๋ด์ฉ์ out ๊ธฐ๋ณธ ๊ฐ์ฒด๋ฅผ ํตํด ์ ์ก๋จJSP ํ์ด์ง ๋ด์์ ์ฌ์ฉํ๋ ๋น-์คํฌ๋ฆฝํธ ์์๋ค(HTML, ์ฝ๋์ text)์ out ๊ธฐ๋ณธ ๊ฐ์ฒด์ ๊ทธ๋๋ก ์ ๋ฌ๋๋ค. ๊ฐ์ ์ถ๋ ฅํ๋ ํํ์์ ๊ฒฐ๊ณผ๊ฐ๋ out ๊ธฐ๋ณธ ๊ฐ์ฒด์ ์ ๋ฌ๋๋ค.โ ๊ทธ๋ฅ ์จ๋ ๋