1. 회원정보 수정
<%@page import="magic.member.MemberBean"%>
<%@page import="magic.member.MemberDBBean"%>
<%@ 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>
<script type="text/javascript" src="script.js?v=100" charset="UTF-8"></script>
<!-- 자바스크립트 파일 뒤에 ?v=100은 자바스크립트가 바로 적용이 안될 때 변수를 입력하면 웹페이지에 바로 적용이 되기 때문에 붙임 -->
</head>
<body>
<%
String id = session.getAttribute("id").toString();
MemberDBBean manager = MemberDBBean.getInstance();
MemberBean member = manager.getMember(id);
String name = member.getMem_name();
String email = member.getMem_email();
String addr = member.getMem_addr();
// 회원정보 수정 시 보통 비밀번호만 비워져있기 때문에 비밀번호를 제외한 내용을 가져옴
%>
<table border="1" align="center">
<form method="post" action="memberUpdateOk.jsp" name="update_frm">
<tr height="50" align="center">
<td colspan="2">
<h1>회원 정보 수정</h1>
'*'표시 항목은 필수 입력 항목입니다.
</td>
</tr>
<tr height="30">
<td width="80">User ID</td>
<td><%= id %></td>
</tr>
<tr height="30">
<td width="80">암 호</td>
<td><input type="password" id="pwd" name="mem_pwd" size="20">*</td>
</tr>
<tr height="30">
<td width="80">암호 확인</td>
<td><input type="password" id="pwCheck" name="pw_check" size="20">*</td>
</tr>
<tr height="30">
<td width="80">이 름</td>
<td><%= name %></td>
</tr>
<tr height="30">
<td width="80">E-mail</td>
<td><input type="text" id="mail" name="mem_email" size="30" value="<%= email %>">*</td>
</tr>
<tr height="30">
<td width="80">주 소</td>
<td><input type="text" id="addr" name="mem_addr" size="40" value="<%= addr %>"></td>
</tr>
<tr align="center">
<td colspan="2">
<input type="button" onclick="update_check_ok()" value="수정" />
<input type="reset" value="다시입력" />
<input type="button" value="수정안함" onclick="javascript:window.location='login.jsp'"/>
</td>
</tr>
</form>
</table>
</body>
</html>
2. 자바스크립트 추가 - 함수 추가
function update_check_ok(){
var pw = document.getElementById("pwd").value;
if(!pw){
alert("패스워드는 반드시 입력해야 합니다.");
update_frm.mem_pwd.focus();
return;
}
var pwCheck = document.getElementById("pwCheck").value;
if(pw!=pwCheck){
alert("패스워드가 일치하지 않습니다.");
update_frm.mem_pwd.focus();
return;
}
var mail = document.getElementById("mail").value;
if(!mail){
alert("Email을 써주세요.");
update_frm.mem_email.focus();
return;
}
document.update_frm.submit();
}
3. 자바 빈(MemberDBBean) - 메소드 추가
public int updateMember(MemberBean member) throws Exception{
String updateQuery = "UPDATE MEMBERT SET MEM_PWD=?, MEM_NAME=?, MEM_EMAIL=?, MEM_ADDRESS=? WHERE MEM_UID=?";
int re = -1; // 수정 실패
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = getConnection();;
pstmt = conn.prepareStatement(updateQuery);
pstmt.setString(1, member.getMem_pwd());
pstmt.setString(2, member.getMem_name());
pstmt.setString(3, member.getMem_email());
pstmt.setString(4, member.getMem_addr());
pstmt.setString(5, member.getMem_uid());
pstmt.executeUpdate();
re = 1; // 수정 성공
System.out.print("변경 성공");
} catch(SQLException ex){
System.out.print("변경 실패");
ex.printStackTrace();
} finally {
try{
if(pstmt != null) {
pstmt.close();
}
if(conn != null) {
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
return re;
}
4. 정보 수정 처리
<%@page import="magic.member.MemberDBBean"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("UTF-8"); %>
// 한글일 경우 input에서 제한한 글자보다 많아져서 오류가 발생함 > 인코딩 필요
<jsp:useBean class="magic.member.MemberBean" id="mb"></jsp:useBean>
<jsp:setProperty property="*" name="mb" />
<%
String id = session.getAttribute("id").toString();
mb.setMem_uid(id);
MemberDBBean manager = MemberDBBean.getInstance();
int re = manager.updateMember(mb);
if(re==1){
%>
<script>
alert("회원정보가 수정되었습니다.");
document.location.href= "main.jsp";
</script>
<%
} else {
%>
<script>
alert("정보 수정에 실패했습니다.");
history.go(-1);
</script>
<%
}
%>
'java,jsp,spring > JSP' 카테고리의 다른 글
JSP 게시판 (1) 글쓰기 (0) | 2022.09.06 |
---|---|
JSP 게시판 (0) | 2022.09.06 |
JSP 예제 - 사용자 관리(2단계) (0) | 2022.09.03 |
JSP 예제 - 사용자 관리(1단계) (0) | 2022.09.03 |
DBCP 기법 (0) | 2022.08.26 |