์คํ๋ง์ผ๋ก ๋ก๊ทธ์ธ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
์คํ๋ง ๊ณต๋ถํ๋ฉด์ ์ ๋ฆฌํ ๋ด์ฉ ์ ๋๋ค !
์ค๋ฅ๊ฐ ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์ :)
1. ๋ค์ด๊ฐ๊ธฐ ์
2. Controller
3. Service
4. joinForm.html
https://jcowwk.tistory.com/123
๋ณธ ํฌ์คํ ์ ์์ ํฌ์คํ ๊ณผ ์ด์ด์ง๋๋ค.
1. ๋ค์ด๊ฐ๊ธฐ ์
์์ ํฌ์คํ ์์๋ ๋ก๊ทธ์ธ ํผ ๋ง๋ค๊ธฐ, ํ์๊ฐ์ ์ฐฝ์ผ๋ก ์ด๋, ๊ฐ์ ์๋ฃ๋ฅผ ๋๋ ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ณด ์ ์ฅ๊น์ง ํ์ต๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ํ์๊ฐ์ ์์ id์ ์ค๋ณต ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ id๊ฐ ์ค๋ณต๋์ง ์์ ๊ฒฝ์ฐ์๋ง ๊ฐ์ ์๋ฃ๊ฐ ๋๋๋ก ํ๊ณ , ๋ก๊ทธ์ธ ์์ ์์ด๋์ ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ๋์ง ํ๋จํ์ฌ ๋ก๊ทธ์ธํ๋ ๊ธฐ๋ฅ๊น์ง ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค.
2. Controller
- ํ์๊ฐ์ ์ id ์ค๋ณต ์ฒดํฌ controller
์ ์ ํฌ์คํ ๊ณผ ๋น๊ตํ์ฌ controller์์ ๋ฌ๋ผ์ง ๋ถ๋ถ์ ์ด ๋ถ๋ถ์ ๋๋ค.
์ ์๋ ํจ์์ ๋งค๊ฐ๋ณ์ ๋ถ๋ถ์ด @ModelAttribute MemberDTO memberDTO๋ก ๋์ด์์ต๋๋ค.
๊ทธ ๋ถ๋ถ์ ๋๊ฐ์ด ๋ฐ๋ผํ์ จ๊ฑฐ๋ ์ ์ด๋ ๊ฒ ์ด์ง ๋ชจ๋ฅด๊ฒ ๋ค ํ์๋ ๋ถ์ ์ง๊ธ๋ถํฐ ํ๋ ์ค๋ช ์ ์ ๋ค์ด์ฃผ์ธ์.
์ ๋ ํท๊ฐ๋ ธ์ผ๋๊น์ใ ใ
๋งค๊ฐ๋ณ์ ๋ถ๋ถ์ด @ModelAttribute MemberDTO memberDTO ํ์์ผ๋ก ๋ ํจ์๋ ์๊ณ ,
@RequestParam("memberEmail") String memberEmail๋ก ํ์์ผ๋ก ๋ ํจ์๋ ๋ณด์ จ์ ๊ฒ๋๋ค.
์ฌ์ฉ์์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ณ ์ถ์ ๋ GET ๋ฐฉ์์ผ๋ก ์์ฒญ์ ๋ฐ์๋, POST ๋ฐฉ์์ผ๋ก ์์ฒญ์ ๋ฐ์๋์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋๋ค.
๊ทธ๋ฌ๋ฉด GET๊ณผ POST ๋ฐฉ์์ ์ด๋ค ์ฐจ์ด๊ฐ ์๊ธฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ค๋ฅด๊ฒ ํ๋ ๋ผ๋ ์๋ฌธ์ด ๋ค ์ ์์ต๋๋ค.
๊ฐ๋จํ ์ค๋ช ํ์๋ฉด POST๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ ๋ณด๋ฅผ ํผ์ ๋ด์์ ์ฃผ๊ณ , GET์ url์ ๋์ ํ๋ผ๋ฏธํฐ ๊ฐ์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค.
์์ ์ฝ๋๋ GET ๋ฐฉ์์ผ๋ก ์์ฒญ์ ๋ฐ์๊ธฐ ๋๋ฌธ์ @RequestParam("memberEmail") String memberEmail๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ์ต๋๋ค.
- ๋ก๊ทธ์ธ ์ ์์ด๋ ๋น๋ฐ๋ฒํธ ์ค๋ณต ์ฒดํฌ controller
์์ ์ฝ๋์ ๋น์ทํ๊ฒ loginCheck()์์ ์์ด๋์ ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ๋ฉด true, ์๋๋ฉด false๋ฅผ ๋ฐํํด์ ์๋ตํฉ๋๋ค.
3. Service
๋ค์์ controller์์ ํจ์๋ฅผ ํธ์ถํด์ ๋ด๋ ๋ณ์์ ์ ํ์ด ๋ฌ๋ผ์ก๊ธฐ ๋๋ฌธ์ service ํด๋์ค ์์ ๋ฉ์๋๋ ๋ณ๊ฒฝํด์ฃผ๊ฒ ์ต๋๋ค.
- ํ์๊ฐ์ ์ id ์ค๋ณต ์ฒดํฌ service
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์์ด๋๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉด true๋ฅผ return ํ๊ณ , ์กด์ฌํ์ง ์์ผ๋ฉด false๋ฅผ return ํ๋๋ก ํฉ๋๋ค.
- ๋ก๊ทธ์ธ ์ ์์ด๋ ๋น๋ฐ๋ฒํธ ์ค๋ณต ์ฒดํฌ service
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์์ด๋๊ฐ ์กด์ฌํ๋ฉด ํด๋น entity๋ฅผ dto๋ก ๋ณํํ์ฌ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ์ ์ผ์นํ๋์ง ๋น๊ตํ๊ณ , ์ผ์นํ๋ฉด true ๋ถ์ผ์นํ๋ฉด false๋ฅผ return ํฉ๋๋ค.
4. joinForm.html
์ค๋์ ํต์ฌ์ด๋ผ๊ณ ํ ์ ์๋ ๋ถ๋ถ์ ๋๋ค.
- html ๋ถ๋ถ
์ ์ ํฌ์คํ ์์๋ ํ์๊ฐ์ ์ idCheck()๋ฅผ ํ๋ฉด id์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํด์ฃผ๋ ๋ถ๋ถ์ ์กด์ฌํ์ผ๋, ์ด๋ฏธ ์กด์ฌํ์ฌ๋ ๊ฐ์ ์ ๊ฐ๋ฅํ์ต๋๋ค.
์์ด๋์ ์ค๋ณต ์ฌ๋ถ๋ฅผ ์ฒดํฌ๋ฅผ ํ์ง ์๊ณ ๊ฐ์ ์๋ฃ๋ฅผ ๋๋ฌ๋ ๊ฐ์ ์ด ๋๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋์ ๊ทธ ๋ถ๋ถ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ธ๊ฐ์ ๋ํด์ ๊ณ ๋ฏผํด๋ดค์ต๋๋ค.
์ฐ์ ์ฒ์๋ถํฐ ์์ด๋ ์ฒดํฌ๋ฅผ ํ๊ณ ๋ค์ ์นธ์ ์์ฑํ ์ ์๋๋ก ํ์์ต๋๋ค.
ํ์ธ ๋ฒํผ์ ๋๋ฌ์ ์ด๋ฏธ ์ค๋ณต๋ ์์ด๋์ธ์ง, ์๋์ง ํ์ธํ๊ธฐ ์ ๊น์ง ๋น๋ฐ๋ฒํธ์ ์ด๋ฆ์ ์ ๋ ฅํ ์ ์์ต๋๋ค.
์ฌ์ฉ์์ ์ ์ฅ์์ ๋น๋ฐ๋ฒํธ๋ ์ด๋ฆ์ ๋จผ์ ์ ๋ ฅํ๋ ค๊ณ ํ๋๋ฐ ์นธ์ด ๋๋ฌ์ง์ง ์์ผ๋ฉด ๋นํฉํ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํ์ฌ
์นธ์ ํด๋ฆญํ์ ๋ readonly๊ฐ true์ผ ๊ฒฝ์ฐ ์์ด๋ ํ์ธ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋์ฐ๋ ํจ์๋ฅผ ๋ง๋ค์์ต๋๋ค.
์์ด๋๋ฅผ ์ ๋ ฅํ๊ณ ์ ๋ ฅํ ์์ด๋๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉด ์ฌ์ฉํ ๊ฒ์ธ์ง ๋ฌป๋ ๊ฒฝ๊ณ ์ฐฝ์ ๋์ด ํ,
ํ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋น๋ฐ๋ฒํธ์ ์ด๋ฆ์ ์ ๋ ฅํ ์ ์๊ณ ์์ด๋ ์นธ์ readonly true๋ก ๋ฐ๋๊ฒ ๋ฉ๋๋ค.
์ด๋ฐ ๋ก์ง์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํด๋ดค์ต๋๋ค.
์ด๊ฒ๋ณด๋ค ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ์์ํ ๋ฐ ์ถํ์ ์ ์ง๋ณด์ํ ๋ ํ๋ฒ ๋ ๊ณ ๋ คํด๋ณด๊ฒ ์ต๋๋ค.
- script ๋ถ๋ถ์ idCheck()
- script ๋ถ๋ถ์ checkInputs(), idCheckMessage()
๋ค์ ํฌ์คํ ์์ ๋ง๋์๋ค ~