1. 정보수정
index.jsp → updated.do → updated.jsp → updated_ok.do → index.jsp
로그인 성공시 실행 가능 → session에 customInfo(userId,userName)값이 올려져 있는 상태
① updated.do(MemberServlet.java)
○ 정보수정 화면으로 이동
○ session값 가져오기 : CustomInfo info = (CustomInfo) session.getAttribute("customInfo");
○ session에 있는 회원 아이디 정보 : info.getUserId();
○ 사용자 아이디로 회원정보를 가져온다
else if(uri.indexOf("updated.do")!=-1){
HttpSession session = req.getSession();
CustomInfo info = (CustomInfo) session.getAttribute("customInfo");
MemberDTO dto = dao.getReadData(info.getUserId());
req.setAttribute("dto", dto);
url = "/member/updated.jsp";
forward(req, resp, url);
}
② updated.jsp
○ body부분
- form양식을 데이터 전송 → sendIt()
- 아이디랑 이름은 변경 불가
- 수정 전 값을 미리 넣어둔다 : value=${dto.변수명 }
<body>
<div id="bbs">
<div id="bbs_title">
정보수정
</div>
<form action="" method="post" name="myForm">
<div id="bbsCreated">
<div class="bbsCreated_bottomLine">
<dl>
<dt>아 이 디</dt>
<dd>${dto.userId }</dd>
</dl>
</div>
<div class="bbsCreated_bottomLine">
<dl>
<dt>이 름</dt>
<dd>${dto.userName }</dd>
</dl>
</div>
<div class="bbsCreated_bottomLine">
<dl>
<dt>비밀번호</dt>
<dd>
<input type="text" name="userPwd" value="${dto.userPwd }" size="35" maxlength="20" class="boxTF">
</dd>
</dl>
</div>
<div class="bbsCreated_bottomLine">
<dl>
<dt>생 일</dt>
<dd>
<input type="text" name="userBirth" value="${dto.userBirth }" size="35" maxlength="50" class="boxTF">
</dd>
</dl>
</div>
<div class="bbsCreated_bottomLine">
<dl>
<dt>전화번호</dt>
<dd>
<input type="text" name="userTel" value="${dto.userTel }" size="35" maxlength="50" class="boxTF">
</dd>
</dl>
</div>
</div>
<div id="bbsCreated_footer">
<input type="button" value="수정하기" class="btn2" onclick="sendIt();">
<input type="button" value="수정취소" class="btn2" onclick="javascript:location.href='<%=cp%>'">
</div>
</form>
</div>
</body>
○ sendIt()함수 부분
- 작성 정보 검사
- updated_ok.do로 이동
<script type="text/javascript">
function sendIt(){
var f = document.myForm;
str = f.userPwd.value;
str = str.trim();
if(!str){
alert("비밀번호를 입력해주세요");
f.userPwd.focus();
return;
}
f.userPwd.value = str;
str = f.userBirth.value;
str = str.trim();
if(!str){
alert("생일을 입력해주세요");
f.userBirth.focus();
return;
}
f.userBirth.value = str;
str = f.userTel.value;
str = str.trim();
if(!str){
alert("전화번호를 입력해주세요");
f.userTel.focus();
return;
}
f.userTel.value = str;
f.action = "<%=cp%>/join/updated_ok.do";
f.submit();
}
</script>
③ updated_ok.do(MemberServlet.java)
- session값 가져오기 : CustomInfo info = (CustomInfo) session.getAttribute("customInfo");
- session에 있는 회원 아이디 정보 : info.getUserId();
- dto에 값을 넣은후 데이터 수정 실행 : dao.updateDate(dto)
- index.jsp로 이동
else if(uri.indexOf("updated_ok.do")!=-1){
HttpSession session = req.getSession();
CustomInfo info = (CustomInfo) session.getAttribute("customInfo");
MemberDTO dto = new MemberDTO();
dto.setUserId(info.getUserId());
dto.setUserPwd(req.getParameter("userPwd"));
dto.setUserBirth(req.getParameter("userBirth"));
dto.setUserTel(req.getParameter("userTel"));
dao.updateData(dto);
url = cp+"/index.jsp";
resp.sendRedirect(url);
}
결과
○ index.jsp → updated.do → updated.jsp 화면
회원정보가 미리 들어가 있음 : value=${dto.변수명 }
○ 회원정보 수정
updated.jsp → updated_ok.do
○ 수정 완료
updated_ok.do → index.jsp
○ 정보 수정 확인
2. 게시판 작성
○ session영역 : 프로젝트(study)에서는 어디서든 사용 가능
→ customInfo를 sboard에서도 사용 가능
○ 게시판 열람은 로그인 여부와 상관 없이 가능
○ 게시판 작성은 로그인 시에만 가능
① BoardServlet.java에서 created.do수정
if(uri.indexOf("created.do")!=-1){
HttpSession session = req.getSession();
CustomInfo info = (CustomInfo)session.getAttribute("customInfo");
if(info==null){
url = "/member/login.jsp";
forward(req, resp, url);
return;
}
url = "/sboard/created.jsp";
forward(req, resp, url);
}
○ 게시판 작성시 작성자에 사용자 이름이 들어가도록 설정
② sboard > created.jsp 수정
<div class="bbsCreated_bottomLine">
<dl>
<dt>작성자</dt>
<dd>
<input type="text" name="name" size="35" value="${sessionScope.customInfo.userName }" maxlength="20" class="boxTF"/>
</dd>
</dl>
</div>
결과
○ 게시판 화면
○ 로그인 하지 않은 상태에서 글 올리기 클릭 → 로그인 화면으로 이동
sboard/list.jsp → login.do → login.jsp
○ 로그인 상태에서 글 올리기 클릭시
○ 등록하기 클릭 시
'STUDY > JSP' 카테고리의 다른 글
파일업로드 (0) | 2019.02.28 |
---|---|
쿠키(cookie) (0) | 2019.02.28 |
회원가입(서블릿) - index.jsp (0) | 2019.02.26 |
회원가입(서블릿) - 회원가입, 로그인, 비밀번호 찾기, 로그아웃 (2) | 2019.02.26 |
회원가입(서블릿) - DB, DAO, DTO (0) | 2019.02.26 |
댓글