회원가입, 탈퇴
Java 파일
member패키지
MemberDAO.java
package member;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MemberDAO {
private String user = "user01";
private String password = "user01";
private String url="jdbc:oracle:thin:@192.168.116.128:1521:xe";
private String driver="oracle.jdbc.driver.OracleDriver";
private Connection con;
private PreparedStatement st;
private ResultSet rs;
//회원 탈퇴 메서드
public int getDel(MemberDTO m){
int result=0;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "delete saram where id=?";
st = con.prepareStatement(sql);
st.setString(1, m.getId());
result= st.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
disconnect(st, con);
return result;
}
//회원가입 메서드
public int getJoin(MemberDTO m){
int result=0;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "insert into saram(id, pw, name, age, gender, salary) values(?, ?, ?, ?, ?, ?)";
st = con.prepareStatement(sql);
st.setString(1, m.getId());
st.setString(2, m.getPw());
st.setString(3, m.getName());
st.setInt(4, m.getAge());
st.setString(5, m.getGender());
st.setInt(6, m.getSalary());
result = st.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
//getlogin 로그인 판별 메서드
public MemberDTO getLogin(MemberDTO m){
//MemberDTO md = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "select * from saram where id=? and pw=?";
st = con.prepareStatement(sql);
st.setString(1, m.getId());
st.setString(2, m.getPw());
rs = st.executeQuery();
if(rs.next()){
//md = new MemberDTO();
m.setId(rs.getString("id"));
m.setPw(rs.getString("pw"));
m.setName(rs.getString("name"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gener"));
m.setSalary(rs.getInt("salary"));
}else {
m = null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
disconnect(rs, st, con);
return m;
}
private void disconnect(PreparedStatement st, Connection con){
try {
st.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void disconnect(ResultSet rs, PreparedStatement st, Connection con){
try {
rs.close();
st.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
MemberDTO.java
package member;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MemberDAO {
private String user = "user01";
private String password = "user01";
private String url="jdbc:oracle:thin:@192.168.116.128:1521:xe";
private String driver="oracle.jdbc.driver.OracleDriver";
private Connection con;
private PreparedStatement st;
private ResultSet rs;
//회원 탈퇴 메서드
public int getDel(MemberDTO m){
int result=0;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "delete saram where id=?";
st = con.prepareStatement(sql);
st.setString(1, m.getId());
result= st.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
disconnect(st, con);
return result;
}
//회원가입 메서드
public int getJoin(MemberDTO m){
int result=0;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "insert into saram(id, pw, name, age, gender, salary) values(?, ?, ?, ?, ?, ?)";
st = con.prepareStatement(sql);
st.setString(1, m.getId());
st.setString(2, m.getPw());
st.setString(3, m.getName());
st.setInt(4, m.getAge());
st.setString(5, m.getGender());
st.setInt(6, m.getSalary());
result = st.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
//getlogin 로그인 판별 메서드
public MemberDTO getLogin(MemberDTO m){
//MemberDTO md = null;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "select * from saram where id=? and pw=?";
st = con.prepareStatement(sql);
st.setString(1, m.getId());
st.setString(2, m.getPw());
rs = st.executeQuery();
if(rs.next()){
//md = new MemberDTO();
m.setId(rs.getString("id"));
m.setPw(rs.getString("pw"));
m.setName(rs.getString("name"));
m.setAge(rs.getInt("age"));
m.setGender(rs.getString("gener"));
m.setSalary(rs.getInt("salary"));
}else {
m = null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
disconnect(rs, st, con);
return m;
}
private void disconnect(PreparedStatement st, Connection con){
try {
st.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void disconnect(ResultSet rs, PreparedStatement st, Connection con){
try {
rs.close();
st.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
index.jsp 인덱스파일
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="./join/joinForm.jsp">회원가입</a> <br>
<a href="./login/loginForm.jsp">로그인</a>
</body>
</html>
회원가입 joinForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="./joinPro.jsp" method="post">
ID : <input type="text" name="id"><br>
pw : <input type="password" name="pw"><br>
name : <input type="text" name="name"><br>
age : <input type="text" name="age"><br>
gender : man<input type="radio" name="gender" value="man">
woman<input type="radio" name="gender" value="woman"><br>
salary : <input type="text" name="salary"><br>
<input type="submit">
</form>
</body>
</html>
회원가입process joinPro.jsp
<%@page import="member.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- MemberDTO m = new MemberDTO(); -->
<jsp:useBean id="m" class="member.MemberDTO" />
<jsp:setProperty property="*" name="m"/>
<%
MemberDAO md = new MemberDAO();
int check = md.getJoin(m);
String message =null;
if(check > 0){
message = "회원가입이 완료 되셨습니다.";
}else {
message = "회원 가입에 실패 하셨습니다.";
}
request.setAttribute("result", message);
%>
<jsp:forward page="./joinResult.jsp" />
</body>
</html>
회원가입 결과 joinResult.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String result = (String)request.getAttribute("result");
%>
<%= result %>
<a href="../index.jsp">홈으로</a>
</body>
</html>
로그인 폼 loginForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="./loginPro.jsp" method="post">
ID : <input type="text" name="id">
pw : <input type="password" name="pw">
<input type="submit" value="로그인">
</form>
</body>
</html>
로그인 프로세스 loginPro.jsp
<%@page import="member.MemberDTO"%>
<%@page import="member.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="mm" class="member.MemberDTO" />
<jsp:setProperty property="*" name="mm"/>
<%
//String id = request.getParameter("id");
//String pw = request.getParameter("pw");
MemberDAO m = new MemberDAO();
MemberDTO mmd = m.getLogin(mm);
if(mmd != null){
session.setAttribute("mem", mmd);
}else {
String message = "로그인 실패";
request.setAttribute("result", message);
}
%>
<jsp:forward page="loginResult.jsp" />
</body>
</html>
로그인결과 loginResult.jsp
<%@page import="member.MemberDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
MemberDTO m = (MemberDTO)session.getAttribute("mem");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%if(m != null){%>
<p><%= m.getName() %> 님 환영합니다.</p>
<a href="modPro.jsp">회원정보 수정</a>
<a href="logoutPro.jsp">로그아웃</a>
<a href="deletePro.jsp">회원탈퇴</a>
<%}else {
String result = (String)request.getAttribute("result");
%>
<%= result %>
<a href="../index.jsp">Home</a>
<% } %>
</body>
</html>
로그아웃 logoutPro.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
session.invalidate();
response.sendRedirect("../index.jsp");
%>
</body>
</html>
회원탈퇴 deletePro.jsp
<%@page import="member.MemberDAO"%>
<%@page import="member.MemberDTO"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
MemberDTO m = (MemberDTO)session.getAttribute("mem");
MemberDAO md = new MemberDAO();
int result = md.getDel(m);
String message=null;
if(result>0){
message ="그동안 이용해 주셔서 개뿔";
session.invalidate();
}else {
message ="들어올때는 맘대로 나갈때는 맘처럼 안되지..ㅋㅋ";
}
request.setAttribute("result", message);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:forward page="deleteResult.jsp" />
</body>
</html>
회원탈퇴 결과 deleteResult.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String message = (String)request.getAttribute("result");
%>
<%= message %>
<a href="../index.jsp">Home</a>
</body>
</html>
*******************************************************************************
싱글톤 : 객체 하나만 만들어서 사용하는 것
*******************************************************************************
다음 시간 게시판 만들기 ===> arraylist 개념 공부해오기