form 데이터 전송 및 java 변수로 변환

Hwawon_2·2022년 2월 18일
0

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로 가져옵니다

-DAO,VO 사용시

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 -> 네트워크에서 페이로드가 있는지 없는지 확인할수 있다.

profile
코딩 일기장

0개의 댓글