오늘은 로그인페이지에서 데이터베이스를 구축하고
아이디/비밀번호를 체크해서 로그인을 해보겠다.
아직 DB 공부는 안해서 DB 공부 들어가기전에
메모장을 이용해서 아이디 비밀번호를 관리해서 구현해보겠다.
먼저 메모장 파일을 만든다.
(아이디/비밀번호 파일)
아이디 비밀번호
root toor
hack 1234
security aaa
이렇다.
이 파일에서 입력받아서 ArrayList로 만들것이다.
이 과정은 앞으로 계속 사용할 것이므로 java 파일로 만들어 둘것이다.
소스에서 패키지 만들고 class를 생성하였다.
(DB 받아들이는 파일)
이제 이 파일을 이용해 메모장 DB를 접근하여
아이디/비밀번호를 체크해 보겠다.
로그인 체크는 로그인 체크.jsp 에서 확인하는 코드를 추가하였다.
(체크 하는 코드 추가)
filename 을 경로를 지정 받아서 filename을 만들었다.
그 후 db 배열에 입력하였다.
그 후 멤버의 수를 계산하였다. 그 이유는 인덱스를 나중에 계산하기 위해서이다.
contain 메서드를 이용해 id를 체크하고
인덱스를 계산하였다.
그 후 아이디/비밀번호를 체크하였다.
실행 화면은 다음과 같다.
(없는 아이디를 입력)
(아이디와 비밀번호를 다시 확인해달라고 나왔다.)
(지금 쓰면서 생각 난 것인데, 이 부분을 아이디와 비밀번호를 확인해달라고 경고창을 띄우고
다시 로그인 화면으로 돌아가게 할 것이다. 나중에 이 코드를 추가할 것이다. )
(존재하는 아이디, 하지만 틀린 비밀번호 입력)
(오류 화면)
이 화면에서 전과 똑같은 구문을 추가한 이유는
보안상 이유로 두개의 같은 구문으로 통일 시켰다.
(존재하는 아이디/비밀번호 입력)
(로그인 성공 화면)
제대로 성공했다고 뜨는 화면이다.
여기서
아이디로 비밀번호를 체크하는 과정을 추가해보려고 한다.
아이디를 추가하는건 조금 복잡할 것 같아서 일단 단순한
비밀번호를 찾는 기능을 추가하였다.
비밀번호 찾는 페이지에 코드를 추가하였다.
(비밀번호 찾기 페이지)
아이디 입력하면 그 아이디를 find.jsp 로 아이디를 보내준다.
find 페이지에서 이 아이디로 비밀번호를 찾아서 출력해 줄 것이다.
(find.jsp)
여기서는 경고창으로 설정하였다.
아이디가 존재하지 않으면 해당 아이디가 없다고 출력을 해주고
해당 아이디가 있으면 해당 아이디에 일치하는 비밀번호를 출력해준다.
(아이디/비밀번호 찾기 클릭)
(아이디/비밀번호 찾기 페이지)
없는 아이디를 입력해보겠다.
(없는 아이디 입력)
(결과 화면)
존재하는 아이디를 입력해보겠다.
(존재하는 아이디 입력)
(비밀번호 출력)
여기서 치명적인
논리적 헛점(?) 을 발견하게 되었다....
(비밀번호를 입력)
(오류화면)
그 이유는 코드에 있었다..
다시 잘 보면..
(문제 코드 화면)
id를 찾는 과정에서 db에서 contain 함수로 찾기 때문에
비밀번호를 찾아도 아이디라고 생각하고 그 값의 인덱스를 출력하고
그 출력에다가 멤버의 수를 더하니 db의 인덱스를 초과해서
에러 화면이 나오는 것이다.
...
..
그렇다는 것은
로그인 화면에서도
아이디에 비밀번호를 입력하면
에러 화면이 뜰것이라는 것이다..
내일 이 부분에 대해서 수정을 해야할 필요가 있다.
내일은 이 부분에 대해서
보완을 해보겠다...! ㅜㅜ
'Web > JSP project' 카테고리의 다른 글
JSP - 로그인, 회원가입(DB연동) 프로젝트(2) (0) | 2017.01.24 |
---|---|
JSP - 로그인, 회원가입(DB연동) 프로젝트(1) (24) | 2017.01.23 |
JSP - 로그인 페이지 프로젝트(4) (0) | 2017.01.19 |
JSP - 로그인 페이지 프로젝트(3) (1) | 2017.01.13 |
JSP - 로그인 페이지 프로젝트(1) (2) | 2017.01.10 |