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
'국비 내용 정리 > 과제' 카테고리의 다른 글
jSP 쇼핑몰 제작(page : controller) (0) | 2024.08.11 |
---|---|
jSP 쇼핑몰 제작(page : cart, join, product) (0) | 2024.08.11 |
jSP 쇼핑몰 제작(page : index, main, mypage, admin) (0) | 2024.08.11 |
jsp를 통해 회원가입 작성하기 2번째 (0) | 2024.08.07 |
[과제] 미디어쿼리 사용 반응형 웹 (0) | 2024.08.05 |