반응형
📌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 |