2017. 4. 28. 13:48ㆍJSP
< index.jsp >
loginServlet == login.do // mapping
loginServlet 의 doGet() 으로 이동한다
< loginServlet.java > doGet
# url과 session 을 이용하여 main.jsp 로이동할 것인지 로그인 페이지로 이동할 것인지 정한다.
( 회원가입하고 login.jsp 로 온경우와 회원정보를수정하고 login.jsp 로 온경우 이용된다 )
# 이전에 로그인 했었던 사용자라면 session 에 로그인 정보(loginUser)가 남아있기대문에 url에 main.jsp 대입시켜서 main페이지로 forward 시킨다
# 처음 페이지에 접속해서 session에 loginUser 라는 로그인 정보가 없다면 login창으로 이동시킨다.
< login.jsp >
먼저 <script></script> 선언 해주었고 member.js의 loginCheck() 메서드를 사용한다
< member.js >
document : 해당 자바스크립트를 실행한 페이지 - login.jsp
frm : 폼의 이름
userid : input태그명
pwd : input태그명
=> 아이디나 비밀번호를 입력하지 않았을 때는 전송하지 않는다
=> 모든 조건이 만족되면 데이터들은 loginServlet.java doPost() 로 이동
=> 해당 정보가 DB에 저장되어 있는지 확인 한 후 로그인 성공 여부를 결정한다
< loginServlet.java > doPost
# MemberDAO.java / userCheck(String userid , String pwd ) 메서드를 사용한다
# 메서드의 결과를 result 에 저장한다
# login.jsp에서 넘겨진 아이디와 패스워드가 DB의 정보와 일치하다면 "session" 에 "loginUser" 로써 객체를 저장해놓는다
# 최종적으로 " url = main.jsp " 이므로 main.jsp로 이동한다 !!
# DB와 입력한 정보가 일치하지 않을 때, login.jsp 에서 보여줄 message 속성을 지정하고 login.jsp 페이지로 이동한다.
< index.jsp 실행화면 >
< login.jsp 실행화면 >
< main.jsp > 로그인 성공 !
< MemberDAO >
기본생성자는 private , getInstance() 메서드로 MemberDAO 객체를 얻어 올 수 있도록 설계하였고
DB와의 연결을 더욱 쉽게 하기 위해 getConnection() 메서드를 생성했다
< userCheck 메서드 >
String sql = "select * from membership where userid=?" //membership 테이블에서 userid 가 ? 인 모든 데이터를 가져옴
conn = getConnection(); // DB와 연결 후
pstmt = conn.prepateStatement(sql); // sql문을 전달할 수 있는 pstmt객체로 대입
pstmt.setString(1,userid); // sql문 바인딩 변수 완성
rs= pstmt.executeQuery(); // sql 문 실제로 수행 rs에는 결과값이 대입된다
변수 id , pwd 를 rs에 저장된 DB정보와 비교한다
아이디비밀번호가 일치하면 result = 1 , 비밀번호가 틀리면 resut = 0 , 아이디가 존재 하지 않으면 result = -1
'JSP' 카테고리의 다른 글
JSP MVC1 모델 로그인 및 회원가입 ③ 회원정보 수정페이지 (0) | 2017.04.28 |
---|---|
JSP MVC1 모델 로그인 및 회원가입 ② 회원가입페이지 (0) | 2017.04.28 |
JSP MVC1 모델 구성 (0) | 2017.04.28 |
JSP MVC1 모델 DBCP연동하기 (0) | 2017.04.24 |
JSP 파일업로드 (0) | 2017.04.21 |