โ๏ธ ์๋ณธ์์ ์๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์์งํ๋ ๊ฒโ๏ธ ์น, ํ๋ก๊ทธ๋จ ๋ฐ ๋ฌธ์์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋๋ฐ ์ฌ์ฉWebsites with HTML pages โก๏ธ Web Scraping Technology โก๏ธ Structured Data(excel, powerpo
๐ก RDP(Remote Desktop Protocol) > โ๏ธ __์๊ฒฉ ๋ฐ์คํฌํ ํ๋กํ ์ฝ : ๋ง์ดํฌ๋ก์ํํธ์ฌ๊ฐ ๊ฐ๋ฐํ ๋ฐ์คํฌํ ์ปดํจํฐ๋ฅผ ์๊ฒฉ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ํ๋กํ ์ฝ__ ๋ค๋ฅธ PC์ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต ๋ง์ดํฌ๋ก์ํํธ > โ๏ธ GUI(๊ทธ๋ํฝ ์ฌ์ฉ์
๐ก EDI(Electronic Data Interchange) > ํํธ๋๊ฐ์ ํ์ํ ๊ฐ์ข ์๋ฅ๋ฅผ ํ์คํ๋ ์์์ด๋ ํฉ์๋ ํต์ ํ์ค์ ๋ฐ๋ผ ๋ฌธ์๋ฅผ ์ปดํจํฐ๊ฐ ๊ตํํ๋ ๊ฒ ๊ธฐ์ ๊ฐ ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊ตํ ๐ก SSO(Single Sign-On) > ํ๋์ ์์ด๋ ๋ฐ ํจ
Spring์์ redirect๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง๋ฅผ ์ด๋ํ ๋, ๊ธฐ๋ณธ์ ์ผ๋ก model ๊ฐ์ ๋ณด๋ด์ง์ง ์๋๋ค. Redirect๋ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ก์ด URL๋ก ์ด๋ํ๋ผ๋ ์ง์๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ด๋ฏ๋ก, ์ด๋ํ ํ์ด์ง์์๋ ์ด์ ์์ฒญ๊ณผ๋ ๋ณ๊ฐ๋ก ์๋ก์ด ์์ฒญ์ด ๋ฐ์ํ๋ค.๊ทธ๋ฌ๋ S
์์๋ค ๋จผ์ ๋ฑ๋ก ํด ์ค๋ค.๋ต๊ธ ๋๋ฅผ ๋ ์ ๋๋๊ธ ๋ฑ๋ก div๊ฐ ๋์ค๊ฒ ํ ๊บผ์!โก๏ธ ์ผ๋จ ์๋ณด์ด๊ฒ ๋ง๋ ๋ค: style="display: none ์ฒ๋ฆฌ๋ต๊ธ์ ๋๋ฅด๋ฉด ์์น๋ฅผ ์ฎ๊ธฐ๊ณ ๋ค์ style="display: block ์ผ๋ก ๋ง๋ค๋ฉด ๋๋ค.1๏ธโฃ replyForm์
โ๏ธ 6. ๋ทฐ(UI) ์์ฑ & ํ ์คํธ bno๋ฅผ 1๋ก ๊ฐ์ ํ๊ณ bno๊ฐ ํธ์ถ์ด ๋๋ฉด GET์ผ๋ก ์์ฒญ์ด ๊ฐ์ 1๋ฒ์ ์๋ ๋๊ธ๋ค์ ๋ค ๊ฐ์ ธ์จ๋ค.
๐ก ๋๊ธ ๊ธฐ๋ฅ ๊ตฌํ ์์ > โ๏ธ 1. DBํ ์ด๋ธ ์์ฑ ๋๊ธ ๊ธฐ๋ฅ์ ๋ฃ์ ๋๋ ๋จผ์ DBํ ์ด๋ธ์ ์์ฑํด ์ค์ผ ํ๋ค. > โ๏ธ 2. Mapper XML ์์ฑ ์ค๊ฐ์ MyBatis ์์ฑ โก๏ธ Mapper XML ์ฆ, SQL๋ฌธ์ ์์ฑํด์ผ ํ๋ค. โก๏ธ CRUD ์์ฑ
โ๏ธ ์๋ฐ 5๋ถํฐ ๋์ ๋ ๊ธฐ๋ฅ์ผ๋ก, ๊ธฐ๋ณธ ํ์ ๊ณผ ํด๋นํ๋ ๋ํผ ํด๋์ค ์ฌ์ด์ ์๋ ๋ณํ์ ์ง์Java์์ Integer๋ฅผ ์ฌ์ฉํ ๋ NullPointerException์ด ๋ฐ์ํ์ง ์๋ ์ด์ ๋ ์๋ฐ์ ์คํ ๋ฐ์ฑ๊ณผ ๊ด๋ จ์ด ์๋ค. ์๋ฅผ ๋ค์ด, int ๊ฐ์ Integer ๊ฐ์ฒด
โ๏ธ JSON(Java Script Object Notation): ์๋ฐ ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ํ๊ธฐ๋ฒ์๋ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ XML์ ์ฌ์ฉํ์๋๋ฐ, ๋ณต์กํ๊ณ ์ค์ ๋ฐ์ดํฐ๋ณด๋ค ํ๊ทธ๊ฐ ๋ ๋ง๋ค.๋ฐฐ ๋ณด๋ค ๋ฐฐ๊ผฝ์ด ๋ ๋ง์ ์ํฉ์ด ๋๋ฒ๋ฆผโก๏ธ ๊ฐ๋จํ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ํ๊ธฐ๋ฒ์ ์ฐ
โ๏ธ DB์ ์ปค๋ฅ์ ์ ๋งบ๊ณ ์๋ ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด๋์ธ ์น ์ดํ๋ฆฌ์ผ์ด์ ์์, ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ Connection์ด ์์ฑ๋๋ค๋ฉด ์ ๋ง์ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ํ์ ๋ ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋๋ค.์ด๋ฌํ ์ํฉ์ ์๋ฐฉํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ์ผ์ ๊ฐฏ์์ Con
?page=1&pageSize=10&option=T&keyword="title"
โ๏ธ Division์ ์ฝ์๋ก, ๋ ์ด์์์ ๋๋๋๋ฐ ์ฃผ๋ก ์ด๋ค.
โ๏ธ ๋์ ์ฟผ๋ฆฌ: ๊ฒ์ํ ๋์์ ๋ญ๋ก ์ ํํ๋๋์ ๋ฐ๋ผ์ ์ฟผ๋ฆฌ๊ฐ ๋ฌ๋ผ์ ธ์ผ ํ๋ค. โ๏ธ ํ์ด์ง ์ด๋์ฒ๋ฆฌ: ๊ฒ์ํ ๊ฒฐ๊ณผ์์ ์ด๋ค ๋ด์ฉ์ ์ฝ์๋๋ฐ ๋ชฉ๋ก๋ณด๊ธฐ๋ฅผ ๋๋ ์ ๋ ํ์ด์ง ์ฒ๋ฆฌ๋ ์ ๊ฒฝ์จ์ผ ํ๋ค.๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ ๊ฒ์ด selectedoption๊ณผ keyword์ ๊ฐ์ ๋ฐ์์ผ
boardList.jsp์ ๊ธ์ฐ๊ธฐ ๋ฒํผ์ ํ๋ ์ถ๊ฐํ๊ณ ๋ฒํผ ํด๋ฆญํ๋ฉด BoardController์ wrtie() ์ ํธ์ถํ๊ฒ ๋ง๋ค ๊ฒwrite() ๋ board.jsp๋ฅผ ๋ณด์ฌ์ฃผ๋ฉด ๋๋ค.๊ฒ์๊ธ ์ฝ๊ธฐ: mode = new ๊ฒ์ํ ๊ธ์ฐ๊ธฐโก๏ธ ๊ฒ์ํ์ ์ฝ์ ๊ฒ์ธ์ง ์ธ ๊ฒ์ธ์ง
uri๊ฐ ๋๊ฐ์ด /board/write์ด์ง๋ง http๋ฉ์๋๋ฅผ ํตํด ๊ตฌ๋ณํ์๋ค.์์ ์์ post๋ฐฉ์์ผ๋ก ์ค๋ฉด ์์ ๋ ๊ฒ์๋ฌผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ค.boardList.jsp์์ ์ ๋ชฉ์ ํด๋ฆญํ๋ฉด ์ ๋ชฉ์ ๊ฑธ๋ ค์๋ ๋งํฌ์ ๋ฐ๋ผ์ ์์ฒญ์ด ๊ฐ๋ค. ๊ฒ์๋ฌผ ๋ฒํธ๊ฐ ๊ฐ์ด ๋ฐ๋ผ๊ฐBoar
โ๏ธ servlet-contex.xml: ์์ฒญ๊ณผ ๊ด๋ จ๋ ๊ฐ์ฒด๋ฅผ ์ ์url๊ณผ ๊ด๋ จ๋ controller๋, @(์ด๋ ธํ ์ด์ ), ViewResolver, Interceptor, MultipartResolver ๋ฑ์ ์ค์ ์ด๊ธฐ ํ์ผ์ ๋ณด๋ฉด, <!-- DispatcherSe
boardList.jsp๋ฅผ ๋ง๋ค๊ธฐ ์ ์ TDD๋ก ์ฐ๋ฆฌ๊ฐ ์ํ๋๋๋ก ํ์ด์ง์ด ๋๋์ง ํ ์คํธ ํด๋ณผ ๊ฒ์ด๋ค.board.jsp: ๊ฒ์๋ฌผ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด.: ํ์ฌ ํ์ด์ง์ ๊ฐ์ ๋๋ ค์ค์ผ ํ๋ฉด์ด ๋์จ๋ค.: ํ์ฌ ํ์ด์ง, ๋ค์ ํ ์ด์ง์๋ ๊ฐ ํ์ด์ง ๋ฒํธ๊ฐ ๊ฑฐ๊ธฐ์ ๋ง๊ฒ ๋งํฌ๊ฐ