๊พธ๋ฏธ๊ธฐ ๋ผ๊ณ ํ๊ธฐ์๋ ์์ํ์ง๋ง๋ถํธ์คํธ๋ฉ ์์ฑ ๊ณต๋ถํ๋ ์๊ฐ ๋ค๋น๊ฒ์ด์
๋ฐ ์๋ ๋ฉ์ธ ์์ญ์ ๋ถํธ์คํธ๋ฉ์ผ๋ก ์๊ฐ๊ธ ์ถ๊ฐmain์์ญ์ด๋ผ๊ณ ํด์ผ ํ ์ง content ์์ญ์ด๋ผ๊ณ ํด์ผ ํ ์ง 1. ์๊ฐ๊ธ ์ถ๊ฐ `jumbotron`ํ์ด์ง ๋ด์์ ๊ฐ์กฐํ๋ ํ์ด๋ก ์น์
์ด๊ณ ํฐ ํ
์คํธ์ ์ฌ๋ฐฑ์ ๊ธฐ๋ณธ์ผ๋ก ํฌํจํจ๋ถํธ์คํธ๋ฉ 5์์๋ Jumbotron ํด๋์ค๊ฐ ์ ๊ฑฐ๋์๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ํด๋์ค๋ฅผ ์กฐํฉํด์ ๋น์ทํ ํจ๊ณผ๋ฅผ ์๋์ผ๋ก ๋ด์ผ ํ๋ค. `rounded`์์์ ๋ชจ์๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ๋ง๋ฌ border-radius: 0.375rem (์ฝ 6px)์ฌ๊ธฐ์ rounded-circle, rounded-pill ์ฐ๋ฉด ๋ ๊ทน๋จ์ ์ผ๋ก(?) ๋ฅ๊ทผ ์คํ์ผ ๊ฐ๋ฅ`display-4`ํ
์คํธ๋ฅผ ํฌ๊ฒ ํ์ํ๋ ํค๋ฉ ์คํ์ผ๋ถํธ์คํธ๋ฉ์ ๋์คํ๋ ์ด ํด๋์ค์ธ๋ฐ ..
My Tech Blog (Coding/Spring&JSP)
1. ๊ฒ์๊ธ ์์ ํ๋ update ๋ฉ์๋ ๋ง๋ค๊ธฐBbsDAO ํด๋์ค ํ๋จ์ ๋ฉ์๋ ์ถ๊ฐpublic int update(int bbsID, String bbsTitle, String bbsContent) { String SQL = "UPDATE BBS SET bbsTitle = ?, bbsContent = ? WHERE bbsID = ?"; PreparedStatement psmt = null; try { psmt = conn.prepareStatement(SQL); psmt.setString(1, bbsTitle); psmt.setString(2, bbsContent); psmt.setInt(3, bbsID); return p..
1. BbsDAO ํด๋์ค์ getBbs() ๋ฉ์๋ ๋ง๋ค๊ธฐ `getBbs(int bbsID)` ๋ฉ์๋๋ ํน์ bbsID๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์๊ธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์กฐํํ์ฌ ๋ฐํํ๋ค.์ฆ ํ๋์ ๊ธ ๋ด์ฉ์ ๋ถ๋ฌ์ค๋ ๋ฉ์๋์ด๋ค. ์ฒ์์ ์ ์ ์ฝ๋(ํ๋ฆผ) public Bbs getBbs(int bbsID) { String SQL = "SELECT * FROM BBS WHERE bbsID = ?"; try (PreparedStatement psmt = conn.prepareStatement(SQL); ResultSet rs = psmt.executeQuery()) { psmt.setInt(1, bbsID); if (rs.next()) { ..
๊ธ๋ชฉ๋ก๊ณผ ํ์ด์ง๋ค์ด์
(Pagination)๊ฒ์๋ฌผ์ DB์์ ๋ถ๋ฌ์ ํ๋ฉด์ ํ์ํ๋ ค๋ฉด ๊ฒ์๊ธ ๋ชฉ๋ก์ ๊ฐ์ ธ์ค๋ ์์
๊ณผ ํ์ด์ง ์ฒ๋ฆฌ ๋ ๊ฐ์ง๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค. ๊ฒ์๊ธ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๋ถ๋ฌ์ค๊ธฐ ์ํด ArrayList๋ฅผ ์ฌ์ฉํ์ฌ DB์์ ์์ฑ์, ์ ๋ชฉ ๋ฑ ๊ฒ์๊ธ์ ์ฃผ์ ์ ๋ณด๋ฅผ ํฌํจํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค. ์ด ๋ ์ค์ํ ์ ์ ํ์ด์ง ์ฒ๋ฆฌ์ด๋ค. ํ์ด์ง ์ฒ๋ฆฌ๋ ํ ํ์ด์ง์ ๋ช ๊ฐ์ ๊ฒ์๊ธ์ ๋ณด์ฌ์ค์ง ๊ฒฐ์ ํ๋ ๊ณผ์ ์ด๋ฉฐ, ์๋ฅผ ๋ค์ด ํ ํ์ด์ง์ ์ด 10๊ฐ์ ๊ฒ์๊ธ์ ๊ฐ์ ธ์ค๋๋ก ์ค์ ํ ์ ์๋ค. ๊ทธ๋์ ์ค๋์ `BbsDAO`์ ํน์ ํ์ด์ง ๋ฒํธ(pageNumber)์ ํด๋นํ๋ ๊ฒ์๊ธ ๋ชฉ๋ก์ ๋ฐํํ๋ ๋ฉ์๋ โก `getList(int pageNumber)`๋ฅผ ๋ง๋ค์ด ๋ณผ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ด์ง ์ฒ๋ฆฌ์์ ํ์ด์ง ๋ฒํธ๋ฅผ ๊ธฐ์ค์ผ..
1. write.jsp ๊ธ์ฐ๊ธฐ ํ์ด์ง ๋ง๋ค๊ธฐ ๋จผ์ ๊ฒ์๊ธ ์์ฑ ํ์ด์ง `write.jsp`๋ฅผ ๋ง๋ค์ด ์ฃผ๋ ค๊ณ ํ๋ค.`bbs.jsp`๋ฅผ ๋ณต์ฌํด์ ๋ถ์ฌ ๋ฃ๊ณ ์ค๊ฐ ๋ถ๋ถ๋ง ์์ ํด ์ค ๊ฒ์ด๋ค. nav๋ฐ ์๋ ๋ถ๋ถ์ ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑBootstrap5 ์ด์ฉํ๋ค. โก `mt-5` margin-top: 5rem; โก ``ํ๊ทธ์ `required` ์์ฑ ๋ฃ์ผ๋ฉด ๋ธ๋ผ์ฐ์ ์์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํจ. ํ
์คํธ๋ฅผ ์
๋ ฅ ์ ํ ์ฑ๋ก submit ํ๋ฉด `์ด ์
๋ ฅ๋์ ์์ฑํ์ธ์.` ๋ผ๋ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ๋์ด๋ค. โก `form-control` ํด๋์ค Bootstrap์์ ์ ๊ณตํ๋ ํด๋์ค ์ค ํ๋๋ก, ์
๋ ฅ ํ๋์ ์คํ์ผ์ ์ฝ๊ฒ ์ผ๊ด์ฑ ์๊ฒ ์ ์ฉํ๊ธฐ ์ํด ์ฌ์ฉ๋จ.์ด๊ฑฐ ์ฐ๋ฉด ์
๋ ฅ ํ๋(input, textarea, select ๋ฑ)๊ฐ ๊ธฐ๋ณธ..
1. ๊ฒ์ํ ๋ฉ์ธ ํ์ด์ง `bbs.jsp`๋ง๋ค๊ธฐ๋จผ์ `main.jsp` ํ์ด์ง์์ ๊ฒ์ํ ๋ถ๋ถ href ์์ฑ์ "bbs.jsp" ๋ฅผ ์ฐ๊ฒฐํด์ค๋ค. `main.jsp` ํ์ด์ง๋ฅผ ๋ณต์ฌํด์ webapp ์๋ค ๋ถ์ฌ๋ฃ๊ธฐ ํ๊ณ ์ด๋ฆ๋ง `bbs.jsp`๋ก ๋ฐ๊พธ์.์ฌ๊ธฐ์ ์ฝ๋์ ์์ ์ข ๋ณผ ๊ฒ์ด๋ค. ๋ง๋ค์์ผ๋ฉด `Home`์ ์๋ active ํด๋์ค๋ฅผ `๊ฒ์ํ`์ผ๋ก ์ฎ๊ฒจ ์ค์ ํ์ฌ ์ ํํ ํ์ด์ง์์ ๊ฐ์์ ์ผ๋ก ๋ณด์ฌ ์ค๋ค. ๊ทธ ๋ค์ ๋ค๋น๊ฒ์ด์
๋ฐ ์๋์ ๊ฒ์ํ ํ์์ ํ
์ด๋ธ์ ์ฝ์
ํด ์ค๋ค.ํ
์ด๋ธ์ ๋ง๋ค๊ธฐ ์ ์ `` ํ๊ทธ๋ก container์ row ์์ญ์ ์ก์ ์ฃผ๊ณ ํ
์ด๋ธ์ ๋ง๋ค์ด์ฃผ์. ๋ฒํธ ..
โ
session ๊ด๋ฆฌโ
logout.jspโ
main.jsp ๋ง๋ค๊ธฐ ์ง๊ธ๊น์ง ํ์๊ฐ์
, ๋ก๊ทธ์ธ ๊ธฐ๋ฅ๊น์ง ๊ตฌํํด๋ณด์๋ค.์ด์ ์ธ์
๊ด๋ฆฌ๋ฅผ ํด ๋ณด์. `session` ์ด๋ ํ์ฌ ์ ์ํ ํ์์๊ฒ ํ ๋นํด์ฃผ๋ ๊ณ ์ ํ ์์ด๋์ด๋ค.๋ก๊ทธ์ธ์ ์ฑ๊ณตํ ํ์์๊ฒ ๊ฐ๊ฐ `session`์ ๋ถ์ฌํด์ฃผ๋ ๊ณผ์ ์ ๊ตฌํํด๋ณด์. `loginAction.jsp`์ `session`์ ์ค์ ํด์ฃผ๋ `session.setAttribute()` ์ฝ๋ ํ ์ค ํ์ดํ!`joinAction.jsp`์๋ ์ฝ๋ ๋ณต๋ถํด์ ๋ฃ์ด ์ค๋ค.๋ก๊ทธ์ธ ์ฑ๊ณตํ ํ์์๊ฒ ์ธ์
๋ถ์ฌํ๊ณ ๋ฉ์ธ ํ์ด์ง๋ก ๋์ด๊ฐ๊ฒ๋ ํด ์ค๋ค. ์ด๋ ๊ฒ ์ธ์
์ ์ค์ ํด ์ฃผ์๋ค. ์ธ์
์ ํด์ ํ๊ธฐ ์ ๊น์ง๋ ์ ํจํ๊ธฐ ๋๋ฌธ์ ํ ๋นํ ์ธ์
์ ํด์ ํ ์ ์๋ ๋ก๊ทธ์์ ํ์ด์ง๋ ๋ง๋ค์ด ์ฃผ์. `joinAc..
์ ๋ฒ์ ํ์๊ฐ์
์์ `join.jsp` ๊น์ง ๋ง๋ค์๋ค. ์ค๋์ userDAO ํด๋์ค์ ํ์๊ฐ์
์ ์ฒ๋ฆฌํ๋ ๋ฉ์๋๋ฅผ ํ๋ ์ถ๊ฐํด ์ค๊ฒ์ด๋ค.DAO ํด๋์ค๋ ์ค์ ๋ก DB์ ์ ๊ทผํด์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ์ญํ ์ ํ๋ ๋ฐ์ดํฐ ์ ๊ทผ ๊ฐ์ฒด์ด๋ค.๊ทธ๋ฆฌ๊ณ ์ฒ๋ฆฌ๋ ๊ฒฐ๊ณผ๊ฐ์ ๊ฐ์ ธ์์ View ์ฒ๋ฆฌํ๋ `join Action.jsp` ๊น์ง ๋ง๋ค์ด ๋ณผ ๊ฒ์ด๋ค. ๋จผ์ userDAO ํด๋์ค๋ก ๊ฐ๋ค.login ๋ฉ์๋ ์๋์ join ๋ฉ์๋๋ฅผ ๋ง๋ค์ด ์ค๋ค.// ํ์๊ฐ์
์ฒ๋ฆฌ ๋ก์ง public int join(User user) { String SQL = "INSERT INTO USER VALUES(?, ?, ?, ?, ?)"; try { psmt = conn.prepareStatem..