Spring 회원가입 dto - Spring hoewongaib dto

[4] 스프링(Spring Tools 4) DB : home.jsp에서 Dto 사용

1. 스프링(Spring Tools 4) DB : home.jsp에서 Dto 사용

<%@ taglib uri="//java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head><title>Home</title></head>
<body>
<h2>Hello world!  </h2>
<P>

<c:forEach var="dto" items="${list}">
 ${dto.idx}/${dto.name}<br>
</c:forEach>
</P>
</body>
</html>

- 지난 시간 작업 내용 

//skillazit.tistory.com/39

[JSP] 톰캣 + mariadb 간단한 회원 등록 예제

오늘은 jsp 의 기초 동작 원리를 파악하기 위해 샘플 페이지를 만들었다. ui는 신경쓰지 않았고 maria db 를 통한 crud 기초 기능을 구현하였다. - 사용환경 - 이클립스 최신버전설치 - create project - web

skillazit.tistory.com

- 첫번째 시간에 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 /> <h2>학생 정보 입력</h2> <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 개념을 사용하여 소스코드가 간결해졌다.

Toplist

최신 우편물

태그