[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 (메인 페이지)
- 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 개념을 사용하여 소스코드가 간결해졌다.