티스토리 뷰
이전 글에서 클라이언트 부분에서의 아이디 유효성 검사를 진행하였다.
(2019/04/29 - [웹 개발/EgovFramwork] - 전자정부 프레임워크로 회원가입 기능 구현하기 - 아이디 유효성 검사-1)
이번에는 클라이언트 쪽에서 보낸 Ajax 요청을 서버쪽에서 컨트롤러로 받아 Ajax로 받아온 데이터를 서비스, 맵퍼로
전달하고 DB에서 쿼리를 수행하여 중복된 아이디가 있는지 검사할 것이다.
URL 요청과정
위와 같이 화면에서 아이디를 입력하고 아이디 중복 확인 버튼을 누를 시
쿼리 스트링으로 loginId 데이터를 가지고 get 요청을 하게 된다.
(http://localhost:8080/registerExample/selectDupIdChk.do?loginId=spring123 -> 요청 URL은 다음과 같다)
컨트롤러 생성, 서비스, 맵퍼 생성
Controller, ServiceImpl은 클래스 / Service, Mapper는 인터페이스로 생성
컨트롤러 소스코드
package egovframework.example.join.web; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class JoinController { @Resource(name = "joinService") private JoinService joinService; @RequestMapping("/joinRegister.do") public String joinRegister() { return "join/joinMbrInput"; } @RequestMapping(value = "/selectDupIdChk.do", produces="application/json; charset=utf8") @ResponseBody public String selectDupIdChk(@RequestParam(required=true) String loginId) throws Exception { int dupIdCnt = joinService.selectDupIdChk(loginId); return String.valueOf(dupIdCnt); } }
서비스, 서비스 임플, 맵퍼 소스코드
JoinService.java
package egovframework.example.join.service; public interface JoinService { int selectDupIdChk(String loginId) throws Exception; }
JoinServiceImpl.java
package egovframework.example.join.service.impl; import javax.annotation.Resource; import org.springframework.stereotype.Service; import egovframework.example.join.service.JoinService; @Service("joinService") public class JoinServiceImpl implements JoinService { @Resource(name = "joinMapper") private JoinMapper joinMapper; @Override public int selectDupIdChk(String loginId) throws Exception { // TODO Auto-generated method stub return joinMapper.selectDupIdChk(loginId); } }
joinMapper.java
package egovframework.example.join.service.impl; import egovframework.rte.psl.dataaccess.mapper.Mapper; @Mapper("joinMapper") public interface JoinMapper { int selectDupIdChk(String loginId) throws Exception; }
SQL 생성, 소스코드
Join_SQL.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="egovframework.example.join.service.impl.JoinMapper">
<select id="selectDupIdChk" parameterType="String" resultType="int">
SELECT COUNT(*)
FROM t_mbr
WHERE LOGIN_ID = #{_parameter}
</select>
</mapper>
만약 쿼리의 결과가 0보다 크다면 이미 해당 테이블(t_mbr)에 입력한 id와 동일한 id가 저장 되어 있다는 것
실행결과
1) 아이디가 중복될 경우
2) 아이디가 중복되지 않을 경우
마무리
Ajax 통신을 통해 아이디 중복체크를 진행하였고, 정규식을 이용하여 아이디 유효성 검사도 진행하였다.
다음번에는 클라이언트 쪽에서 비밀번호 유효성 검사를 진행 할 것이다.
'웹 개발 > EgovFramwork' 카테고리의 다른 글
전자정부 프레임워크로 회원가입 기능 구현하기 - 휴대폰 번호, 성별, 이메일 수신여부, SMS 수신여부 유효성 검사 (0) | 2019.05.04 |
---|---|
전자정부 프레임워크로 회원가입 기능 구현하기 - 비밀번호 유효성, 이메일 유효성 검사 (0) | 2019.05.02 |
전자정부 프레임워크로 회원가입 기능 구현하기 - 아이디 유효성 검사-1 (2) | 2019.04.29 |
전자정부 프레임워크로 회원가입 기능 구현하기 - 회원가입 폼 고르고 첫화면 띄우기 (0) | 2019.04.18 |
전자정부 프레임워크 프로젝트 생성하기 (0) | 2019.04.18 |
- Total
- Today
- Yesterday
- connectionless
- jvm
- AJAX
- 유효성검사
- 클래스
- 스프링
- Servlet
- git
- 메서드 참조
- github
- 람다식
- 인텔리제이
- 포워드 프록시
- http
- 상속
- 그래프 순회 알고리즘
- 스프링 부트 시큐리티
- 회원가입
- 가상 회선 방식
- 멀티 프로세스
- 웹 서버
- JVM 메모리 구조
- 제네릭 메서드
- 전자정부프레임워크
- 싱글톤 레지스트리
- 객체
- 자바의 정석
- 리버스 프록시
- stateless
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |