login_form.jsp에
아이디와 비밀번호를 적어넣을수 있는 폼을 만듭니다.
action = "목적지" 로
fid라는 명칭에 (aaa1234, abcd, bibi등)을 담아 보내겠다.
fpw라는 명칭에 (1111, 1234, 1111등)을 담아 보내겠다.
login_ckeck.jsp
폼에서 보낸 아이디 비밀번호를 받아서 변수에 저장해주세요
String fId = request.getParameter("fid");
ㄴ> 폼에서 날린 (ligin_form.jsp에서 날린 )데이터를 받을때 씀
ㄴ> 이때 ("fid")는 http 데이터
ㄴ> 이것은 String fId = "아이디";
String fPw = "비밀번호"; 랑 같음
여기서 "SELECT * FROM userinfo WHERE udi= ?"; 의 ?는
변수가 들어올 자리를 말합니다.
그래서 pstmt.setString(1,fId);는
첫번째 ? 자리에 fId를 넣어라 가 된다.
rs 데이터중 uid라는 걸 가져오겠다.
다른 페이지로 넘어가면 파괴되지 않게
session.setAttribute로 저장해준다.
session.setAttribute("session_id", uId);는
ㄴ> session_id : aaa1234 랑 같다.
아이디와 비번이 같을 경우
세션으로 저장후
다음 페이지로 response.sendRedirect("login_welcome.jsp");
이용해 넘어가준다.
순서
(폼 데이터(http) -> 자바변수로 변환 -> 쿼리문에 조합 -> DB에 날림
-> 받아온 DB데이터로 로그인 처리)
이때 Id Pw는 session으로 저장했기 때문에
session_id와 session_pw빼고 다 사라진다.
login_welcome.jsp로 와서
세션에 저장된 정보를 가져옵니다.
위에서 setAttribute로 저장한 session_id를
getAttribute로 가져옵니다
login_ckeck.jsp으로 가서
DAO 생성합니다.
UserVO 변수에 getUserData()결과를 받습니다.
(System.out.println("DB에서 받아온 정보 : " + user); 통해 확인할수 있음)
DB에 적재되어있던 비밀번호를 마저 사용자 입력 비밀번호와 비교해 둘 다 일치하면 세션 발급을 해주고 그렇지 않다면 로그인이 실패했다고 메세지가 뜨도록 처리를 해보도록 하겠습니다.
55,56번은 위에서
UserVO user = dao.getUserData(fId);
데이터를 받았으니
String uId = user.getuId();로 가져옵니다.
60번 ID와 PW가 맞을 경우
로그인에 성공하므로 세션으로 아이디와 비밀번호를 잡아주고(63,64번)
66번 response.sendRedirect("login_welcome.jsp");
을 통해 login_welcome.jsp로 넘어가준다.
ㄴ> 다음페이지로 넘어가야하기때문에 session set으로 집어넣어줌
66번으로 오면서 일시적 데이터에 있는 login_ckeck.jsp영역이 싹다 사라지고
login_welcome.jsp영역시 생긴다.
f12 -> 네트워크에서 페이로드가 있는지 없는지 확인할수 있다.