문제가 생기거나 저장이 잘 되고 있는지 확인하려면
디버깅을 해야한다.
=================================================
문제
회원가입시 이미 사용 중인 아이디로 가입을 시도했을 경우에는 member 폴더에 있는
deplcateID.html페이지로 이동을 지시
1. 클라이언트가 보내는 회원 정보를 꺼낸다 request,getParameter();
2. 클라이언트가 보낸 데이터들을 하나의 정보로 합친다 클래스 생성한다
3. 사용중인 아이디 인지 아닌지 여부 를 boolean isUsed 로 해서
false 로 하면 사용중이지 않은 아이디로 먼저 설정을 한다.
4. 반복문을 통해서 저장된 아이디랑 비교해보기 - 향상된 for문 사용해야함
* 향상된 for문은
for(배열값을 담을변수 : 배열이름){
소스코드
}
지금 코드를 보면 MemberInfo 라는 인스턴스를 생성했으며
for(MemberInfo nthMemberInfo : memberList){
// 사용중인 아이디 인지 찾는 코드
String nthId = nthMemberInfo.getId();
if(nthId.equals(id){
isUsed = true;
break;
}
}
위에 코드와 연결해서 isUsed가 false 이면 duplicateID.html로 보내고
사용중이지 않은 아이디라면 회원의 정보를 저장한다. 그러고 회원가입 성공 html로 보낸다~
이전에는 상태코드를 작성할때는
response.setStatus(200); 이렇게 원하는 상태코드를 숫자로 썼지만
가독성을 높이기 위해서는 위에 사진처럼 해야한다.
response.setStatus(HttpServletResponse.SC_OK); => 200 상태코드
여기서 ajax success가 성공이라서 넣는게 아니라 서블릿 200 상태코드에 응답이여서 success 에 넣는거다
=====================================================================
- 메인 페이지에서 로그인 버튼을 클릭했을때 ajax를 사용해서 로그인 서비스로 요청하세요
이때, 로그인 서비스로 사용자가 입력한 아이디, 비밀번호를 전달해야함
로그인 서비스가 성공상태코드를 응답하면 alert으로 로그인성공으로 출력하고
로그인 서비스가 실패 상태코드를 응답하면 alert 으로 아이디 또는 비밀번호를 확인하세요를 출력
( 아이디, 비밀번호 입력란 지우고 로그인 버튼 지우고 로그아웃 버튼을 두고 회원가입 버튼도 지운다)
순차적으로 보기
append / prpend 두개 비교할때는 개발자 모드로 해서 콘솔에 직접 넣어가면서 들어갈 자리에 대해서 둘중에 하나 선택하기
로그아웃 버튼이 만들어진 다음에 로그아웃 이벤트 넣기
회원이 로그인하면 회원이름을 넣기 위해서 logunUserName 변수를 넣음
로그인 하고 로그인 성공한 사람 이름을 출력하기 위해서
먼저 null로 이름이 없는 상태로 저장하고 / 꺼내서 출력한다.
위에와 연결
2. 로그인 서비스는 클라이언트가 보내는 아이디, 비밀번호를 꺼내서
로그인 성공일때 200 상태코드 설정
로그인 실패일때는 400 상태 코드를 설정
로그아웃 버튼을 누르면 메인화면으로 가도록 설정함
member/logout 서블릿 만들어서
로그아웃에 location을 사용해서 => get 메서드 이용하고
resposne.sendResponse로 메인으로 보냄 ~
'코딩 > 서블릿' 카테고리의 다른 글
공지사항 목록 정보 저장하기 List<> , json 라이브러리 사용 (0) | 2022.06.29 |
---|---|
서블릿 프로젝트 공지사항 만들기 #1 (0) | 2022.05.25 |
서블릿 기초 응답정보와 요청정보 (0) | 2022.05.19 |
2022-05-18 서블릿 쿠키 세션 (0) | 2022.05.19 |
22-05-12 서블릿 환경설정 (0) | 2022.05.18 |