반응형
📌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.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import service.MemberJoinService; import vo.ActionForward; import vo.MemberBean; public class MemberJoinAction implements Action{ public ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception{ MemberBean member=new MemberBean(); boolean joinResult=false; member.setMEMBER_ID(request.getParameter("MEMBER_ID")); member.setMEMBER_PW(request.getParameter("MEMBER_PW")); member.setMEMBER_NAME(request.getParameter("MEMBER_NAME")); member.setMEMBER_AGE(Integer.parseInt(request.getParameter("MEMBER_AGE"))); member.setMEMBER_GENDER(request.getParameter("MEMBER_GENDER")); member.setMEMBER_EMAIL(request.getParameter("MEMBER_EMAIL")); MemberJoinService memberJoinService = new MemberJoinService(); joinResult=memberJoinService.joinMember(member); ActionForward forward = null; if(joinResult==false){ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<script>"); out.println("alert('회원등록실패')"); out.println("history.back()"); out.println("</script>"); } else{ forward = new ActionForward(); forward.setRedirect(true); forward.setPath("./memberLogin.me"); } return forward; } }
📌로그인 요청
MemberLoginAction.java
package action; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import service.MemberLoginService; import vo.ActionForward; import vo.MemberBean; public class MemberLoginAction implements Action{ public ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception{ HttpSession session=request.getSession(); MemberBean member=new MemberBean(); member.setMEMBER_ID(request.getParameter("MEMBER_ID")); member.setMEMBER_PW(request.getParameter("MEMBER_PW")); MemberLoginService memberLoginService = new MemberLoginService(); boolean loginResult = memberLoginService.login(member); ActionForward forward = null; if(loginResult){ forward = new ActionForward(); session.setAttribute("id", member.getMEMBER_ID()); forward.setRedirect(true); forward.setPath("./memberListAction.me"); } else{ response.setContentType("text/html;charset=euc-kr"); PrintWriter out=response.getWriter(); out.println("<script>"); out.println("alert('로그인 실패');"); out.println("location.href='./memberLogin.me';"); out.println("</script>"); } return forward; } }
📌회원 목록 List
MemberListAction.java
package action; import java.io.PrintWriter; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import service.MemberListService; import vo.ActionForward; import vo.MemberBean; public class MemberListAction implements Action{ public ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception{ HttpSession session=request.getSession(); String id=(String)session.getAttribute("id"); ActionForward forward = null; if(id==null){ //현재 로그인한 상태가 아니면 로그인 요청 다시 forward = new ActionForward(); forward.setRedirect(true); forward.setPath("./memberLogin.me"); } else if(!id.equals("admin")){ //로그인 상태지만 관리자가 아니면 로그인 요청 다시 response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("<script>"); out.println("alert('관리자가 아닙니다.');"); out.println("location.href='./memberLogin.me"); out.println("</script>"); } else{ //관리자로 로그인한 상태면 리스트 뽑기 forward = new ActionForward(); MemberListService memberListService = new MemberListService(); ArrayList<MemberBean> memberList=memberListService.getMemberList(); request.setAttribute("memberList", memberList); forward.setPath("./member_list.jsp"); } return forward; } }
📌회원 상세 정보
MemberViewAction.java
package action; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import service.MemberViewService; import vo.ActionForward; import vo.MemberBean; public class MemberViewAction implements Action{ public ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception{ HttpSession session=request.getSession(); String id=(String)session.getAttribute("id"); ActionForward forward = null; if(id==null){ //로그인 상태가 아닌 경우 forward = new ActionForward(); forward.setRedirect(true); forward.setPath("./memberLogin.me"); }else if(!id.equals("admin")){ //관리자가 아닌 경우 response.setContentType("text/html;charset=euc-kr"); PrintWriter out=response.getWriter(); out.println("<script>"); out.println("alert('관리자가 아닙니다.');"); out.println("location.href='./memberLogin.me';"); out.println("</script>"); } else{ //관리자로 로그인한 경우 forward = new ActionForward(); String viewId=request.getParameter("id"); MemberViewService memberViewService = new MemberViewService(); MemberBean member=memberViewService.getMember(viewId); request.setAttribute("member", member); forward.setPath("./member_info.jsp"); } return forward; } }
📌회원 삭제
MemberDeleteAction.java
package action; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import service.MemberDeleteService; import vo.ActionForward; public class MemberDeleteAction implements Action{ public ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception{ HttpSession session=request.getSession(); String id=(String)session.getAttribute("id"); ActionForward forward = null; if(id==null){ //로그인 상태가 아닌 경우 forward = new ActionForward(); forward.setRedirect(true); forward.setPath("./memberLogin.me"); }else if(!id.equals("admin")){ //관리자가 아닌 경우 response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("<script>"); out.println("alert('관리자가 아닙니다.');"); out.println("location.href='./memberLogin.me';"); out.println("</script>"); } else{ //관리자로 로그인한 경우 String deleteId=request.getParameter("id"); MemberDeleteService memberDeleteService = new MemberDeleteService(); boolean deleteResult=memberDeleteService.deleteMember(deleteId); if(deleteResult){ forward = new ActionForward(); forward.setRedirect(true); forward.setPath("./memberListAction.me"); } else{ response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("<script>"); out.println("alert('회원정보삭제 실패.');"); out.println("location.href='./memberLogin.me';"); out.println("</script>"); } } return forward; } }
반응형
'JSP & Servlet > 실습' 카테고리의 다른 글
[JSP & Servlet] 회원 관리 - View (0) | 2022.07.03 |
---|---|
[JSP & Servlet] 회원 관리 - Service / DAO (0) | 2022.07.03 |
[JSP & Servlet] 회원 관리 - controller (0) | 2022.07.03 |
[JSP & Servlet] 회원 관리 - 테이블 생성 및 vo(Value Object) + 기본 세팅 (0) | 2022.07.02 |
[JSP & Servlet] 쇼핑몰 (오늘 본 상품 & 장바구니) - View (0) | 2022.07.02 |