์ค๋์ ๋ช
์ธ
" ๊ตญ๊ฐ๊ฐ ๋น์ ์ ์ํด ๋ฌด์์ ํ ์ ์์์ง ๋ฌป์ง ๋ง๊ณ , ๋น์ ์ด ๊ตญ๊ฐ๋ฅผ ์ํด ๋ฌด์์ ํ ์ ์์์ง ๋ฌผ์ด๋ผ. "
- ์กด F. ์ผ๋ค๋
(๋ฏธ๊ตญ 35๋ ๋ํต๋ น)
Swagger(Springdoc OpenAPI)์์ ๋ถํ์ํ ์ปฌ๋ผ์ด ๋ณด์ด๋ ์ด์ ๋API ์๋ต์ DTO๋ฅผ ์จ์ผ ํ๋๋ฐ Entity๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. โ ๋ฌธ์ @GetMapping("/users/{id}")public UserEntity getUser(@PathVariable Long id) { return userService.getUser(id);}UserEntity๋ฅผ ์ง์ ๋ฐํํ๋ฏ๋ก, Swagger์์ ๋ชจ๋ ํ๋(password, phoneNumber ๋ฑ)๊ฐ API ๋ฌธ์์ ํฌํจ๋๋ค. โ
ํด๊ฒฐ๋ฒโ Swagger์์ ๋ถํ์ํ ์ปฌ๋ผ์ด ๋ณด์ด๋ฉด, Entity ๋์ DTO๋ฅผ ์ฌ์ฉํ์@GetMapping("/users/{id}")public UserDto getUser(@PathVariable Lon..
1. DAO (Data Access Object)DAO๋ DB์ ์ง์ ํต์ ์ ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ๊ฐ์ ธ์ค๋ ๊ฐ์ฒด์ด๋ค.์ฌ์ฉ์ฒ : `MyBatis` ํน์ `JPA`์ ๊ฐ์ ORM์์ ์ค์ ๋ก DB ์ ๊ทผ์ ๋ด๋นํ๋ ๊ฐ์ฒดํน์ง: ๋ณดํต ์ธํฐํ์ด์ค + Mapper (XML or ์ด๋
ธํ
์ด์
๋ฐฉ์)์ผ๋ก ๊ตฌ์ฑ๋จ ์์ (MyBatis)import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Param;@Mapperpublic interface UserDAO { // ..
๊พธ๋ฏธ๊ธฐ ๋ผ๊ณ ํ๊ธฐ์๋ ์์ํ์ง๋ง๋ถํธ์คํธ๋ฉ ์์ฑ ๊ณต๋ถํ๋ ์๊ฐ ๋ค๋น๊ฒ์ด์
๋ฐ ์๋ ๋ฉ์ธ ์์ญ์ ๋ถํธ์คํธ๋ฉ์ผ๋ก ์๊ฐ๊ธ ์ถ๊ฐmain์์ญ์ด๋ผ๊ณ ํด์ผ ํ ์ง content ์์ญ์ด๋ผ๊ณ ํด์ผ ํ ์ง 1. ์๊ฐ๊ธ ์ถ๊ฐ `jumbotron`ํ์ด์ง ๋ด์์ ๊ฐ์กฐํ๋ ํ์ด๋ก ์น์
์ด๊ณ ํฐ ํ
์คํธ์ ์ฌ๋ฐฑ์ ๊ธฐ๋ณธ์ผ๋ก ํฌํจํจ๋ถํธ์คํธ๋ฉ 5์์๋ Jumbotron ํด๋์ค๊ฐ ์ ๊ฑฐ๋์๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ํด๋์ค๋ฅผ ์กฐํฉํด์ ๋น์ทํ ํจ๊ณผ๋ฅผ ์๋์ผ๋ก ๋ด์ผ ํ๋ค. `rounded`์์์ ๋ชจ์๋ฆฌ๋ฅผ ๋ฅ๊ธ๊ฒ ๋ง๋ฌ border-radius: 0.375rem (์ฝ 6px)์ฌ๊ธฐ์ rounded-circle, rounded-pill ์ฐ๋ฉด ๋ ๊ทน๋จ์ ์ผ๋ก(?) ๋ฅ๊ทผ ์คํ์ผ ๊ฐ๋ฅ`display-4`ํ
์คํธ๋ฅผ ํฌ๊ฒ ํ์ํ๋ ํค๋ฉ ์คํ์ผ๋ถํธ์คํธ๋ฉ์ ๋์คํ๋ ์ด ํด๋์ค์ธ๋ฐ ..
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 ์์ญ์ ์ก์ ์ฃผ๊ณ ํ
์ด๋ธ์ ๋ง๋ค์ด์ฃผ์. ๋ฒํธ ..
'ํ๋ก๊ทธ๋๋ฐ์ธ์ด/Spring&JSP' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ |
Q
Q
|
์ ๊ธ ์ฐ๊ธฐ |
W
W
|
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ) |
E
E
|
๋๊ธ ์์ญ์ผ๋ก ์ด๋ |
C
C
|
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ |
S
S
|
๋งจ ์๋ก ์ด๋ |
T
T
|
ํฐ์คํ ๋ฆฌ ํ ์ด๋ |
H
H
|
๋จ์ถํค ์๋ด |
Shift + /
โง + /
|
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.