포트폴리오 5일차

김상복·2022년 5월 27일
0

포트폴리오

목록 보기
5/8

5일차 목표

  1. 회원가입
  2. 회원가입 한 아이디로 로그인 가능 ---- 완료
  3. 로그인 한 회원의 정보 확인
  4. 로그인 회원 글 리스트 확인 가능
  5. 해당 글 조회 가능
  6. 해당 글 수정 및 삭제 가능
  7. 로그아웃

오늘은 로그인 한 회원 정보 확인 및 수정 작업, 그리고 회원이 로그인 했을 때 그 값을 Mybatis에서 조회했을 때 조회한 데이터가 있을 때는 true, 없을 때는 false라는 값이 나올 수 있는 지 공부해보자


1. true 값 받아오기

Mybatis에서 해당 값을 받아 올 수 있는 방법은 있지만
생각을 하다 보니 count 값을 이용해서 받아오는 방법을 생각해 보았다

Mybatis

	<!-- idcheck -->
	<select id="idcheck" resultType="int">
		select * count(*) from test_user where id=#{id}
	</select>

현재 필요한 기능은 id체크를 해야함으로써 만약 조회할 아이디가 존재하면 count가 1이 나올 것이고 없으면 0이 나올 것임을 알 수 있다

Contoroller

@PostMapping("/idcheck")
public String idCheck(UserVO vo,Model model) {

	int result = service.idcheck(vo);
	model.addAttribute("result",result);
	
	return "/user/joinMember";
}

model에 id 체크를 해서 나온 결과 result를 넣어 줘서 1인지 0인지 확인해보도록하자
0이면 아이디가 사용가능합니다
1이면 중복 된 아이디가 존재합니다라는 문구가 나와야한다

jsp

    <h3>회원가입</h3>

    <form action="/user/joinMember" method="post">

        <label>아이디</label><br>

            <input type="text" name="id" id="id"><br>
            <button type="button" onclick="id_check()">중복 확인</button>
        <br>
        <label>비밀번호</label><br>
        <input type="text" name="password" id="password"><br>

        <br>
        <label>이름</label><br>
        <input type="text" name="name" id="name"><br>

        <br>
        <select name="phone1" id="phone1">
            <option value="010">010</option>
            <option value="011">011</option>
            <option value="016">016</option>
        </select> - 
        <input type="text" name="phone2" id="phone2"> - 
        <input type="text" name="phone3" id="phone3"> 


        <br><br>
        <input type="submit" value="전송">
        <input type="reset" value="초기화">

    </form>

    <script>
        function id_check(){

        }
    </script>

</body>
</html>

jsp에서 onclick을 통해 중복확인을 할 수 있다
하지만 Controller에 postmapping 값이 /idcheck 이므로 무언가 데이터를 url /user/idcheck로 이동해야만 controller가 작동하는데
그렇게 될 경우
회원가입 페이지에서 만약 아이디말고 비밀번호 같은 것들을 미리 입력해뒀을 때
아래의 데이터가 새로고침 되어서 없어지게 된다

해당 문제를 해결하기 위해서 필요한게 ajax라는 기능이라고 한다

ajax는 실시간으로 조회 수정이 가능하도록 하는 기능이라고 간단하게 설명할 수 있다

자세한 것은 내일 공부해보도록 하자

profile
초보 개발자

0개의 댓글