학원/servlet jsp
11.14일 (model-1 DB연동)
쿠룽지
2023. 11. 15. 00:27
728x90
반응형
각 상황에 맞는 form(jsp) 작성,
MemberDAO/ VO 그때그때 내용 추가하는 방식으로 학습했음
ch05-ServletMain
webapp
ch17-member
registerUser.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.member.dao.MemberDAO" %>
<%@ page import="kr.member.vo.MemberVO" %>
<%
//전송된 데이터 인코딩 처리 (post 방식일 땐 무조건 넣어야함)
request.setCharacterEncoding("utf-8");
//데이터를 받고 자바빈에 담아서 전달
//1) 자바빈(VO) 생성 후 담기
/* 이 긴 문장을 액션 태그를 사용하면 2줄로 표현 가능
MemberVO member = new MemberVO();
member.setId(request.getParameter("id"));
member.setName(request.getParameter("name"));
member.setPasswd(request.getParameter("passwd"));
member.setEmail(request.getParameter("email"));
member.setPhone(request.getParameter("phone"));*/
%>
<%-- 액션태그를 이용해서 자바빈(VO) 객체 생성 --%>
<jsp:useBean id="member" class="kr.member.vo.MemberVO"/> <%--id가 참조변수(식별자)/ class에 명시할 때에도 풀네임으로 명시해야함 --%>
<%-- request로부터 전송된 데이터를 읽어들여 자바빈에 저장 (일부러 param과 자바빈의 property값 일치시켰음)--%>
<jsp:setProperty property="*" name="member"/>
<%
//넘겨주기 (MemberDAO 객체 생성 후 넘겨줄건데 private이기 때문에 memberDAO dao = new MemberDAO()라고 호출하지 못함)
//MemberDAO 객체 생성
MemberDAO dao = MemberDAO.getInstance();
dao.insertMember(member); // insertMember안에서 멤버변수를 활용할 수 있게 전달
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원가입</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="page-main">
<h1>회원가입 완료</h1>
<div class="result-display">
<div class="align-center">
회원가입 성공!<br>
<button onclick="location.href='main.jsp'">홈으로</button>
</div>
</div>
</div>
</body>
</html>
confirmId.jsp (아이디 중복 체크)
<%@ page language="java" contentType="text/plain; charset=UTF-8"
pageEncoding="UTF-8" trimDirectiveWhitespaces="true"%>
<%@ page import="kr.member.dao.MemberDAO" %>
<%@ page import="kr.member.vo.MemberVO" %>
<%
//전송된 데이터 인코딩 처리
request.setCharacterEncoding("utf-8");
//전송된 데이터 반환
String id = request.getParameter("id");
//DAO 객체 생성
MemberDAO dao = MemberDAO.getInstance();
MemberVO member = dao.checkMember(id);
//id를 select해서 검색결과값이 null인거니까 미중복 / null이 아니면 중복
if(member!=null){//아이디 중복
%>
{"result":"idDuplicated"}
<%
}else{//아이디 미중복
%>
{"result":"idNotFound"}
<%
}
%>
registerUserForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원가입</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="<%= request.getContextPath() %>/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//변수 명시해서 정보처리(id중복체크 결과-submit할 때 참조하게끔)
//아이디 중복 체크 결과 -> 0: 아이디 중복 체크 미실시, 아이디 중복 / 1: 아이디 미중복
let count = 0;
//이벤트 연결
$('#confirm_id').click(function(){
if($('#id').val().trim()==''){
alert('아이디를 입력하세요');
$('#id').val('').focus();
return;
}
//서버와 통신
$.ajax({
url:'confirmId.jsp',
type:'post',
data:{id:$('#id').val()}, //id값 읽어오기
dataType:'json',
success:function(param){
if(param.result == 'idDuplicated'){
count = 0;
$('#id_signed').text('아이디 중복').css('color','red');
$('#id').val('').focus();
}else if(param.result == 'idNotFound'){
count = 1;
$('#id_signed').text('사용 가능 아이디').css('color','green');
}else{
count = 0;
alert('아이디 중복체크 오류 발생');
}
},
error:function(){
count = 0;
alert('네트워크 오류 발생');
}
});
}); //end of click
//아이디 입력창에 데이터를 입력하면 중복체크 관련 정보 초기화 (keydown 이벤트)
$('#register_form #id').keydown(function(){
count = 0;
$('#id_signed').text('');
});//end of keydown
$('#register_form').submit(function(){ //필수입력+중복체크
if($('#id').val().trim()==''){
alert('아이디를 입력하세요');
$('#id').val('').focus();
return false;
}
if(count==0){
alert('아이디 중복체크 필수');
return false;
}
if($('#name').val().trim()==''){
alert('이름을 입력하세요.');
$('#name').val('').focus();
return false;
}
if($('#passwd').val().trim()==''){
alert('비밀번호를 입력하세요.');
$('#passwd').val('').focus();
return false;
}
if($('#email').val().trim()==''){
alert('이메일을 입력하세요.');
$('#email').val('').focus();
return false;
}
//phone은 not null조건이 없기 때문에 안해도 됨
});
});
</script>
</head>
<body>
<div class="page-main">
<h1>회원가입</h1>
<form action="registerUser.jsp" method="post" id="register_form">
<ul>
<li>
<label for="id">아이디</label>
<input type="text" name="id" id="id"
size="7" maxlength="12" autocomplete="off">
<input type="button" id="confirm_id"
value="ID중복체크">
<span id="id_signed"></span>
</li>
<li>
<label for="name">이름</label>
<input type="text" name="name" id="name"
maxlength="10">
</li>
<li>
<label for="passwd">비밀번호</label>
<input type="password" name="passwd" id="passwd"
maxlength="12">
</li>
<li>
<label for="email">이메일</label>
<input type="email" name="email" id="email"
maxlength="50">
</li>
<li>
<label for="phone">전화번호</label>
<input type="text" name="phone" id="phone"
maxlength="15">
</li>
</ul>
<div class="align-center">
<input type="submit" value="등록">
<input type="button" value="홈으로"
onclick="location.href='main.jsp'">
</div>
</form>
</div>
</body>
</html>
loginForm.jsp (로그인폼)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 폼</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="<%= request.getContextPath() %>/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
$(function(){
//이벤트 연결
$('#login_form').submit(function(){
if($('#id').val().trim()==''){
alert('아이디를 입력하세요');
$('#id').val('').focus();
return false;
}
if($('#passwd').val().trim()==''){
alert('비밀번호를 입력하세요');
$('#passwd').val('').focus();
return false;
}
});
});
</script>
</head>
<body>
<div class="page-main">
<h1>로그인</h1>
<form action="login.jsp" method="post" id="login_form">
<ul>
<li>
<label for="id">아이디</label>
<input type="text" name="id" id="id" maxlength="12">
</li>
<li>
<label for="passwd">비밀번호</label>
<input type="password" name="passwd" id="passwd" maxlength="12">
</li>
</ul>
<div class="align-center">
<input type="submit" value="로그인">
<input type="button" value="홈으로" onclick="location.href='main.jsp'">
</div>
</form>
</div>
</body>
</html>
login.jsp (로그인) / +main.jsp 로 리다이렉트
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.member.dao.MemberDAO" %>
<%@ page import="kr.member.vo.MemberVO" %>
<%
//전송된 데이터 인코딩 처리
request.setCharacterEncoding("utf-8");
//전송된 데이터 반환
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
MemberDAO dao = MemberDAO.getInstance();
//id 존재 여부 확인
MemberVO member = dao.checkMember(id); //member이 null이 아니어야함
boolean check = false;
if(member!=null){//id 존재
//사용자가 입력한 비밀번호와 DB에 저장된 비밀번호 일치여부 확인
check = member.isCheckedPassword(passwd); //일치하면 T 불일치 시 F (check 기본값이 False라 else 안 만들거임)
}
if(check){ //아이디와 비밀번호 인증 성공 (true)
//로그인 처리 (session에 로그인 정보를 저장해놓고 판별)
session.setAttribute("user_num", member.getNum());
session.setAttribute("user_id", id); //로그인처리된거기 때문에 member.이걸 따로 안해도됨 (해도 되고 안해도 되고)
//main.jsp로 리다이렉트
response.sendRedirect("main.jsp");
}else{//id 또는 비밀번호 인증 실패 (false)
%>
<script>
alert('아이디 또는 비밀번호가 불일치합니다.');
history.go(-1); //home
</script>
<%
}
%>
logout.jsp (로그아웃) / +main.jsp 로 리다이렉트
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//리다이렉트 할거기 때문에 ui필요 없음(별다른 폼없이 session삭제 후 main으로 넘길거라서)
//로그아웃
session.invalidate();
//main.jsp로 리다이렉트
response.sendRedirect("main.jsp");
%>
myPage.jsp(상세정보)
+로그아웃 상태에서 myPage.jsp 실행하면 로그인폼으로 리다이렉트 (로그인 상태에서 상세정보 보는 창)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.member.dao.MemberDAO" %>
<%@ page import="kr.member.vo.MemberVO" %>
<%
Integer user_num = (Integer)session.getAttribute("user_num"); // login.jsp에서 user_num/ user_id라고 지정
if(user_num==null){ //로그인이 되지 않은 경우
response.sendRedirect("loginForm.jsp");
}else{//로그인이 된 경우
%>
<%-- 로그인이 됐을 경우 보여지게 하기 위해서 잘라서 위로 올림 --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원상세정보</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<%
MemberDAO dao = MemberDAO.getInstance();
MemberVO member = dao.getMember(user_num);
//phone이 null일 경우 null출력이 아닌 빈문자열 처리
if(member.getPhone()==null){
member.setPhone(""); //null이 아닌 빈문자열 처리
}
%>
<div class="page-main">
<h1>회원정보</h1>
<ul>
<li>아이디 : <%= member.getId() %></li>
<li>이름 : <%= member.getName() %></li>
<li>이메일 : <%= member.getEmail() %></li>
<li>전화번호 : <%= member.getPhone() %></li>
<li>가입일 : <%= member.getReg_date() %></li>
</ul>
<hr size="1" width="100%" noshade="noshade">
<div class="align-right">
<input type="button" value="회원정보수정" onclick="location.href='modifyUserForm.jsp'">
<input type="button" value="회원탈퇴" onclick="location.href='deleteUserForm.jsp'">
<input type="button" value="홈으로" onclick="location.href='main.jsp'">
</div>
</div>
</body>
</html>
<%
}
%>
modifyUserForm.jsp (상세정보 변경)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.member.dao.MemberDAO" %>
<%@ page import="kr.member.vo.MemberVO" %>
<%
Integer user_num = (Integer)session.getAttribute("user_num");
if(user_num==null){ //로그인이 되지 않은 경우
response.sendRedirect("loginForm.jsp");
}else{ //로그인이 된 경우
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원정보수정</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="<%= request.getContextPath() %>/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
$(function(){
//이벤트 연결
$('#modify_form').submit(function(){
if($('#name').val().trim()==''){ //공백입력시
alert('이름을 입력하세요.');
$('#name').val('').focus();
return false;
}
if($('#passwd').val().trim()==''){
alert('비밀번호를 입력하세요.');
$('#passwd').val('').focus();
return false;
}
if($('#email').val().trim()==''){
alert('이메일을 입력하세요.');
$('#email').val('').focus();
return false;
}
});
});
</script>
</head>
<body>
<%
MemberDAO dao = MemberDAO.getInstance();
MemberVO member = dao.getMember(user_num);
//null일 경우에는 비어있게 처리
if(member.getPhone()==null){
member.setPhone("");
}
%>
<div class="page-main">
<h1>회원정보수정</h1>
<form action="modifyUser.jsp" method="post" id="modify_form">
<ul>
<li>
<label for="name">이름</label>
<input type="text" name="name" id="name" value="<%= member.getName() %>" maxlength="10">
</li>
<li>
<label for="passwd">비밀번호</label>
<input type="password" name="passwd" id="passwd" maxlength="12">
</li>
<li>
<label for="email">이메일</label>
<input type="text" name="email" id="email" value="<%= member.getEmail() %>">
</li>
<li>
<label for="phone">전화번호</label>
<input type="text" name="phone" id="phone" value="<%= member.getPhone() %>" maxlength="15">
</li>
</ul>
<div class="align-center">
<input type="submit" value="수정">
<input type="button" value="홈으로" onclick="location.href='main.jsp'">
</div>
</form>
</div>
</body>
</html>
<%
}
%>
이름/ 이메일/ 전화번호/ 비밀번호 만 변경 가능
modifyUser.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.member.dao.MemberDAO" %>
<%
Integer user_num = (Integer)session.getAttribute("user_num"); // num이 있으면 로그인 된거 없으면 로그인 x
if(user_num==null){ //로그인이 되지 않은 경우
response.sendRedirect("loginForm.jsp");
}else{//로그인이 된 경우
//전송된 데이터 인코딩 처리
request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="member" class="kr.member.vo.MemberVO" /> <%-- 자바빈 객체 생성/ id가 참조변수 역할 --%>
<jsp:setProperty name="member" property="*" />
<%
//num이 전송되지 않았기 때문에 session에 저장된 num을 사용 (memberVO에 없기 때문에 별도로 담아줘야함)
member.setNum(user_num); //num 빼냈으니 하나의 레코드에 접근해서 update 가능해짐
MemberDAO dao = MemberDAO.getInstance();
dao.updateMember(member);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원정보수정 완료</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="page-main">
<h1>회원정보수정 완료</h1>
<div class="result-display">
<div class="align-center">
회원정보수정 완료<br>
<button onclick="location.href='myPage.jsp'">MyPage</button>
</div>
</div>
</div>
</body>
</html>
<%
}
%>
deleteUserForm.jsp (회원탈퇴폼)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Integer user_num = (Integer)session.getAttribute("user_num");
if(user_num==null){ //로그인이 되지 않은 경우
response.sendRedirect("loginForm.jsp");
}else{ //로그인된 경우
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원탈퇴 폼</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
window.onload = function(){
let form = document.getElementById('delete_form');
//이벤트 연결
form.onsubmit=function(){
let id = document.getElementById('id');
if(id.value.trim()==''){ // 순수 자바스크립트기 때문에 val이 아닌 value라고 하는 것
alert('아이디를 입력하세요');
id.value = '';
id.focus();
return false;
}
let passwd = document.getElementById('passwd');
if(passwd.value.trim()==''){
alert('비밀번호를 입력하세요');
passwd.value = '';
passwd.focus();
return false;
}
//비밀번호 확인
let cpasswd = document.getElementById('cpasswd');
if(cpasswd.value.trim()==''){
alert('비밀번호 확인을 입력하세요');
cpasswd.value = '';
cpasswd.focus();
return false;
}
//비밀번호와 비밀번호확인 일치 여부 체크
if(passwd.value != cpasswd.value){
alert('비밀번호와 비밀번호 확인이 불일치합니다.');
cpasswd.value = ''; //비밀번호 확인 초기화
cpasswd.focus();
return false;
}
};
};
</script>
</head>
<body>
<div class="page-main">
<h1>회원탈퇴</h1>
<form id="delete_form" action="deleteUser.jsp" method="post">
<ul>
<li>
<label for="id">아이디</label>
<input type="text" name="id" id="id" maxlength="12">
</li>
<li>
<label for="passwd">비밀번호</label>
<input type="password" name="passwd" id="passwd" maxlength="12">
</li>
<li>
<label for="cpasswd">비밀번호 확인</label>
<input type="password" name="cpasswd" id="cpasswd" maxlength="12">
</li>
</ul>
<div class="align-center">
<input type="submit" value="회원탈퇴">
<input type="button" value="홈으로" onclick="location.href='main.jsp'">
</div>
</form>
</div>
</body>
</html>
<%
}
%>
MemberDAO
package kr.member.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import kr.member.vo.MemberVO;
import kr.util.DBUtil;
public class MemberDAO {
/*
* 싱글턴 패턴은 생성자를 private으로 지정해서 외부에서 호출할 수 없도록
* 처리하고 static 메서드를 호출해서 객체가 한 번만 생성되고 생성된 객체를
* 공유할 수 있도록 처리하는 방식을 의미
*/
private static MemberDAO instance = new MemberDAO();
public static MemberDAO getInstance() {
return instance;
}
private MemberDAO() {}
//회원가입
public void insertMember(MemberVO member)throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
String sql = null;
try {
//커넥션 풀로부터 커넥션 할당받아서 1~2단계는 신경안써도 됨
//커넥션풀로부터 커넥션을 할당
conn = DBUtil.getConnection(); //1~2단계 끝
//SQL문 작성
sql = "INSERT INTO smember (num,id,name,passwd,email,phone) VALUES (smember_seq.nextval,?,?,?,?,?)"; //reg_date는 default값이 있어서 명시 x
//PreparedStatement 객체 생성
pstmt = conn.prepareStatement(sql);
//?에 데이터 바인딩
pstmt.setString(1, member.getId()); //member에 넣었기 때문에 접근해서 빼내야함
pstmt.setString(2, member.getName());
pstmt.setString(3, member.getPasswd());
pstmt.setString(4, member.getEmail());
pstmt.setString(5, member.getPhone());
//4단계 : sql문장 실행
pstmt.executeUpdate();
}catch(Exception e) {
throw new Exception(e); //원래 발생한 예외 문구 던지기
}finally {
DBUtil.executeClose(null, pstmt, conn);
}
}
/*
* 메서드를 통해 동작시킬 때 예외 발생 시 콘솔에는 에러가 뜨는데 화면엔 안뜸(정상작동된 것처럼 보이게 함)
* 그래서 에러 페이지가 전송되게 만들어야 하는데 그럼 catch가 없어야함
* catch가 없을 시 예외가 발생하게 되면 catch쪽으로 갈 수 없으니까 에러 페이지가 전송됨
*
* catch를 아예 안쓰거나 catch를 던지면 됨
*/
//회원상세정보
public MemberVO getMember(int num)throws Exception{ //num(pk)로 정보를 읽고 MemberVO에 담는 것
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = null;
MemberVO member = null;
try {
//커넥션풀로부터 커넥션을 할당
conn = DBUtil.getConnection();
//SQL문 작성
sql = "SELECT * FROM smember WHERE num=?";
//PreparedStatement 객체 생성
pstmt = conn.prepareStatement(sql);
//?에 데이터 바인딩
pstmt.setInt(1, num);
//SQL문 실행
rs = pstmt.executeQuery();
//pk로 1개의 레코드만 빼내기 때문에 if문 (여러개면 while)
if(rs.next()) {
member = new MemberVO(); //자바빈 객체 생성
//아래로 다 명시하고 필요할 때 출력하던가 아님 원하는 것만 넣고 다 출력하던가 상관없는데 그냥 다 명시하고 뽑아내는게 편하다했음
member.setNum(rs.getInt("num"));
member.setId(rs.getString("id"));
member.setPasswd(rs.getString("passwd"));
member.setName(rs.getString("name"));
member.setEmail(rs.getString("email"));
member.setPhone(rs.getString("phone"));
member.setReg_date(rs.getDate("reg_date"));
}
}catch(Exception e) {
throw new Exception(e);
}finally {
DBUtil.executeClose(rs, pstmt, conn);
}
return member;
}
//아이디 중복 체크, 로그인 체크 (같이)
public MemberVO checkMember(String id)throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = null;
MemberVO member = null; //여기다 넣고 반환할거라서
try {
//커넥션 풀로부터 커넥션을 할당
conn = DBUtil.getConnection();
//SQL문 작성
sql = "SELECT * FROM smember WHERE id=?";
//PreparedStatement 객체 생성
pstmt = conn.prepareStatement(sql);
//?에 데이터 바인딩
pstmt.setString(1, id);
//SQL문 실행
rs = pstmt.executeQuery();
if(rs.next()) { //행이 있으면 데이터를 넘겨줌 (id 중복 시)
member = new MemberVO(); //자바빈(VO) 객체 생성
member.setId(rs.getString("id"));
member.setNum(rs.getInt("num"));
member.setPasswd(rs.getString("passwd"));
}//else는 없음 (MemberVO member = null가 있기 때문에 행이 없으면 null을 반환)
}catch(Exception e) {
throw new Exception(e); //예외를 던져야 예외발생 시 에러페이지가 보임
}finally {
DBUtil.executeClose(rs, pstmt, conn);
}
return member;
}
//회원정보수정
public void updateMember(MemberVO member)throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
String sql = null;
try {
//커넥션풀로부터 커넥션을 할당
conn = DBUtil.getConnection();
//SQL문 작성
sql = "UPDATE smember SET name=?,passwd=?,email=?,phone=? WHERE num=?";
//PreparedStatement 객체 생성
pstmt = conn.prepareStatement(sql);
//?에 데이터 바인딩
pstmt.setString(1, member.getName());
pstmt.setString(2, member.getPasswd());
pstmt.setString(3, member.getEmail());
pstmt.setString(4, member.getPhone());
pstmt.setInt(5, member.getNum());
//SQL문 실행
pstmt.executeUpdate();
}catch(Exception e) {
throw new Exception(e);
}finally{
DBUtil.executeClose(null, pstmt, conn);
}
}
//회원탈퇴(회원정보삭제)
public void deleteMember(int num)throws Exception{
Connection conn = null;
PreparedStatement pstmt = null;
String sql = null;
try {
//커넥션풀로부터 커넥션을 할당
conn = DBUtil.getConnection();
//SQL문 작성
sql = "DELETE FROM smember WHERE num=?";
//PreparedStatement 객체 생성
pstmt = conn.prepareStatement(sql);
//?에 데이터 바인딩
pstmt.setInt(1, num);
//SQL문 실행
pstmt.executeUpdate();
}catch(Exception e) {
throw new Exception(e);
}finally {
DBUtil.executeClose(null, pstmt, conn);
}
}
}
MemberVO
package kr.member.vo;
import java.sql.Date;
//자바빈 : 자바와 데이터베이스가 연동할 때 데이터를 보관하고 관리하는 클래스
//VO : value Object
//DTO : Data Transfer Object
public class MemberVO {
//멤버변수(프로퍼티)
private int num;
private String id;
private String name;
private String passwd;
private String email;
private String phone;
private Date reg_date;
//비밀번호 체크 (db 안 passwd와 사용자가 입력한 passwd 일치여부 체크)
public boolean isCheckedPassword(String userPasswd) {
//DB에 저장된 비밀번호 사용자가 입력한 비밀번호
if(passwd.equals(userPasswd)) {//비밀번호 일치
return true;
}
return false; //비밀번호 불일치
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Date getReg_date() {
return reg_date;
}
public void setReg_date(Date reg_date) {
this.reg_date = reg_date;
}
}
아직 미완.. 내일 완성할 듯
728x90
728x90
반응형