JSP MVC1 모델 로그인 및 회원가입 ① 로그인페이지

2017. 4. 28. 13:48JSP



< 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