๊ด๋ฆฌ์ :: ์ ์ฒด ๋ฑ๋ก
๊ด๋ฆฌ์ ํ์ด์ง์์ ์ ์ฒด(seller)๋ฅผ ๋ฑ๋กํ ์ ์๋๋ก ํด๋ณด์
์ฐ์ ํ๋งค์ ํ์ด์ง์ ์ ์์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ๊ฒ์ ํ์ธํ์๋ค.
(controller์ jsp์ฌ์ฉ)
์ด์ jsp์์ ์ ์ฒด๋ฅผ ์ ๋ ฅํ๋ table์ ๋ง๋ค์ด์ฃผ์
์ด๋ ๊ฒ jsp์์ table์ ๋ง๋ค์ด์ฃผ๋ฉด seller page์๋
์ด๋ ๊ฒ ์์ฑ์ด ๋๋ค.
์ด์ง css๋ก ์์๊ฒ ๋ง๋ค์ด์ฃผ๋ฉด
์ง- ์-
์ฌ์ค css ๊ฑด๋ค๋ค๋ณด๋ฉด ํ๋ํ๋ ์กฐ๊ธ์ฉ ๋ฐ๋๋ ๋ชจ์ต์ ํ์ธํ๋๊ฒ ์ฌ๋ฏธ์๋ค.
๊ทธ๋์ ์๊ทผํ ์๊ฐ์ ๋ง์ด ์ฐ๊ฒ๋๋ค .. ๊ทผ๋ฐ .. ?
๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ง ๋ง์ง ์ ์์ผ๋ฉฐ .. (์๋๋ฉด ์ด๊นจ ๋๋จธ๋ง ๋ณด๊ณ ๋ฐ๋ผํ๋๊น ..)
css์ ์๊ฐ ์ ๋ ์์จ์ผ์ง ๋ค์งํ๋ฉด์ ํ์ง๋ง
์๊ทผํ ์๊ฐ์ ์ด๊ฑธ ํ์ธํ๋ฉด์ ์ด์ง ํํ ์จ๋ค
์์ผ๋ก "๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ค๋น์์ธ๋ฐ ์ด๊ฑธ ๋ด๊ฐ ์ ํ๊ณ ์์ง?" ์ด๋ ๊ฒ ..
์ํผ .. ํ๊ณ ๋๋ฉด ๊ธฐ๋ถ์ ์ข์ผ๋ .. ์ฌ๊ธฐ์ ๋ง์กฑํ๋ ๊ฑธ๋ก ใ ใ
์ ๋ฑ๋กํ๊ธฐ ๋ฒํผ์ js์์ ํ์ฑํ ์ํค๋๋ก ํ์
seller.js๋ฅผ ์์ฑํด์ฃผ๊ณ , seller.jsp์ ์ฐ๊ฒฐํด์ค๋ค.
( <script src="/assets/js/seller.js"></script> )
js๊ฐ ์ ์ฐ๊ฒฐ๋์ด์, ๋ฒํผ์ด ํ์ฑํ ๋๊ฒ์ ํ์ธํ ์ ์๋ค.
๋ฑ๋กํ๊ธฐ ๋ฒํผ์ ๋๋ ์ ๋,
์กฐ๊ฑด๋ค์ ์ถ๊ฐํด์ฃผ์๋ค.
์ถ๊ฐํ ์กฐ๊ฑด๋ค์ ์์์ ๋ณผ ์ ์๋ฏ์ด ๋ชจ๋ ํญ๋ชฉ๋ค์ ์ ๋ ฅํด์ผํ๋ฉฐ,
์์ด๋๋ 4์ ์ด์, ๋น๋ฐ๋ฒํธ๋ 6์ ์ด์ ์ ๋ ฅํด์ผํ๋ค.
๋น๋ฐ๋ฒํธ๋ ๋น๋ฐ๋ฒํธ ํ์ธ๊น์ง ์ ๋ ฅํด์ผํ๋ค.
ํ๋ฆฌ๊ฒ ์ ๋ ฅํ์ ์์ returnํ๋ค.
์ ์๋๋๋์ง ํ์ธํ๊ธฐ
์ด์ ์ ๋ ฅํ ๊ฐ์ DB์ ๋ฃ์ด์ฃผ๋ ์์ ์ ํ๊ธฐ์ํด VO๋ฅผ ์์ฑํ ๊ฒ์ด๋ค.
์ฌ์ ์ ๋ง๋ DB table์ ๋ณด๋ฉด
๋ค์๊ณผ ๊ฐ์ด ์์ฑ๋์ด ์๊ธฐ์ ์ด๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก VO๋ฅผ ๋ง๋ค์ด ์ค ๊ฒ์ด๋ค.
VO ์์ฑ ์๋ฃ
API๋ ์์ฑํด์ฃผ๊ณ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ค๋ค.
js๋ก ๋์์์ ์ ๋ ฅํ ๊ฐ์ sellerInfo๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ฃผ๊ณ ,
ajax๋ฅผ ์ ๋ ฅํ๊ณ ๋ณด๋,
๋ฐ๋ณด๊ฐ์ด mapper์ service๋ฅผ ์ ๋ ฅ ์ํ๊ตฌ๋
์ผ๋ฅธ ์ ๋ ฅํ๋ฌ ๊ฐ๋๋ค.
mapper.xml ์์ฑํ์ผ๋, mapper.java๋ฅผ ์ ๋ ฅํ๋ฌ๊ฐ์
mapper.java ์์ฑํ๋ฉด ์ด์ ์๋์ผ๋ก ๊ฐ์ผํ๋ service
service์์ return๊ฐ์ boolean์ผ๋ก ์ฃผ์ด์ ์ฌ๊ธฐ์ false์ true ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์๋ค.
์ ์๋ ์ด ์ฒ๋ฆฌ๋ฅผ controller์์ ํด์ฃผ์๋ค.
๊ทธ๋ ๊ฒํ๋ฉด controller๊ฐ ๊ต์ฅํ ๊ธธ์ด์ง๊ณ ์ง์ ๋ถํด์ง๋ค.
์ด ์๋น์ค๋ฅผ ํ์ฌ ์งํํ๊ณ ์๋ ์ผํ๋ชฐ ์๋น์ค์์
์ ์ฒด ๋ฑ๋กํ๋ ๋ฐ๋ง ์ฐ์ด๊ณ ์์ด์ controller์์ ์ฒ๋ฆฌํด์ค๋ ๋ฌด๋ฐฉํ๋,
๋์ค์ ํ๋ก์ ํธ๊ฐ ์ปค์ง๊ฒ์ ๋๋นํด์
(์.. ์ ์ง๋ณด์์ ์ธ ๊ด์ ์ด๋ผ๊ณ ๋ ๋งํ ์ ์์ ๊ฒ ๊ฐ๋ค)
service์ชฝ์์ ์ฒ๋ฆฌํ๋๋ก ํด์ฃผ๊ฒ ๋ค.
(์ด์ ๊ณ์ ์ด๋ ๊ฒ ์ฒ๋ฆฌํด์ค ๊ฒ์ด๋ค.)
serive๋ฅผ ์์ฑํด์ฃผ์์ผ๋ API์ service๋ฅผ ์ฐ๊ฒฐํ๋ฌ๊ฐ์
๊ทธ๋ผ ์ด์ DB์ ๋ฃ์ ์ค๋น๋ ํด ์ฃผ์๋ค.
์ ์ฒด๋ฅผ ์ ๋ ฅํ๊ณ DB์ ๋ค์ด๊ฐ๋ ์ง ํ์ธํด๋ณด์
๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์์ ์ผ๋ก ๋ค์ด๊ฐ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
๋ค์ ๊ฒ์๋ฌผ์๋ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์คํธ ํ์์ผ๋ก ์ถ๋ ฅํด์ ์๋์ ๋ณด์ฌ์ฃผ๋๋ก ํ์
++ ์ถ๊ฐ ๋ด์ฉ
๋ณด์ํ ์ ์ด ์๋ ๊ฒ ๊ฐ์์ ์์ ํ๋๋ก ํ๊ฒ ๋ค.
๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๋ ๊ฒ์ ํ์ธํ์ผ๋, ์์ฌ์ ๋ ์ ์
1. ํ์๊ฐ์ ์ ์๋ฃํ์ ๋ ์๋ฌด๋ฐ alert์ด ๋จ์ง์์์
db์ ๋ค์ด๊ฐ๋์ง ์ง์ ํ์ธ์ ํด์ผํ๋ค๋ ์
2. ํ์๊ฐ์ ํ, ์ ๋ ฅํ๋ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋๋ก input์นธ์ ๋ค์ด๊ฐ์์ด์
์๋ก๊ณ ์นจ์ ํ๊ฑฐ๋, ์์ ์ง์์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ผํ๋ค๋ ์
3. name ๊ฐ์ด ์ด๋ฆ์ด ์๋, ์ ์ฒด๋ช ์ผ๋ก ์๋ด๋์ด์ผ ํ๋ค๋ ์
์ด๋ ๊ฒ 3๊ฐ์ง๊ฐ ์์ด์ ๋ณด์ํด๋ณด๋ คํ๋ค.
์ฒซ๋ฒ์งธ 1. alert์ ๋์ด์ฃผ๋ ๊ฒ๊ณผ 2. ์๋ก๊ณ ์นจ์ ๋์์ ํด์ฃผ์
์ฐ์ API์์
์ด๋ ๊ฒ ์ถ๊ฐ๋ฅผ ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ๋ js๋ก ๊ฐ์,
์ฑ๊ณตํ์ ๋,
alert๊ณผ location.reload(); (--> ์๋ก๊ณ ์นจ) ์ ์ถ๊ฐํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ์ ์ฒด ๋ฑ๋ก์ ์๋ํด๋ณด์
๋ฑ๋ก ๋ฒํผ์ ํด๋ฆญํ์ ์์,
alert์ด ๋จ๊ณ
db์ ๋ค์ด๊ฐ๋ ๊ฒ์ ํ์ธํด์ฃผ์๋ค.
3. ์ด๋ฆ -> ์ ์ฒด๋ช
์ด ์น๊ตฌ๋ jsp์์ td๋ง ์์ ํด์ฃผ๋ฉด ๋๊ธฐ์
๊ฒฐ๊ณผ๋ง ํ์ธํด์ฃผ๊ฒ ๋ค.