1. 로그인한 상태에서 index.jsp 접근 하면
⇒ 바로 main으로 바로 이동하기 (다시 로그인 폼으로 가지 않도록)
2. 로그아웃
: main페이지 버튼 추가
> logoutServlet에서 doGet()메서드에서 session 삭제
3. 회원가입
: loginForm에서 회원가입버튼에 onclick 추가(join.do 이동하는 이벤트)
> joinServlet(로그인 페이지에서 가입버튼 클릭하면 이동할 서블릿) 생성 > doGet()메서드에 joinForm으로 이동하는 코드 작성
> joinForm.jsp만들기 (아이디 중복체크, 필수 항목 확인)
1) 아이디 중복 체크 코드 작성
: idCheck() 작성 - joinForm.jsp
(중복체크 버튼 클릭하면 호출되는 자바스크립트 함수)
> idcheckservlet 생성
(아이디를 데이터 베이스와 비교하고 결과를 보내는)
> idcheck.jsp 생성 (중복 체크 결과를 출력할 팝업창)
> idcheck.jsp에서 idok()작성
(idcheck.jsp에서 사용 가능한 아이디이면 ‘중복 체크 되었음’
결과를 보낼 자바스크립트 함수)
2) 필수 항목 확인
: joinCheck() 작성 - joinForm.jsp
(필수 입력 사항 체크하는 자바스크립트 함수)
> join.do(joinServlet)이동 doPost() 작성
3) 회원 가입
: join.do(joinServlet) doPost() 작성
> MemberDao에 insertMember()메서드 작성
4. 회원 정보 변경
: main에서 ‘회원 정보 변경’ 버튼 클릭 > update.do
1) doGet()에서 updateForm.jsp로 바로 포워드
(로그인한 상태에서 이동하기 때문에 정보조회하는 함수를 만들거나
파라미터를 같이 보낼 필요가 없다.)
2) updateForm.jsp 생성
(아이디는 수정불가, 다른 정보는 입력창에 미리 입력되어 있음)
3) update.do의 doPost()작성
4) MemberDao에 updateMember()메서드 작성
5. 회원 탈퇴
: main에서 ‘회원 탈퇴’ 버튼 클릭
> withDrawConfirm() 자바스크립트 함수 작성
1) withDrawConfirm()
withdraw.do(WithDrawServlet)으로 아이디 정보 가지고 이동
> doGet()메서드 에서 mdao.deleteMember(userid); 호출
> deleteMember(String userid) 작성
6. 수정(관리자 로그인, 등급 변경)
1) LoginServlet수정
: url = "main.do";
(doGet(), doPost() 둘 다 수정, updateSERVLET도 수정)
2) mainServlet 생성
> MemberDao에 selectMember() 작성
3) main.jsp에 표 만들기
(관리자로 로그인 할 때에만보이는, 회원들의 정보를 조회하고
등급을 바꿀 수 있는 표)
4) 회원 등급 변경 버튼
(관리자는 등급만 바꿀 수 있음, 관리자가 자신의 등급을 일반으로
바꾸면 표가 바로 없어지는 것이 아니라 다음 로그인에 반영됨)
5) EditAdminServlet 생성
> MemberDao에 editAdmin(String userid, int admin) 작성
JSTL
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Format import
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
onclick="location.href='editadmin.do?userid=${member.userid}&admin=${member.admin}'"
WithDrawServlet로 이동하기 전에 다시 한 번 안내하고, userid를 가지고 이동하는 함수
<!-- 수정1. 회원가입 서블릿으로 이동 -->
<input type="button" value="회원가입"
onClick="location.href='join.do'">
<!-- 파일 위치와 이름 노출 방지를 위해 서블릿으로 이동 -->
: joinForm 으로 포워드
: joinForm에서 받은 데이터를 DB에 추가하고 loginForm으로 포워드
opener.~~
➡️ opener팝업창을 연 주체를 (팝업창에서) 지칭: 로그인한 상태이므로 이미 request에 'loginUser' Attribute에 필요한 데이터가 들어있음, updateForm으로 바로 포워드
: updateForm에서 받은 데이터를 MemberDao 멤버메서드 updateMember에 보내고 결과를 리턴 받는다.
로그인 여부를 확인하고 회원정보를 조회한 후 (selectMember() 호출) 리턴 받은 값을 가지고 main.jsp 혹은 조회하지 않고 loginForm으로 포워드 하는 서블릿
회원등급을 변경하는 서블릿