FireDrago
[JSP] 초간단 CRUD 구현(2) 본문
앞선 게시물에서 Create와 Read 까지 만들었으니 이제 수정(Update)와 삭제(Delete)를 해보자
회원정보 수정 (Update)
회원정보 수정은
1. 수정할 회원의 이름을 입력받고,
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>회원 검색</h1>
<p>수정하고싶은 회원님의 이름을 입력하세요</p>
<form action="update_process.jsp">
이름 : <input type="text" name="name">
<input type="submit" value="검색">
</form>
</body>
</html>
2. 그 회원의 정보를 표시, 수정정보를 입력받은 뒤,
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="dto.Member" %>
<%@ page import="doa.List" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
String age = "";
for (int i = 0; i<List.arr.size(); i++) {
if(List.arr.get(i).getName().equals(name)) {
age = Integer.toString(List.arr.get(i).getAge());
}
}
%>
<p>원하는 나이를 입력하고 수정 버튼을 클릭하세요(이름은 변경할 수 없습니다.)</p>
<form action="update_result.jsp">
<input type="text" value=<%=name%> name="name">
<input type="number" value=<%=age%> name="age">
<input type="submit" value="수정">
</form>
</body>
</html>
3. 수정 프로세스를 거친다음 메인화면으로 돌아간다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="dto.Member" %>
<%@ page import="doa.List" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
String age = request.getParameter("age");
for (int i=0; i<List.arr.size(); i++) {
if (List.arr.get(i).getName().equals(name)) {
Member mb = new Member();
mb.setName(name);
//Set메서드를 사용
mb.setAge(Integer.parseInt(age));
List.arr.set(i, mb);
}
}
response.sendRedirect("main.jsp");
%>
</body>
</html>
ArrayList의 set 메서드를 사용하는 것 외에는 사실 회원가입과 크게 다르지 않다.
회원삭제(Delete)
회원삭제 역시 원리는 비슷하다 입력받은 회원이름을 통해 회원을 찾고
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>회원삭제</h1>
<p>삭제하고싶은 회원님의 이름을 입력하세요</p>
<form action="del_process.jsp">
이름 : <input type="text" name="name">
<input type="submit" value="검색">
</form>
</body>
</html>
그 회원을 삭제하는 메서드를 실행한다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import="dto.Member" %>
<%@ page import="doa.List" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("name");
for (int i =0; i<List.arr.size(); i++) {
if (List.arr.get(i).getName().equals(name)) {
List.arr.remove(i);
}
}
response.sendRedirect("main.jsp");
%>
</body>
</html>
앞의 과정을 잘 이해했다면 Delete 역시 remove 메서드 사용하는 것 외에 다른 원리가 있는것은 아니다.
'프로그래밍 > 템플릿 엔진(thymeleaf, jsp)' 카테고리의 다른 글
| [JSP] web.xml 파일을 이용한 예외처리 (0) | 2023.06.19 |
|---|---|
| [JSP] MultipartRequest 사용하여 파일 입력받기 (0) | 2023.06.18 |
| [JSP] 초간단 CRUD 구현 (0) | 2023.06.18 |
| [JSP] 액션태그 (0) | 2023.06.14 |
| [JSP] 스크립트 태그 , 디렉티브 태그 (0) | 2023.06.14 |
