- 지난 시간 작업 내용
https://skillazit.tistory.com/39
- 첫번째 시간에 JSP 페이지를 만들었을때 서버연결 소스코드를 각페이지마다 적고
DB에 전송할 파라미터가 하나로 정리되지 않은 현상을 겪었을 것이다.
DAO, DTO 를 사용해 기존 코드를 수정하였다.
DAO : DB에 접근하는 객체
여러 사용자가 하나의 DAO 인터페이스를 사용하여 필요한 자료에 접근
DTO : 계층간 데이터 교환을 위한 자바 빈즈
로직을 가지지 않으며, getter/setter 메소드만 가진다.
- Index.jsp (메인 페이지)
<%@page import="member.MemberDTO"%>
<%@page import="java.util.ArrayList"%>
<%@page import="member.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
MemberDAO dao = new MemberDAO();
ArrayList<MemberDTO> memberList = dao.selectAll();
out.print("<table border =" + "2 " + "width =" + "700 " + "align ="
+ "center " + "bordercolor =" + "green " + "cellspacing ="
+ "2 " + " bordercolor =" + "green >");
for(MemberDTO member: memberList) {
out.print("<tr><td>" + member.getId() + "</td>");
out.print("<td>" + member.getPass() + "</td>");
out.print("<td>" + member.getName() + "</td>");
out.print("<td>" + member.getPhone() + "</td>");
out.print("<td>" + member.getAddress() + "</td>");
String update = String.format("<a href='/member/UpdateMember.jsp?id=%s'>수정</a> ", member.getId());
out.print("<td>" + update);
String delete = String.format("<a href='/member/DeleteMember.jsp?id=%s'>삭제</a>", member.getId());
out.print(delete + "</td></tr>");
}
out.print("</table>");
%>
<br />
<h1>학생 정보 입력</h1>
<form action="./member/AddMember.jsp">
<table border="1">
<tr>
<th>학번</th>
<th><input type="text" name="id" value="500"></th>
</tr>
<tr>
<th>계정</th>
<th><input type="text" name="pass" value="yu500"></th>
</tr>
<tr>
<th>이름</th>
<th><input type="text" name="name" value="유지환"></th>
</tr>
<tr>
<th>연락처</th>
<th><input type="text" name="phone" value="219-7125"></th>
</tr>
<tr>
<th>주소</th>
<th><input type="text" name="address" value="인천"></th>
</tr>
</table>
<br>
<button type="submit">추가</button>
</form>
</body>
</html>
- AddMember.jsp (추가 페이지)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="member.MemberDTO"%>
<%@page import="member.MemberDAO"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
String pass = request.getParameter("pass");
String name = request.getParameter("name");
String phone = request.getParameter("phone");
String address = request.getParameter("address");
int result = 0;
MemberDAO dao = new MemberDAO();
MemberDTO member = new MemberDTO();
member.setId(Integer.parseInt(id));
member.setPass(pass);
member.setName(name);
member.setPhone(phone);
member.setAddress(address);
result = dao.insert(member);
if (result > 0) {
out.println("레코드" + "insert" + " 성공");
}
%>
<br />
<h3><a href="../Index.jsp">처음으로</a></h3>
</body>
</html>
- UpdateMember.jsp (수정 페이지)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="member.MemberDTO"%>
<%@page import="member.MemberDAO"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
MemberDAO dao = new MemberDAO();
MemberDTO member = dao.select(Integer.parseInt(id));
Class.forName("org.mariadb.jdbc.Driver");
String url = "jdbc:mariadb://localhost:3406/example_db";
String user = "user";
String pw = "user124#";
String pass = "";
String name = "";
String phone = "";
String address = "";
pass = member.getPass();
name = member.getName();
phone = member.getPhone();
address = member.getAddress();
%>
<!-- html 생략 -->
- DeleteMember.jsp (삭제 페이지)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="member.MemberDTO"%>
<%@page import="member.MemberDAO"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
MemberDAO dao = new MemberDAO();
MemberDTO member = dao.select(Integer.parseInt(id));
Class.forName("org.mariadb.jdbc.Driver");
String url = "jdbc:mariadb://localhost:3406/example_db";
String user = "user";
String pw = "user124#";
String pass = "";
String name = "";
String phone = "";
String address = "";
pass = member.getPass();
name = member.getName();
phone = member.getPhone();
address = member.getAddress();
%>
<!-- html 생략 -->
- WorkFinish.jsp (수정, 삭제 후 완료 화면)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="member.MemberDTO"%>
<%@page import="member.MemberDAO"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Class.forName("org.mariadb.jdbc.Driver");
String url = "jdbc:mariadb://localhost:3406/example_db";
String user = "user";
String pw = "user124#";
String id = request.getParameter("id");
String pass = request.getParameter("pass");
String name = request.getParameter("name");
String phone = request.getParameter("phone");
String address = request.getParameter("address");
String sql = request.getParameter("id");
String pagetype = request.getParameter("pagetype");
MemberDTO member = new MemberDTO();
MemberDAO dao = new MemberDAO();
int result = 0;
member.setId(Integer.parseInt(id));
member.setPass(pass);
member.setName(name);
member.setPhone(phone);
member.setAddress(address);
result = dao.update(member);
if (result > 0) {
out.println("레코드" + pagetype + " 성공");
}
%>
<br />
<h3><a href="../Index.jsp">초기 화면</a></h3>
</body>
</html>
dao, dto 개념을 사용하여 소스코드가 간결해졌다.
728x90
'Programming > Web _ jsp' 카테고리의 다른 글
[JSP] 톰캣 + mariadb 간단한 회원 등록 예제 (0) | 2021.11.16 |
---|---|
javascript window.laod function($) 로딩 순서 (0) | 2018.08.10 |
[jsp_struts]Struts 기본원리 (0) | 2018.05.23 |
[Jsp+Mysql] 게시판 만들기 -2- 글 목록 (0) | 2018.05.22 |
[Jsp+Mysql] 게시판 만들기 -1- 프로젝트 세팅 (0) | 2018.05.22 |