728x90
반응형
수정을 누르기전에,
member_detail.jsp 19번째 줄을 살펴보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <%@ 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> <form action="memberList.do" method="post"> 아이디 ${member.memId } <br> 이름 ${member.memName } <br> 성별 ${member.gender } <br> 가입일 ${member.createDate } <br> 소개글 ${member.intro } <br> <br> <input type="submit" value="뒤로가기"> <input type="button" value="삭제" onclick="location.href='memberDelete.do?memId=${member.memId }';"> <input type="button" value="수정" onclick="location.href='memberUpdate.do?memId=${member.memId}';"> </form> </body> </html> | cs |
서블릿의 memberUpdate.do로 memId 값을 들고간다.
MemberController.java 서블릿
역시나 memId 데이터를 받아와 저장하고, 바로 member-mapper로 가서 쿼리를 짜주자.
member-mapper.xml
바꿔줄 값이 4개이다.
MemberService.java 인터페이스
MemberServiceImpl.java 클래스
//매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성)
//매개변수 : 쿼리 실행 시 빈 값을 채울 용도
//1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음
//2. 채워줄 값이 하나일 경우
// 2-1) 채워줄 값이 숫자인 경우 : 매개변수 int형 하나
.// 2-2) 채워줄 값이 문자인 경우 : 매개변수 String형 하나
//3. 채워줄 값이 여러개인 경우 : 매개변수는 DTO 객체.
// 리턴타입 : 쿼리 실행 결과를 어떻게 받아올지에 대한 정의
// INSERT, UPDATE, DELETE 쿼리 실행 결과는
// 리턴타입을 int 혹은 void 사용하면됨.
// SELECT 쿼리 결과의 리턴타입은 크게 두 가지로 나뉨.
// 조회결과 데이터가 무조건 한줄만 조회 : DTO 객체.
// 조회 결과 데이터가 0줄이상 가변적일 경우 : List<DTO> 객체.
MemberController.java 서블릿
MemberDTO의 member 객체에 가지고온 memId 값을 넣고,
setAtrribute를 이용해 member라는 이름으로 member_update.jsp에 전달한다.
member_update.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="updateMember.do" method="post"> <input type="hidden" name="memId" value="${member.memId }"> 아이디 : ${member.memId } <br> 이름 <input type="text" name="memName" value="${member.memName }"> <br> 성별 <c:if test="${member.gender eq '남' }"> <input type="radio" name="gender" checked value="남">남 <input type="radio" name="gender" value="여">여 <br> </c:if> <c:if test="${member.gender eq '여' }"> <input type="radio" name="gender" value="남">남 <input type="radio" name="gender" checked value="여">여 <br> </c:if> <%-- <input type="radio" name="gender" <c:if test="${member.gender eq '남' }">checked</c:if>남 <input type="radio" name="gender" <c:if test="${member.gender eq '여' }">checked</c:if>>여 <br> 똑같은 문장임 --%> 가입일 <input type="date" name="createDate" value="${member.createDate }"><br> <input type="submit" value="수정!"> </form> </body> </html> | cs |
jsp에서 데이터를 가지고 서블릿 updateMember.do 로 이동한다.
MemberController.java 서블릿
jsp에서 받아온 memName, gender, createDate, memId를 저장시킨다.
이후 아까 만들었던 member-mapper에서 updateMember 메소드 데이터 값들을 memberService에 부착한다.
이후 다시 member_detail.do 서블릿으로 가며 수정을 종료한다. 이때 memId를 함께 가져가야한다.
데이터베이스에도 수정된 값이 잘 나타나있다.
새로 로그인을 하면 회원 정보가 달라진 것을 확인할 수 있다.
728x90
반응형
'✨ Back-end > Servlet' 카테고리의 다른 글
[Servlet / JSP ] 세션(Session) 데이터 저장, 전달, 삭제 방법 (0) | 2023.02.26 |
---|---|
[Servlet / JSP ] 템플릿 형태로 JSP 사용하기 <jsp : include> (0) | 2023.02.23 |
[Servlet / JSP / SQL] 회원 관리 폼 만들기 (3) - DELETE(회원 삭제) (0) | 2023.02.23 |
[Servlet / JSP / SQL] 회원 관리 폼 만들기 (2) - INSERT(회원 등록) (0) | 2023.02.22 |
[Servlet / JSP / SQL] 회원 관리 폼 만들기 (1) - CREATE (DB 테이블 생성) (0) | 2023.02.22 |
댓글