Java Spring 아이디 중복체크
첫 번째로 만든 것은 회원가입 기능이다
생각보다 조건들이 많아서 2회에 걸쳐 포스팅하려 한다
[ Part 1 진행 순서 ]
- UI 구성
- 아이디 중복확인 기능 (비즈니스 로직)
첫 번째로, 회원가입 UI 등록 폼을 만들었다
jsp 파일에서 bootstrap을 이용하여 폼들을 구성하였고
사용자에게 회원가입 예시를 보여주기 위해 placeholder를 많이 사용하였다
Java에서 기본적으로 제공해주는 password type으로 비밀번호는 사용자 눈에 보이지 않게끔 구성하였고
이메일 또한 기본적으로 제공해주는 email type으로 이메일 형식을 체크해주었다
여기서 아이디는 중복이 되면 안 되기 때문에
중복체크 버튼을 만들었고, 버튼 클릭 시 현재 DB에 같은 아이디가 있는지 조회해주는 비즈니스 로직을 구성하였다
중복 확인 버튼 클릭 시
fn_idChk 함수가 실행 되는데, 이때 화면에 이동이 있으면 안 되기 때문에
비동기 처리 방식으로 ajax를 사용하여 사용자가 입력한 아이디 값 = $("#userId"). val()를 data에 싣고
method는 post 방식으로 (Get 방식보다 보안이 강하기 때문에)
./idChk url로 데이터를 전송하였다
이후에 데이터가 정상적으로 넘어오면 1일 시에는 중복된 아이디고 0일 시에는 사용 가능한 아이디이기 때문에
if문을 통해 조건에 맞게 코드를 구현하였다
1과 0은 sql문에서 int형식으로 데이터를 조회했을 때,
해당 값이 있으면 1, 없으면 0을 return 해주기 때문이다 (1 이상 안 넘어가는 이유는 어차피 아이디가 2개 이상 늘어날 일이 없다)
비동기 처리 방식이기 때문에 RestController를 사용해야 한다
그렇기에 어노테이션으로 @ResponseBody를 붙여주었고
Post방식으로 넘어오기 때문에 @PostMapping 또한 등록해주었다
해당 컨트롤러로 값이(사용자가 입력한 ID값) 넘어오면 유저 VO로 자동 주입해주고,
그 vo를 mapper로 넘겨 DB 조회를 한다
앞서 말했듯이, int형식으로 넘겨받기 때문에 결과 또한 int형으로 지정한다
파일 구조에 맞게 총 4개의 파일을 추가한다
이때, Dao는 Data access object로 SQL을 직접적으로 조작하기 위해 사용되고
Service는 비즈니스 로직을 처리하는 데 사용한다
코드를 보면 쉽게 이해가 갈 것 같다
마지막으로 ibatis 문법을 이용해서 view단에서 controller를 거쳐 넘어온 사용자가 입력한 id 값을
실제 DB랑 조회해서 같은 것들을 카운트한다
만약 카운트된 것이 있으면 1을 return 받을 것이고, 없으면 0을 return 받을 것이다
컨트롤러에서 숫자를 다시 jsp단으로 보냄으로써 아이디 중복확인 기능을 마무리하였다
'Project > ToyProject' 카테고리의 다른 글
[R.Manager - Toy Project] 3st (회원가입 - 비밀번호 및 입력 체크) (0) | 2021.12.14 |
---|---|
[R.Manager - Toy Project] 1st (Main UI, ERD) (0) | 2021.12.11 |
[Baseball - Restrict console] 7th (InGame #2) (0) | 2021.08.01 |
[Baseball - Restrict console] 6th (InGame) (0) | 2021.08.01 |
[Baseball - Restrict console] 5th (change at bat / main) (0) | 2021.08.01 |