수업(국비지원)/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>
<% } %>