접기
package member.servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;
import member.dto.MemberDTO;
public class ModifyFormServlet extends HttpServlet { private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); if(session.getAttribute("dto") != null) { response.sendRedirect("/member_servlet/res/modify_form.jsp"); } else { request.setAttribute("error_message" , "로그인하지 않았습니다. 로그인 먼저 해주세요"); RequestDispatcher rdp = request.getRequestDispatcher("/login.form.jsp"); rdp.forward(request, response); } }
}
접기
접기
< %@page import="member.dto.MemberDTO"%> <%@ 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 dto = (MemberDTO)session.getAttribute("dto"); %>
<h2>Modify Form</h2>
<h3><font color="red" size="4"><%= dto.getId() %>님 로그인 정보</font></h3><br> <form method="post" action="/member_servlet/modifyMember"> ID : <%= dto.getId() %><br> Password : <input type="password" name="password" size="20"><br> 이름 : <input type="text" name="name" size="20"><br> 주민번호 : <input type="text" name="regi_num" size="13" maxlength="13"><br> 마일리지 : <%= dto.getMileage() %><br> <input type="submit" value="수정"> <input type="reset" value="다시작성"> </form> </body> </html>
접기
접기
package member.servlet;
import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException;
import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;
import member.dto.MemberDTO;
public class ModifyMemberServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //인코딩 처리 request.setCharacterEncoding("utf-8"); //한글을 입력받기 위해서 필요한 메소드(한글처리) response.setContentType("text/html;charset=utf-8"); String resUrl = null; //session 처리 HttpSession session = request.getSession(); MemberDTO m = (MemberDTO)session.getAttribute("dto"); Connection conn =null; PreparedStatement pstmt =null; String sql = "update member set password= ?, name = ?, register_number= ? where id= ?"; if(m==null) { request.setAttribute("error_message" , "로그인하지 않았습니다. 로그인 먼저 해주세요"); resUrl = "/login_form.jsp"; } else { //요청 파라미터 조회 String pwd = (String)request.getParameter("password"); String name = (String)request.getParameter("name"); String regi_num = (String)request.getParameter("regi_num"); int mileage = 1000; ServletContext ctx = getServletContext(); String url = ctx.getInitParameter("url"); String user = ctx.getInitParameter("user"); String password = ctx.getInitParameter("password"); try { conn = DriverManager.getConnection(url, user, password); pstmt = conn.prepareStatement(sql); pstmt.setString(1, pwd); pstmt.setString(2, name); pstmt.setString(3, regi_num); pstmt.setString(4, m.getId()); pstmt.executeUpdate(); MemberDTO dto = new MemberDTO(m.getId(), pwd, name, regi_num, m.getMileage()); session.setAttribute("dto", dto); resUrl = "/res/member_detail.jsp"; } catch (SQLException e) { e.printStackTrace(); request.setAttribute("error_message", e.getMessage()); resUrl="/res/error.jsp"; } } RequestDispatcher rdp = request.getRequestDispatcher(resUrl); rdp.forward(request, response); } }
접기
접기
< %@page import="member.dto.MemberDTO"%> <%@ 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> <h2><font color="red" size="4" >수정 결과</font></h2><br> <% MemberDTO dto = (MemberDTO)session.getAttribute("dto"); %> ID : <%= dto.getId() %><br> Password : <%= dto.getPassword() %><br> 이름 : <%= dto.getName() %><br> 주민번호 : <%= dto.getRegisterNumber() %><br> 마일리지 : <%= dto.getMileage() %><br> </body> </html>
접기