📌DB Connection Pool JDBC를 통해 연동하였을 때, 웹 클라이언트에서 요청할 때마다 DB 서버에 연결하기 위해 Connection 객체를 얻어야 한다. SQL 작업을 할 때마다 DB Connection 객체를 생성한다면, 실행 속도가 느려지고 많은 Gabage가 생성될 것이다. 실행 속도가 느려지는 이유는 Connection을 맺을 때마다 DB 서버는 사용자 인증과 권한 검사를 수행하고 요청 처리를 위한 준비 작업을 해야 하기 때문이다. 이런 문제를 해결하기 위해 DB Connection Pool이 등장하였다. DB ConnectionPool을 이용하면, 각 요청에 대해 별도의 Connection 객체를 사용하기 때문에 다른 작업에 영향을 주지 않는다. 또한 사용한 DB Connectio..
데이터 보관소 서블릿 기술은 데이터를 공유하기 위한 방안으로 네 가지 종류의 데이터 보관소를 제공한다. 각각의 데이터 보관소는 공유 범위를 기준으로 구분된다. 자세하게 설명하기 앞서 간단한 코드로 가볍게 설명하도록 하겠다. ... ServletContext ctx = getServletContext(); HttpSession session = request.getSession(); ctx.setAttribute("context", ctxValue); session.setAttribute("session", sessValue); request.setAttribute("request", reqValue); 이와 같이 ServletContext / HttpSession / HttpServletRequest 객..
📌회원가입 뷰 페이지 joinForm.jsp 회원 가입 아이디 : 비밀번호 : 이름 : 나이 : 성별 : 남자 여자 이메일 주소 : 제출 다시 작성 📌로그인 뷰 페이지 loginForm.jsp 로그인 아이디 : 비밀번호 : 로그인 회원가입 📌회원 목록 List 뷰 페이지 MemberLisr.jsp 관리자 모드-회원 목록 ${member.MEMBER_ID} 삭제 📌회원 상세 정보 뷰 페이지 memberInfo.java 아이디 : ${member.MEMBER_ID } 비밀번호 : ${member.MEMBER_PW} 이름 : ${member.MEMBER_NAME} 나이 : ${member.MEMBER_AGE} 성별 : ${member.MEMBER_GENDER} 이메일 주소 : ${member.MEMBER_EM..
📌회원가입 요청 비즈니스 로직 처리 MemberJoinService.java package service; import vo.MemberBean; import static db.JdbcUtil.*; import java.sql.Connection; import dao.MemberDAO; public class MemberJoinService { public boolean joinMember(MemberBean member) { boolean joinSuccess = false; //회원 가입 성공 여부 MemberDAO memberDAO = MemberDAO.getInstance(); Connection con = getConnection(); memberDAO.setConnection(con); int..
📌Action 인터페이스 Action.java Action 인터페이스를 만들어 모든 Action 클래스들에서 execute 메소드를 정의하도록 만듦 package action; import javax.servlet.http.*; import vo.ActionForward; public interface Action { public ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception; } 📌회원가입 요청 MemberJoinAction.java package action; import java.io.PrintWriter; import javax.servlet.http.HttpServletR..
📌컨트롤러 클래스 MemberFrontController.java 앞서 설명했듯이 모든 클라이언트의 요청을 한 컨트롤러 파일이 받아서 제어하는 FrontController 패턴을 구현할 것이다. package controller; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import action.Action; imp..