실습
1번 방식으로 join.jsp 파일을 구현해주세요.
teemo로 회원가입을 시도하면 이미 있는 id입니다 라고 띄워주세요.
다른 아이디는 괜찮다고 해주세요!
1번을 다했다면, 2번으로도 해보세요!
1) gkskdml .jsp에서 길~게 써도 되고,
2) XxxBean.java을 추가로 구현해서 불러와서 사용
1) 내 해석 후 풀이
join.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP 예제 로그인</title>
</head>
<body>
<%--join.jsp 파일을 구현해주세요.
teemo로 회원가입을 시도하면 이미 있는 id입니다 라고 띄워주세요.
다른 아이디는 괜찮다고 해주세요! --%>
<%
String smapleid ="teemo";
String id=request.getParameter("id");
String pw=request.getParameter("pw");
String pw_ck=request.getParameter("pw_ck");
boolean flag = false;
String check_id;
if(request.getMethod().equals("POST")){
if(id.equals(smapleid)){
check_id = smapleid + "는 이미 있는 아이디입니다.";
}
else{
check_id = id+" 회원가입 성공";
}
flag = true;
}else{
check_id="";
}
%>
<h1>회원가입</h1>
<form action="" method="POST">
<table class="table">
<tr class="tr">
<td>아이디 : <input type="text" name="id" required>
</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>
</td>
</tr>
<tr>
<td><input type="submit" value="회원가입"></td>
</tr>
</table>
</form>
<%
if(flag){
%>
<%=check_id %>
<%
}
%>
</body>
</html>
2) 내 해석 후 풀이
join02.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:useBean class="loginDB.LoginDTO" id="data2"></jsp:useBean>
<jsp:setProperty property="*" name="data"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--join.jsp 파일을 구현해주세요.
teemo로 회원가입을 시도하면 이미 있는 id입니다 라고 띄워주세요.
다른 아이디는 괜찮다고 해주세요! --%>
<%
String id=request.getParameter("id");
String pw=request.getParameter("pw");
String pw_ck=request.getParameter("pw_ck");
data.setId(id);
data = login.selectOne(data);
%>
<h1>회원가입</h1>
<form action="" method="POST">
<table class="table">
<tr class="tr">
<td>아이디 : <input type="text" name="id" required>
</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>
</td>
</tr>
<tr>
<td><input type="submit" value="회원가입"></td>
</tr>
</table>
</form>
<%
if(id != null){
if(data != null){
%>
이미 회원가입 되어있는 아이디 입니다.
<%
}else{
data2.setId(id);
data2.setPw(pw);
boolean flag = login.insert(data2);
if(flag){
%>
<jsp:getProperty property="id" name="data2"/> 회원가입 성공
<%
}else{
%>
<jsp:getProperty property="id" name="data2"/> 회원가입 실패 관리자 문의
<%
}
}
}
%>
</body>
</html>
LoginDTO.java
package loginDB;
public class LoginDTO {
private String id;
private String pw;
private String pw_ck;
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;
}
public String getPw_ck() {
return pw_ck;
}
public void setPw_ck(String pw_ck) {
this.pw_ck = pw_ck;
}
@Override
public String toString() {
return "LoginDTO [id=" + id + ", pw=" + pw + ", pw_ck=" + pw_ck + "]";
}
}
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 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;
}
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;
}
}
728x90
'국비 내용 정리 > 문제' 카테고리의 다른 글
[Spring] AOP @(어노테이션) 실습 (0) | 2024.10.16 |
---|---|
국비 33일차 실습 문제 (0) | 2024.08.18 |
국비 28일차 실습 문제 (0) | 2024.08.11 |