DTO(Data Transfer Object
: 계층 사이에서 데이터를 교환하기 위해 생성하는 객체(VO라고도 함)
구성 - 멤버 변수, 게터, 세터
DAO(Data Access Object)
: DB 데이터에 접근하기 위한 객체
JDBC를 통해 구현, CRUD 전담
DAO를 통해 DTO 획득
로그인 처리 JSP 예시
<%@ page import="membership.MemberDTO"%>
<%@ page import="membership.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
// 로그인 폼으로부터 받은 아이디와 패스워드
String userId = request.getParameter("user_id");
String userPwd = request.getParameter("user_pw");
// web.xml에서 가져온 데이터베이스 연결 정보
String oracleDriver = application.getInitParameter("OracleDriver");
String oracleURL = application.getInitParameter("OracleURL");
String oracleId = application.getInitParameter("OracleId");
String oraclePwd = application.getInitParameter("OraclePwd");
// 회원 테이블 DAO를 통해 회원 정보 DTO 획득
MemberDAO dao = new MemberDAO(oracleDriver, oracleURL, oracleId, oraclePwd);
MemberDTO memberDTO = dao.getMemberDTO(userId, userPwd);
dao.close();
// 로그인 성공 여부에 따른 처리
if (memberDTO.getId() != null) {
// 로그인 성공
session.setAttribute("UserId", memberDTO.getId());
session.setAttribute("UserName", memberDTO.getName());
response.sendRedirect("LoginForm.jsp");
}
else {
// 로그인 실패
request.setAttribute("LoginErrMsg", "로그인 오류입니다.");
request.getRequestDispatcher("LoginForm.jsp").forward(request, response);
}
%>