회원정보를 수정하면 input 태그에 editable이 가능해서 수정하게끔 합니다.
그럼 회원정보에서 가져온 데이터(이메일, 전화번호) 를 input value에 넣어서
가져옵니다
MemberInfo.jsp
<%@page import="model.MemberDAO"%>
<%@page import="model.MemberBean"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 1.데이터 베이스에서 한 회원의 정보를 가져옴 2. table태그를 이용하여 화면에 회원의 정보를 출력 -->
<%
String id=request.getParameter("id");
MemberDAO mdao = new MemberDAO();
MemberBean mbean = mdao.oneSelectMember(id);
%>
<center>
<h2>회원 정보 보기</h2>
<table width="400" border="1">
<tr height="50">
<td align="center" width="150"> 아이디</td>
<td width="250"> <%=mbean.getId() %></td>
</tr>
<tr height="50">
<td align="center" width="150"> 이메일</td>
<td width="250"> <%=mbean.getEmail() %></td>
</tr>
<tr height="50">
<td align="center" width="150"> 전화번호</td>
<td width="250"> <%=mbean.getTel() %></td>
</tr>
<tr height="50">
<td align="center" width="150">취미</td>
<td width="250"> <%=mbean.getHobby() %></td>
</tr>
<tr height="50">
<td align="center" width="150">직업</td>
<td width="250"> <%=mbean.getJob() %></td>
</tr>
<tr height="50">
<td align="center" width="150">나이</td>
<td width="250"> <%=mbean.getAge() %></td>
</tr>
<tr height="50">
<td align="center" width="150">정보</td>
<td width="250"> <%=mbean.getInfo() %></td>
</tr>
<tr height="50">
<td align="center" colspan="2">
<button onclick="location.href='MemberUpdateForm.jsp?id=<%=mbean.getId()%>'">회원수정</button>
<button onclick="location.href='MemberDeleteForm.jsp?id=<%=mbean.getId()%>'">회원삭제</button>
<button onclick="location.href='MemberList.jsp'">목록보기</button>
<button onclick="location.href='MemberJoin.jsp'">회원가입</button>
</td>
</table>
</center>
</body>
</html>
이렇게 가져온 데이터를 input value에 넣습니다
해당 강의는 비밀번호가 일치하면 수정이 가능하게금 했습니다. 회원수정 버튼을 누르면 받은 id 값을 그대로 MemberUpdateForm으로 넘겨줍니다
MemberUpdateForm.jsp
<%
String id=request.getParameter("id");
MemberDAO mdao = new MemberDAO();
MemberBean mbean = mdao.oneSelectMember(id);
%>
<center>
<h2>회원 정보 수정하기</h2>
<form action="MemberUpdateProc.jsp" method="post">
<table width="400" border="1">
<tr height="50">
<td align="center" width="150"> 아이디</td>
<td width="250"> <%=mbean.getId() %></td>
</tr>
<tr height="50">
<td align="center" width="150"> 이메일</td>
<td width="250"><input type="email" name="email" value="<%=mbean.getEmail() %>"> </td>
</tr>
<tr height="50">
<td align="center" width="150"> 전화번호</td>
<td width="250"><input type="text" name="text" value="<%=mbean.getTel() %>"></td>
</tr>
<tr height="50">
<td align="center" width="150">패스워드</td>
<td width="250"><input type="password" name="pass1"></td>
</tr>
<tr height="50">
<td align="center" colspan="2">
<input type="hidden" name="id" value="<%=mbean.getId()%>">
<!-- 아이디는 input 타입이 아니라 수정되지 않은채 넘어가야 합니다, 그걸 해주는게 input type="hidden" -->
<input type="submit" value="회원 수정하기"/>
<button onclick ="location.href='MemberList.jsp'">회원전체보기</button>
</td>
</tr>
</table>
</form>
</center>
</body>
선택한 아이디가 가진 정보가 뿌려졌스빈다. 회원수정하기 버튼을 누르면 해당 정보가
MemberUpdateProc 로 넘어갑니다, 이메일, 전화번호는 수정가능하지만 id는 고정시켰습니다 , 패스워드 텍스트 파일은 아이디를 memberDAO에 던져주어 (클라스를 만들었습니다) 비밀번호를 가져오게 했습니다.
MemberDAO.jsp
public String getPass(String id) {
String pass="";
try {
getCon();
String sql = "select pass1 from member1 where id =?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, sql);
rs = pstmt.executeQuery();
if(rs.next()) {
pass = rs.getString(1);
}
con.close();
}catch(Exception e) {
e.printStackTrace();
}
return pass;
MemberUpdateProc.jsp
<body>
<% request.setCharacterEncoding("utf-8");
%>
<jsp:useBean id="mbean" class="model.MemberBean">
<jsp:setProperty name="mbean" property="*"/>
</jsp:useBean>
<%
String id = request.getParameter("id");
MemberDAO mdao = new MemberDAO();
String pass = mdao.getPass(id);
//수정하기 위해서 작성한 패스워드값과 기존 데이터 베이스에서 가져온 패스워드값을 비교
if(mbean.getPass1().equals(pass)){
}else{
%>
<script type="text/javascript">
alert("패스워드가 틀렸습니다");
history.go(-1);
</script>
<%
}
%>
</body>
에서 아이디의 비밀번호(쿼리문에서 가져온) 가 일치하면, 혹은 틀리면 이라는
문장을 작성했습니다