2013년 7월 12일 금요일

(130712) 15일차 MainJoin.jsp 외 7개 (이전 게시물 회원가입 프로그램 수정 및 보완)

MemberJoin.jsp
MemberJoinProc.jsp
MemberBean.java
MemberList.jsp
위 4개는 이전 게시물 소스와 동일

















 - MemberDao.java 소스
package member;

import java.sql.*;
import java.util.Vector;

public class MemberDao {

String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";
String id="system";
String pass="123456";
Connection con;
PreparedStatement pstmt;
ResultSet rs;

// 데이터 베이스에 접근하는 메소드 
public void con(){

try {

// 1.어느 데이터 베이스를 사용할건지를 설정 
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2.실제 데이터 베이스에 접근하기위한 소스를 작성 == 접속완료되면 커넥션을 리턴
con = DriverManager.getConnection(url, id, pass); 

}catch(Exception e){
e.printStackTrace();
}
}

// 맴버 데이터를 저장하는 메소드
public void insertMember(MemberBean mbean){
// 데이터 베이스에 접근
this.con();
// 쿼리준비
String sql ="insert into member values(?,?,?,?,?,?,?,?,?,?,?,?)";
// 쿼리 실행객체 준비
try {
pstmt = con.prepareStatement(sql);
// ?에 데이터 입력
pstmt.setString(1, mbean.getId());
pstmt.setString(2, mbean.getPass());
pstmt.setString(3, mbean.getName());
pstmt.setString(4, mbean.getGender());
pstmt.setString(5, mbean.getHobby1());
pstmt.setString(6, mbean.getHobby2());
pstmt.setString(7, mbean.getAddress());
pstmt.setString(8, mbean.getEmail());
pstmt.setString(9, mbean.getPhone1());
pstmt.setString(10, mbean.getPhone2());
pstmt.setString(11, mbean.getPhone3());
pstmt.setString(12, mbean.getIntroduce());

// 쿼리를 실행 하시오
pstmt.executeUpdate();
// 자원 반납
pstmt.close();
con.close();

} catch (SQLException e) {
e.printStackTrace();
}
}


// 모든 회원에 대한 가져오는 메소드
public Vector<MemberBean> getAllMember(){

Vector<MemberBean> vector = new Vector<>();
MemberBean bean;

try {
// 커넥션 연결
this.con();
// 쿼리 준비
String sql = "select * from member";
// 쿼리 실행
pstmt = con.prepareStatement(sql);
// 쿼리 실행후 결과를 resultset이 받아줌
rs =pstmt.executeQuery();
// 반복문을 이용하여 데이터를 빈클래스에 담은후에 그빈 클래스를 백터에 저장
while(rs.next()){
bean = new MemberBean();
bean.setId(rs.getString(1));
bean.setPass(rs.getString(2));
bean.setName(rs.getString(3));
bean.setGender(rs.getString(4));
bean.setHobby1(rs.getString(5));
bean.setHobby2(rs.getString(6));
bean.setAddress(rs.getString(7));
bean.setEmail(rs.getString(8));
bean.setPhone1(rs.getString(9));
bean.setPhone2(rs.getString(10));
bean.setPhone3(rs.getString(11));
bean.setIntroduce(rs.getString(12));
// 빈클래스에 담은 데이터를 백터에 추가
vector.add(bean);
}
con.close();
pstmt.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
return vector;
}


// 한사람의 대한 정보를 모두 얻어오는 메소드
public MemberBean getOneMember(String id){

MemberBean bean=null; // 리턴하기위해서 필요한 객체- 한사람의 정보가 저장되는 클래스
try {
// 커넥션연결
this.con();
// 쿼리 준비
String sql ="select * from member where id=?";
// 쿼리를 실행시킬 객체 선언
pstmt = con.prepareStatement(sql);
// ?에 값을 입력
pstmt.setString(1, id);

// 쿼리 실행후 데이터를 리턴 받음
rs = pstmt.executeQuery();

while(rs.next()){
bean = new MemberBean();
bean.setId(rs.getString(1));
bean.setPass(rs.getString(2));
bean.setName(rs.getString(3));
bean.setGender(rs.getString(4));
bean.setHobby1(rs.getString(5));
bean.setHobby2(rs.getString(6));
bean.setAddress(rs.getString(7));
bean.setEmail(rs.getString(8));
bean.setPhone1(rs.getString(9));
bean.setPhone2(rs.getString(10));
bean.setPhone3(rs.getString(11));
bean.setIntroduce(rs.getString(12));
}

con.close();
pstmt.close();
rs.close();

} catch (Exception e) {
}
return bean;
}

// 회원 정보 수정
public void updateMember(String id , String address, String email){

try {

con();
// 쿼리준비
String sql="update member set address=?, email=? where id=?";
// 쿼리를 실행할수 있는 객체 생성
pstmt = con.prepareStatement(sql);
pstmt.setString(1, address);
pstmt.setString(2, email);
pstmt.setString(3, id);

// 쿼리 실행
pstmt.executeUpdate();

pstmt.close();
con.close();

} catch (Exception e) {
}
}


// 회원 정보 삭제
public void deleteMember(String id){

try {
con();
// 쿼리준비
String sql="delete from member where id=?";
// 쿼리를 실행할수 있는 객체 생성
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
// 쿼리 실행
pstmt.executeUpdate();

pstmt.close();
con.close();

} catch (Exception e) {
}
}
}


 - MemberInfo.jsp 소스
<%@page import="member.MemberBean"%>
<%@page import="java.util.Vector"%>
<%@page import="member.MemberDao"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<%
String id = request.getParameter("id");
// Dao클래스에 있는 한사람에대한 정보를 얻어오는 메소드를 작성
MemberDao mdao = new MemberDao();

MemberBean bean = mdao.getOneMember(id); 
%>

<h2>  회 원 가 입 </h2>

<form action="MemberUpdate.jsp" method="post">
<table border = "1" bgcolor = "lightyellow" cellpadding = "5">
<tr>
<td> 아이디 </td>
<td> <input type="text" name="id" value="<%=bean.getId()%>" disabled> </td>
<td colspan = "2" align = "right"><b> *8자이내 </b> </td>
</tr>

<tr>
<td> 비밀번호 </td>
<td> <input type = "password" name = "pass" value = "<%=bean.getPass()%>"> </td>
<td> 성명 </td>
<td> <input type = "text" name = "name" value = "<%=bean.getName()%>"> </td>
</tr>

<tr>
    <td> 성별 </td>
    <td><input type = "radio" name = "gender" value = "남"> 남
    <input type = "radio" name = "gender" value = "여"> 여 </td>
    <td> 취미 </td>
    <td><input type = "checkbox" name = "hobby1" value = "음악감상"> 음악감상 
    <input type = "checkbox" name = "hobby2" value = "영화감상"> 영화감상 </td>
    </tr>
   
<tr>
<td> 주소  </td>
<td> <input type = "text" name = "address" value = "<%=bean.getAddress()%>"> </td>
<td> 이메일 </td>
<td> <input type = "text" name = "email" value = "<%=bean.getEmail()%>"> </td>
</tr>

<tr>
    <td> H.P </td>
    <td> <select name = "phone1">
<option value = "010"> 010 </option>
      <option value = "011"> 011 </option>
      <option value = "070"> 070 </option>
    </select> 
    &nbsp; - &nbsp; <input type = "text" name = "phone2" size = "4">
      &nbsp; - &nbsp; <input type = "text" name = "phone3" size = "4"> </td>
     
<td colspan = "2" align = "right"> <b>*필수입력 </b> </td>
</tr>

<tr>
<td> 자기소개 </td>
<td colspan = "3"><textarea cols = "50" rows = "3" name = "introduce"><%=bean.getIntroduce() %></textarea> </td>
</tr>

<tr>
<td colspan = "4" align = "center"> 
<input type = "submit" value = "수정">
<input type="button" value="삭제" onclick = "window.location='MemberDelete.jsp?id=<%=bean.getId()%>'"> </td>
</tr>
</table>

<input type = "hidden" name="updateid" value="<%=bean.getId()%>">
</form>
</center>
</body>
</html>


 - 결과


















 - MemberUpdate.jsp 소스
<%@page import="member.MemberDao"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<%
request.setCharacterEncoding("euc-kr");
String id = request.getParameter("updateid");
String address = request.getParameter("address");
String email = request.getParameter("email");

//디비 연결객체 생성
MemberDao mdao = new MemberDao();
// 한사람의 대한 정보를 수정하는 메소드 호출
mdao.updateMember(id , address, email); 

response.sendRedirect("MemberList.jsp");
%>
</center>
</body>
</html>


 - 결과















 - MemberDelete.jsp 소스
<%@page import="member.MemberDao"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("euc-kr");
String id = request.getParameter("id");

// 디비 연결객체 생성
MemberDao mdao = new MemberDao();
// 한사람의 대한 정보를 수정하는 메소드 호출
mdao.deleteMember(id);

response.sendRedirect("MemberList.jsp");
%>
</body>
</html>


 - 결과