๐ŸŒฎ Personal Project/shoppingmall service

๊ด€๋ฆฌ์ž :: ์—…์ฒด ๋“ฑ๋ก

๋ฐ”์ฟ„๋ฆฌ 2021. 9. 16. 16:14

๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ์—…์ฒด(seller)๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋ณด์ž

 

 

์šฐ์„  ํŒ๋งค์ž ํŽ˜์ด์ง€์— ์ •์ƒ์ ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.

(controller์™€ jsp์‚ฌ์šฉ)

 

์ด์ œ jsp์—์„œ ์—…์ฒด๋ฅผ ์ž…๋ ฅํ•˜๋Š” table์„ ๋งŒ๋“ค์–ด์ฃผ์ž

 

seller.jsp

์ด๋ ‡๊ฒŒ jsp์—์„œ table์„ ๋งŒ๋“ค์–ด์ฃผ๋ฉด seller page์—๋Š”

 

์ด๋ ‡๊ฒŒ ์ƒ์„ฑ์ด ๋œ๋‹ค.

์‚ด์ง css๋กœ ์˜ˆ์˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋ฉด

 

์งœ- ์ž”-

์‚ฌ์‹ค css ๊ฑด๋“ค๋‹ค๋ณด๋ฉด ํ•˜๋‚˜ํ•˜๋‚˜ ์กฐ๊ธˆ์”ฉ ๋ฐ”๋€Œ๋Š” ๋ชจ์Šต์„ ํ™•์ธํ•˜๋Š”๊ฒŒ ์žฌ๋ฏธ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ์€๊ทผํžˆ ์‹œ๊ฐ„์„ ๋งŽ์ด ์“ฐ๊ฒŒ๋œ๋‹ค .. ๊ทผ๋ฐ .. ?

๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋งŒ ๋งŒ์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ .. (์™œ๋ƒ๋ฉด ์–ด๊นจ ๋„ˆ๋จธ๋งŒ ๋ณด๊ณ  ๋”ฐ๋ผํ•˜๋‹ˆ๊นŒ ..)

css์— ์‹œ๊ฐ„ ์ ˆ๋Œ€ ์•ˆ์จ์•ผ์ง€ ๋‹ค์งํ•˜๋ฉด์„œ ํ•˜์ง€๋งŒ

์€๊ทผํžˆ ์‹œ๊ฐ„์„ ์“ด๊ฑธ ํ™•์ธํ•˜๋ฉด์€ ์‚ด์ง ํ˜„ํƒ€ ์˜จ๋‹ค

์†์œผ๋กœ "๋‚˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์ค€๋น„์ƒ์ธ๋ฐ ์ด๊ฑธ ๋‚ด๊ฐ€ ์™œ ํ•˜๊ณ ์žˆ์ง€?" ์ด๋ ‡๊ฒŒ ..

์•”ํŠผ .. ํ•˜๊ณ ๋‚˜๋ฉด ๊ธฐ๋ถ„์€ ์ข‹์œผ๋‹ˆ .. ์—ฌ๊ธฐ์„œ ๋งŒ์กฑํ•˜๋Š” ๊ฑธ๋กœ ใ…Žใ…Ž

 

์ € ๋“ฑ๋กํ•˜๊ธฐ ๋ฒ„ํŠผ์„ js์—์„œ ํ™œ์„ฑํ™” ์‹œํ‚ค๋„๋ก ํ•˜์ž

 

seller.js

seller.js๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ , seller.jsp์— ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.

( <script src="/assets/js/seller.js"></script> )

 

js๊ฐ€ ์ž˜ ์—ฐ๊ฒฐ๋˜์–ด์„œ, ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋œ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

seller.js

๋“ฑ๋กํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ,

์กฐ๊ฑด๋“ค์„ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค. 

์ถ”๊ฐ€ํ•œ ์กฐ๊ฑด๋“ค์€ ์œ„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ๋ชจ๋“  ํ•ญ๋ชฉ๋“ค์„ ์ž…๋ ฅํ•ด์•ผํ•˜๋ฉฐ,

์•„์ด๋””๋Š” 4์ž ์ด์ƒ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” 6์ž ์ด์ƒ ์ž…๋ ฅํ•ด์•ผํ•œ๋‹ค.

๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ๊นŒ์ง€ ์ž…๋ ฅํ•ด์•ผํ•œ๋‹ค.

ํ‹€๋ฆฌ๊ฒŒ ์ž…๋ ฅํ–ˆ์„ ์‹œ์— returnํ•œ๋‹ค.

 

์ž˜ ์ž‘๋™๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ

 

์ด์ œ ์ž…๋ ฅํ•œ ๊ฐ’์„ DB์— ๋„ฃ์–ด์ฃผ๋Š” ์ž‘์—…์„ ํ•˜๊ธฐ์œ„ํ•ด VO๋ฅผ ์ƒ์„ฑํ•  ๊ฒƒ์ด๋‹ค.

์‚ฌ์ „์— ๋งŒ๋“  DB table์„ ๋ณด๋ฉด

 

seller_info table

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ์„ฑ๋˜์–ด ์žˆ๊ธฐ์— ์ด๊ฒƒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ VO๋ฅผ ๋งŒ๋“ค์–ด ์ค„ ๊ฒƒ์ด๋‹ค.

 

sellerVO.java

VO ์ƒ์„ฑ ์™„๋ฃŒ

 

SellerAPIController.java

API๋„ ์ƒ์„ฑํ•ด์ฃผ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค.

 

seller.js

js๋กœ ๋Œ์•„์™€์„œ ์ž…๋ ฅํ•œ ๊ฐ’์„ sellerInfo๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ ,

ajax๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋ณด๋‹ˆ,

๋ฐ”๋ณด๊ฐ™์ด mapper์™€ service๋ฅผ ์ž…๋ ฅ ์•ˆํ–ˆ๊ตฌ๋‚˜

 

์–ผ๋ฅธ ์ž…๋ ฅํ•˜๋Ÿฌ ๊ฐ‘๋‹ˆ๋‹ค.

 

sellerMapper.xml

mapper.xml ์ž‘์„ฑํ–ˆ์œผ๋‹ˆ, mapper.java๋ฅผ ์ž…๋ ฅํ•˜๋Ÿฌ๊ฐ€์ž

 

sellerMapper.java

 

mapper.java ์ž‘์„ฑํ•˜๋ฉด ์ด์ œ ์ž๋™์œผ๋กœ ๊ฐ€์•ผํ•˜๋Š” service

 

sellerService.java

service์—์„œ return๊ฐ’์„ boolean์œผ๋กœ ์ฃผ์–ด์„œ ์—ฌ๊ธฐ์„œ false์™€ true ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค.

์ „์—๋Š” ์ด ์ฒ˜๋ฆฌ๋ฅผ controller์—์„œ ํ•ด์ฃผ์—ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒํ•˜๋ฉด controller๊ฐ€ ๊ต‰์žฅํžˆ ๊ธธ์–ด์ง€๊ณ  ์ง€์ €๋ถ„ํ•ด์ง„๋‹ค.

 

์ด ์„œ๋น„์Šค๋ฅผ ํ˜„์žฌ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์‡ผํ•‘๋ชฐ ์„œ๋น„์Šค์—์„œ

์—…์ฒด ๋“ฑ๋กํ•˜๋Š” ๋ฐ๋งŒ ์“ฐ์ด๊ณ  ์žˆ์–ด์„œ controller์—์„œ ์ฒ˜๋ฆฌํ•ด์ค˜๋„ ๋ฌด๋ฐฉํ•˜๋‚˜,

๋‚˜์ค‘์— ํ”„๋กœ์ ํŠธ๊ฐ€ ์ปค์งˆ๊ฒƒ์„ ๋Œ€๋น„ํ•ด์„œ

(์Œ.. ์œ ์ง€๋ณด์ˆ˜์ ์ธ ๊ด€์ ์ด๋ผ๊ณ ๋„ ๋งํ• ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค)

service์ชฝ์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ด์ฃผ๊ฒ ๋‹ค.

(์ด์ œ ๊ณ„์† ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌํ•ด์ค„ ๊ฒƒ์ด๋‹ค.)

 

serive๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์—ˆ์œผ๋‹ˆ API์— service๋ฅผ ์—ฐ๊ฒฐํ•˜๋Ÿฌ๊ฐ€์ž

 

SellerAPIController.java

๊ทธ๋Ÿผ ์ด์ œ DB์— ๋„ฃ์„ ์ค€๋น„๋Š” ํ•ด ์ฃผ์—ˆ๋‹ค.

 ์—…์ฒด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  DB์— ๋“ค์–ด๊ฐ€๋Š” ์ง€ ํ™•์ธํ•ด๋ณด์ž

 

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ •์ƒ์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‹ค์Œ ๊ฒŒ์‹œ๋ฌผ์—๋Š” ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•ด์„œ ์•„๋ž˜์— ๋ณด์—ฌ์ฃผ๋„๋ก ํ•˜์ž

 

 

 

 

++ ์ถ”๊ฐ€ ๋‚ด์šฉ

 

๋ณด์™„ํ•  ์ ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ˆ˜์ •ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์€ ํ™•์ธํ–ˆ์œผ๋‚˜, ์•„์‰ฌ์› ๋˜ ์ ์€

 

1. ํšŒ์›๊ฐ€์ž…์„ ์™„๋ฃŒํ–ˆ์„ ๋•Œ ์•„๋ฌด๋Ÿฐ alert์ด ๋œจ์ง€์•Š์•„์„œ

db์— ๋“ค์–ด๊ฐ”๋Š”์ง€ ์ง์ ‘ ํ™•์ธ์„ ํ•ด์•ผํ•œ๋‹ค๋Š” ์ 

 

2. ํšŒ์›๊ฐ€์ž… ํ›„, ์ž…๋ ฅํ–ˆ๋˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ทธ๋Œ€๋กœ input์นธ์— ๋“ค์–ด๊ฐ€์žˆ์–ด์„œ

์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๊ฑฐ๋‚˜, ์†์ˆ˜ ์ง€์›Œ์„œ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์•ผํ•œ๋‹ค๋Š” ์ 

 

3. name ๊ฐ’์ด ์ด๋ฆ„์ด ์•„๋‹Œ, ์—…์ฒด๋ช…์œผ๋กœ ์•ˆ๋‚ด๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์ 

 

์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ์–ด์„œ ๋ณด์™„ํ•ด๋ณด๋ คํ•œ๋‹ค.

 

์ฒซ๋ฒˆ์งธ 1. alert์„ ๋„์–ด์ฃผ๋Š” ๊ฒƒ๊ณผ 2. ์ƒˆ๋กœ๊ณ ์นจ์„ ๋™์‹œ์— ํ•ด์ฃผ์ž

 

์šฐ์„  API์—์„œ 

 

SellerAPIController.java

์ด๋ ‡๊ฒŒ ์ถ”๊ฐ€๋ฅผ ํ•ด์ค€๋‹ค.

  ๊ทธ๋ฆฌ๊ณ ๋Š” js๋กœ ๊ฐ€์„œ,

 

seller.js

์„ฑ๊ณตํ–ˆ์„ ๋•Œ, 

alert๊ณผ location.reload(); (--> ์ƒˆ๋กœ๊ณ ์นจ) ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์—…์ฒด ๋“ฑ๋ก์„ ์‹œ๋„ํ•ด๋ณด์ž

 

 

๋“ฑ๋ก ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ์‹œ์—,

alert์ด ๋œจ๊ณ 

db์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ํ™•์ธํ•ด์ฃผ์—ˆ๋‹ค.

 

3. ์ด๋ฆ„ -> ์—…์ฒด๋ช…

์ด ์นœ๊ตฌ๋Š” jsp์—์„œ td๋งŒ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋˜๊ธฐ์—

๊ฒฐ๊ณผ๋งŒ ํ™•์ธํ•ด์ฃผ๊ฒ ๋‹ค.