수업(국비지원)/JSP
[JSP] MVC MODEL1 방식 - 회원관리, 로그인 정보제거, 회원 정보 보기(main, logout, info)
byeolsub
2023. 4. 19. 17:17
📌 main 회원관리
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%
//로그인 상태 검증
// login : login된 아이디 값이 존재 로그인 상태
String login = (String)session.getAttribute("login");
if(login != null) { //로그인 상태
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 관리</title>
</head>
<body>
<h3><%=login %>로 로그인 되었습니다.</h3>
<h3><a href="logout.jsp">로그아웃</a></h3>
<h3><a href="info.jsp?id=<%=login %>">회원정보보기</a></h3>
<% if(login.equals("admin")) {%>
<h3><a href = "list.jsp">회원목록보기</a></h3>
<% } %>
</body>
</html>
<% } else { //로그아웃상태 %>
<script>
alert("로그인하세요")
location.href="loginForm.jsp"
</script>
<% } %>
📌 logout 로그인 정보 제거
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp2/src/main/webapp/model1/member/logout.jsp
1. session에 등록된 로그인 정보제거
2. loginForm.jsp로페이지 이동.
--%>
<%
//1. session에 등록된 로그인 정보제거
session.removeAttribute("login"); //login 속성만 제거. session 유지
//1. session에 등록된 로그인 정보제거
session.invalidate(); //기존 session 제거. session 새로 할당
//2. loginForm.jsp로페이지 이동.
response.sendRedirect("loginForm.jsp");
%>
📌 info 회원 정보 보기
<%-- /jsp2/src/main/webapp/model1/member/info.jsp
1. id 파라미터 값을 변수 저장하기
2. login 상태 검증.
로그아웃 상태 : 로그인하세요 메세지 출력 후 loginForm.jsp 페이지 이동
3.login 상태 검증 2.
로그상태 : 관리자 아닌경우 id 파라미터 값 과 login정보가 다르면
본인정보만 조회가능합니다. 메세지 출력 후 main.jsp로 페이지 이동
4.id에 해당하는 db 정보 읽어서 전달
.--%>
<%@page import="model.MemberDao"%>
<%@page import="model.Member"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String id = request.getParameter("id"); //id 파라미터 저장.
String login = (String) session. getAttribute("login"); //로그인정보 저장.
if(login == null) { //로그아웃 상태 %>
<script>
alert("로그인하세요")
locaitoin.href = "loginForm.jsp"
</script>
<%-- 로그인 상태. 관리자가 아니고 내 정보가 아닌 경우--%>
<% } else if (!login.equals("admin") && !id.equals(login)) { //login 현재 저장되어있는 rdb %>
<script>
alert("본인 정보 조회만 가능합니다.") //알림 후
locaitoin.href = "main.jsp" //다시 main.jsp로 리턴
</script>
<%-- 관리자이거나, 본인 정보인 경우 --%>
<% } else { //회원 정보 조회 부분
//mem : db에서 id에 해당하는 정보를 읽어서 Member 객체로 저장.
Member mem = new MemberDao().selectOne(id);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 정보 보기</title>
<link rel = "stylesheet" href="../../css/main.css">
</head>
<body>
<table><caption>회원 정보 보기</caption>
<tr><td rowspan = "6" width = "30%"> <%-- rowspan : 6개의 행을 하나에 집어넣어줌 --%>
<img src = "picture/<%=mem.getPicture() %>" width = "200" height ="210">
</td>
<th width = "20%">아이디</th><td><%=mem.getId() %></td></tr>
<tr><th>이름</th><td><%= mem.getName() %></td></tr>
<tr><th>성별</th><td><%= (mem.getGender()==1)? "남":"여" %></td></tr>
<tr><th>전화</th><td><%= mem.getTel() %></td></tr>
<tr><th>이메일</th><td><%= mem.getEmail() %></td></tr>
<tr><th>이메일</th><td><%= mem.getEmail() %></td></tr>
<tr><td colspan="2">
<a href = "updateForm.jsp?id=<%= mem.getId() %>">[수정]</a> <%-- db에있는 내용 화면에 출력--%>
<a href = "deleteForm.jsp?id=<%= mem.getId() %>">[탈퇴]</a>
</td>
</tr>
</table>
</body>
</html>
<% } %>