-
[ERMaster] shoppingmall - updateWEB/ERMaster 2022. 9. 10. 12:20
회원 정보 수정하기
header.jsp에 정보수정 command 추가 else if(command.equals("editForm")) ac=new EditFormAction();
package com.sam.shop.controller.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EditFormAction implements Action { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher dp =request.getRequestDispatcher("member/updateForm.jsp"); dp.forward(request,response); } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="../header.jsp" %> <%@ include file="sub_image_menu.html" %> <article> <h2>Edit Profile</h2> <!-- 회원가입 폼과 같이 주소 검색 시 결과를 받기 위해 폼이름을 updateForm이 아니고 joinForm으로 함 --> <form method="post" name="joinForm"> <input type="hidden" name="command" value="memberUpdate"/> <fieldset> <legend>Basic info</legend> <!-- id는 수정 대상이 아니면서 submit할 때 전송될 대상이므로 input type="text"로 하되 readonly로 설정해서 수정을 금지시킴 --> <label>User ID</label> <input type="text" name="id" value="${loginUser.id}" readonly><br> <label>Password</label> <input type="password" name="pwd"><br> <label>Retype Password</label> <input type="password" name="pwdCheck"><br> <label>Name</label> <input type="text" name="name" value="${loginUser.name }"><br> <label>E-Mail</label> <input type="text" name="email" value="${loginUser.email }"><br> </fieldset> <fieldset> <legend>Optional</legend> <label>Zip Code</label> <input type="text" name="zip_num" size="10" value="${loginUser.zip_num }"> <input type="button" value="주소 찾기" class="dup" onclick="post_zip()"><br> <label>Address</label> <input type="text" name="address1" size="50" value="${loginUser.address1 }"><br> <label> </label> <input type="text" name="address2" size="25" value="${loginUser.address2}"><br> <label>Phone Number</label> <input type="text" name="phone" value="${loginUser.phone }"><br> </fieldset><div class="clear"></div> <div id="buttons"> <input type="button" value="정보수정" class="submit" onclick="go_update();"> <input type="reset" value="취소" class="cancel"> </div> </form> </article> <%@include file="../footer.jsp" %>
function go_update(){ if( document.joinForm.pwd.value==""){ alert("비밀번호을 입력해 주세요"); document.joinForm.pwd.focus(); }else if( document.joinForm.pwd.value!= document.joinForm.pwdCheck.value){ alert("비밀번호가 일치하지 않습니다"); document.joinForm.pwd.focus(); }else if( document.joinForm.name.value==""){ alert("이름을 입력해 주세요"); document.joinForm.name.focus(); }else if( document.joinForm.email.value==""){ alert("이메일을 입력해 주세요"); document.joinForm.email.focus(); }else{ document.joinForm.action="shop.do"; document.joinForm.submit(); } }
정보 수정 실행하기
else if(command.equals("memberUpdate")) ac=new MemberUpdateAction();
package com.sam.shop.controller.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.sam.shop.dao.MemberDao; import com.sam.shop.dto.MemberVO; public class MemberUpdateAction implements Action { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { MemberVO mvo=new MemberVO(); mvo.setId(request.getParameter("id")); mvo.setPwd(request.getParameter("pwd")); mvo.setName(request.getParameter("name")); mvo.setEmail(request.getParameter("email")); mvo.setZip_num(request.getParameter("zip_num")); mvo.setAddress1(request.getParameter("address1")); mvo.setAddress2(request.getParameter("address2")); mvo.setPhone(request.getParameter("phone")); MemberDao mdao=MemberDao.getInstance(); mdao.updateMember(mvo); HttpSession session = request.getSession(); // 정보가 수정되었으면 // 수정된 내용을 세션의 로그인 값을 변경함 session.setAttribute("loginUser",mvo); RequestDispatcher rd =request.getRequestDispatcher("shop.do?command=index"); rd.forward(request, response); } }
MemberDao에 updateMember 생성
public void updateMember(MemberVO mvo) { String sql = "Update member set pwd=?, name=?, " +"zip_num=?, address1=?, address2=?, " + "email=?, phone=? where id=?"; con = Dbman.getConnection(); try { pstmt = con.prepareStatement(sql); pstmt.setString(1, mvo.getPwd()); pstmt.setString(2, mvo.getName()); pstmt.setString(3, mvo.getZip_num()); pstmt.setString(4, mvo.getAddress1()); pstmt.setString(5, mvo.getAddress2()); pstmt.setString(6, mvo.getEmail()); pstmt.setString(7, mvo.getPhone()); pstmt.setString(8, mvo.getId()); pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { Dbman.close(con, pstmt, rs); } }
'WEB > ERMaster' 카테고리의 다른 글
[ERMaster] shoppingmall - category (0) 2022.09.10 [ERMaster] shoppingmall - find ID, PW (0) 2022.09.10 [ERMaster] shoppingmall - login, logout, join (0) 2022.09.10 [ERMaster] shoppingmall - main (0) 2022.09.10 [ERMaster] 설치 후 테이블 생성 (0) 2022.09.10