본문 바로가기
프로젝트

세미프로젝트_로그인, 회원가입 정리

by 유서담 2024. 2. 4.

 

로그인파트

 

로그인 VO는 이렇게 구현되어 있다

 

 

 

login.jsp

 

loginform.jsp에서  form 태그 action으로 login.jsp 로 보내어 login.jsp에서 해결처리하는 코드

파라미터로 받아온 값을 "id"과 "pw"로 받아서 변수에 저장하고

UserDao객체를 생성해서 getUserById 메소드를 실행

 

UserDao의 getUserById 쿼리문

 

 

login.jsp에서 if문으로 갖고온 id가 있는지 없는지, 비밀번호가 맞는지, 탈퇴처리한 아이디인지 확인하고 

해당되는 부분이 있으면 sendRedirect 메소드로 특정 url을 전송한다 

login.jsp에서 특정 url(아이디/비밀번호체크, 아이디 탈퇴유무) 처리하는 loginform.jsp에 코드

 

 

특정 url이 들어오면 해당 문제에 대한 메세지를 출력시킨다

 

DB에 저장된 ID와 비밀번호가 기입한 ID와 비밀번호와 일치하면 index.jsp로 이동시킨다

 

로그인 화면(loginform.jsp) 화면 출력

 

 


 

회원가입 파트

로그인 VO (위와 동일하다)

 

 

 

 

register.jsp

 

 

registerform.jsp에서  form 태그 action으로 register.jsp 로 보내어 register.jsp에서 해결처리하는 코드

파라미터로 받아온 값을 각 변수에 맞게 저장한다

user객체를 생성 후 set메소드를 실행해서 변수에 저장한 값들을 user객체에 대입후

UserDao객체를 생성해서 insertUsers 메소드에 user객체를 넣어서 실행

 

 

 

UserDao의 insertUsers 쿼리문

 

register.jsp에서 특정url로 보낸것을 체크

 

 

특정 url이 들어오면 해당 문제에 대한 메세지를 출력시킨다

회원가입 관련이다보니까 동일한 id가 저장되려고 하면 이미 사용중인 아이디라고 나온다

 

회원가입 같은 경우엔 

 

onkeyup="checkId() "를 적용시킨 id <input> 태그

 

function checkId() {
		let idRegExp = /^[a-zA-Z0-9]{6,}$/;
			
		let feedbackDiv = document.getElementById("id-feedback");
		let idInput = document.querySelector("input[name=id]");
		let id = idInput.value
		
		if (!idRegExp.test(id)) {
			feedbackDiv.textContent = "아이디는 6글자이상";
			feedbackDiv.classList.remove('text-success');
			feedbackDiv.classList.add('text-danger');
			
			return;
		}
		
		let xhr = new XMLHttpRequest();
		
		xhr.onreadystatechange = function() {
			if (xhr.readyState === 4 && xhr.status === 200) {
				
				let jsontext = xhr.responseText;
				
				let result = JSON.parse(jsontext);
				
				if (result.exist) {
					feedbackDiv.textContent = "이미 사용중인 아이디";
					feedbackDiv.classList.remove('text-success');
					feedbackDiv.classList.add('text-danger');
					
				} else {
					feedbackDiv.textContent = "사용 가능";
					feedbackDiv.classList.remove('text-danger');
					feedbackDiv.classList.add('text-success');					
				}
			}
		}
		xhr.open('GET', 'checkId.jsp?id=' + id);
		xhr.send();
	}

 

JSON을 활용하여 이미 사용중인 아이디인지 사용가능한 아이디인지 체크하게끔 하고 아이디는 6글자 이상이 되지 않으면 6글자 이상이 되야한다고 빨간 글자로 나온다

 

 

onkeyup="checkPassword()"를 적용시킨 password <input>태그

 

 

checkPassword도 비슷하다

비밀번호는 6글자 이상, 영어대소문자, 숫자, 특수문자등을 사용해서 만들 수 있다고 메세지를 출력한다

 

 

회원가입(registerform.jsp) 화면 출력 및 아이디, 비밀번호 체크