problem.jsp 파일

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<jsp:useBean class="loginDB.LoginDAO" id="login" scope="session"></jsp:useBean>
<jsp:useBean class="loginDB.LoginDTO" id="data"></jsp:useBean>
<jsp:setProperty property="*" name="data" />
<jsp:useBean class="loginDB.LoginDTO" id="data2"></jsp:useBean>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	String id=request.getParameter("id");;
	String pw=request.getParameter("pw");
	String pw_ck=request.getParameter("pw_ck");
	boolean post_flag = request.getMethod().equals("POST"); //method의 값이 POST 값인지 확인용 flag
	boolean pw_flag = false; // PW 중복 확인용 flag

%>
	<h1>회원가입</h1>
	<form action="" method="POST">
		<table class="table">
			<tr class="tr">
				<td>아이디 : <input type="text" name="id" required> 
				<%	if(post_flag){ // metod가 post면
					data.setId(id); // 입력받은 아이디를
					data = login.selectOne(data); // DTO에 넘겨 확인
						if(data != null){ // data가 Null이 아니면 중복 아이디로 출력
					%> 
							중복된 아이디 입니다. 
					<%
						}
					}
				%>
				</td>
			</tr>
			<tr>
				<td>비밀번호 : <input type="password" name="pw"
					pattern="^[0-9a-zA-Z]+$" required>
				</td>
			</tr>
			<tr>
				<td>비밀번호 확인 : <input type="password" name="pw_ck"
					pattern="^[0-9a-zA-Z]+$" required> 
					<% if(post_flag){ // metod가 post면 
							if(pw.equals(pw_ck)){ // pw와 pw_ck를 비교
								pw_flag = true; // 같으면 true
							}
							else{ // 아니면 잘못되었다고 출력
					%> 
								처음 입력한 비밀번호와 다릅니다.
					<%		
							}
					  }
					%> 
				</td>
			</tr>
			<tr>
				<td><input type="submit" value="회원가입"></td>
			</tr>
		</table>
	</form>

	<%
	if(data == null && pw_flag && post_flag){ // data가 null이고 pw가 같고 metod가 post 방식이면 넘어간다.
		data2.setId(id);
		data2.setPw(pw);
		boolean flag = login.insert(data2); //넘어온 데이터를 DTO로 전달하여 회원가입하기
		if(flag){ // true == 성공
	%>
			<%=data2.getId() %>
			회원가입 성공
	<%				
		}else{ // false 그 외 == 실패
	%>
			<%=data2.getId() %>
			회원가입 실패 관리자 문의해주세요.
	<%							
		}
	} 	
	%>
</body>
</html>

 

LoginDTO.java

package loginDB;

public class LoginDTO {
	private String id;
	private String pw;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPw() {
		return pw;
	}
	public void setPw(String pw) {
		this.pw = pw;
	}
	@Override
	public String toString() {
		return "LoginDTO [id=" + id + ", pw=" + pw + "]";
	}
	
}

 

LoginDAO.java

package loginDB;

import java.util.ArrayList;

public class LoginDAO {
	ArrayList<LoginDTO> datas;
	
	public LoginDAO() {
		this.datas = new ArrayList<LoginDTO>();
		LoginDTO data = new LoginDTO();
		data.setId("teemo");
		data.setPw("1234");
		this.datas.add(data);
		LoginDTO data2 = new LoginDTO();
		data2.setId("ari");
		data2.setPw("1234");
		this.datas.add(data2);
	}
	
	
	public boolean insert(LoginDTO data) {
		LoginDTO d = new LoginDTO();
		if(data != null) {
			d.setId(data.getId());
			d.setPw(data.getPw());
			this.datas.add(d);
			return true;
		}
		return false;
	}
	
	private boolean update(LoginDTO data) {
		return false;
	}
	private boolean delete(LoginDTO data) {
		return false;
	}
	
	private ArrayList<LoginDTO> selectALl(ArrayList<LoginDTO> datas) {
		return datas;
	}
	public LoginDTO selectOne(LoginDTO data) {
		LoginDTO loginDTO = new LoginDTO();
		for (LoginDTO dao : this.datas) {
			if(dao.getId().equals(data.getId())) {
				loginDTO.setId(dao.getId());
				loginDTO.setPw(dao.getPw());
				return loginDTO;
			}
		}
		return null;
	}
	
}
728x90
개발자가 되고 싶은 곰