6월25~27일 복습하기
주말내내 회원가입 Servlet/JSP 를 다시 만들어 보았다.
MVC2 모델 방식으로

package controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DB.memberDAO_01;
//자바스크립트 idCheck()에서 넘어옴, 자바스크립트로 넘어온 값은 기본 get 방식
@WebServlet("/idCheck.do")
public class idCheckServlet01 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userid=request.getParameter("userid"); //자바스크립트 idCheck()에서 넘어올때 같이 넘어온 userid값을 변수에 넣어줌
memberDAO_01 mDao = memberDAO_01.getInstance();
int result=mDao.confirmID(userid); //DB에 confirmID메서드 호출하여 반환값, result에 넣어주기
request.setAttribute("userid", userid);//request객체에 userid 설정해 주기
request.setAttribute("result", result);//request객체에 result 설정해 주기
RequestDispatcher dispatcher=request.getRequestDispatcher("idcheck_01.jsp"); //위에 설정값을 들고 idcheck_01.jsp로 이동
dispatcher.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import DB.memberDAO_01;
import DB.memberVO_01;
@WebServlet("/Join.do")
public class JoinServlet01 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name=request.getParameter("name"); //join_01.jsp에서 name 얻어서 변수저장
String userid=request.getParameter("userid"); //join_01.jsp에서 userid 얻어서 변수저장
String pwd=request.getParameter("pwd"); //join_01.jsp에서 pwd 얻어서 변수저장
memberVO_01 mVo= new memberVO_01(); //자바빈객체 생성
mVo.setName(name); //자바빈 객체에 join_01.jsp에서 가져온 name
mVo.setUserid(userid); //자바빈 객체에 join_01.jsp에서 가져온 userid
mVo.setPwd(pwd); //자바빈 객체에 join_01.jsp에서 가져온 pwd
memberDAO_01 mDao=memberDAO_01.getInstance(); //DB연결 객체 생성
int result= mDao.insertMember(mVo); //자바빈 객체를 매개변수를 가지고 insertMember 메서드 호출하여 반환값은 result에 넣어죠
HttpSession session=request.getSession(); //session객체 생성
if(result==1) { //memberDAO_01의 insertMember메서드를 통해 얻은 result값
session.setAttribute("userid",mVo.getUserid()); //섹션 객체에 자바빈의 Userid를 넣어줌
request.setAttribute("message", "회원가입에 성공하였습니다."); //넘겨줄 메세지 입력
}else {
request.setAttribute("message", "회원가입 실패!!!"); //넘겨줄 메세지 입력
}
RequestDispatcher dispatcher =request.getRequestDispatcher("login_01.jsp");//위에 Userid와 메세지들고 login_01.jsp로 위에 이동
dispatcher.forward(request, response);
}
}
package controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import DB.memberDAO_01;
import DB.memberVO_01;
@WebServlet("/login.do")
public class LoginServlet01 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String url="login_01.jsp";
String userid=request.getParameter("userid"); //로그인폼(login_01.jsp)에서 userid 읽어와서 변수에 넣어죠
String pwd=request.getParameter("pwd"); //로그인폼(login_01.jsp)에서 pwd 읽어와서 변수에 넣어죠
memberDAO_01 mDAO =memberDAO_01.getInstance(); //memberDAO_01 타입의 빈객체 블러오기
int result=mDAO.userCheck(userid,pwd); //userCheck 메서드를 매개값을 넘겨주면서 호출 반화값을 result변수에 담음
if(result==1) { //memberDAO_01 에서 반환받은 결과값이 1이면
memberVO_01 mVO=mDAO.getMember(userid); //memberDAO_01 에서 매개변수를 가지고 getMember메서드 호출해줘
HttpSession session= request.getSession(); //HttpSession 타입의 Session 객체를 생성해죠
session.setAttribute("loginUser", mVO); //Session 객체에 변수 "loginUser" 로 해서 자바빈 객체로 속성 지정해죠
request.setAttribute("message", "로그인에 성공하였습니다."); //request 객체에 변수 "message" 로 해서 메세지 넣어서 속성 지정해죠
url="main_01.jsp"; //위에설정한 url을 login_01.jsp-> main_01.jsp 로변경해죠
}else if(result==0) {//memberDAO_01 에서 반환받은 결과값이 0이면
request.setAttribute("message", "비밀번호가 맞지 않습니다.");//request 객체에 변수 "message" 로 해서 메세지 넣어서 속성 지정해죠
}else if(result==-1) {
request.setAttribute("message", "존재하지 않는 회원 입니다.");//request 객체에 변수 "message" 로 해서 메세지 넣어서 속성 지정해죠
}
RequestDispatcher dispatcher=request.getRequestDispatcher(url); //지정한 url로 이동객체 만들어죠
dispatcher.forward(request, response); //이동할때 request, response 들고가죠
}
}
package controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/logout.do")
public class LogoutServlet01 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub
HttpSession session=request.getSession(); //기존에 존재하는 Session 가져오기
session.invalidate();
RequestDispatcher dispatcher= request.getRequestDispatcher("login_01.jsp");
dispatcher.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DB.memberDAO_01;
import DB.memberVO_01;
@WebServlet("/memberUpdate.do")
public class MemberUpdateServlet01 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userid=request.getParameter("userid");
memberDAO_01 mDao = memberDAO_01.getInstance();
memberVO_01 mVo=mDao.getMember(userid);
request.setAttribute("mVo", mVo);
RequestDispatcher dispatcher = request.getRequestDispatcher("memberUpdate01.jsp");
dispatcher.forward(request, response);
}
//memberUpdate01.jsp 에서 Post방식으로 보내서 이쪽으로 넘어옴
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String userid =request.getParameter("userid");
String pwd =request.getParameter("pwd");
memberVO_01 mVo= new memberVO_01();
mVo.setUserid(userid);
mVo.setPwd(pwd);
memberDAO_01 mDao= memberDAO_01.getInstance();
mDao.updateMember(mVo); //DB updateMember메서드 호출, 자바빈 객체 들고 DB넘어감.
response.sendRedirect("login.do");
}
}