session.setAttribute("id", "1234");
//("저장할 변수명","변수에 저장할 값")
String id = (String) session.getAttribute("id");
1. session.removeAttribute("id");
2. 공백을 대입
session.invalidate()
[login.jsp]
form을 사용하여 submit을 누르면 action=login_ok.jsp로 값을 넘기도록 설정한다.
[login_ok.jsp]
- login.jsp 에서 받아온 값을 String으로 받고,
만들어둔 테이블에서 select 쿼리를 적용한다.- where조건절을 넣어서 만약, select할 값이있다면
if(rs.next()) 접속성공하고 session에 값을 넣고
아니면else 접속실패를 만든다. -->이후 다시 로그인페이지로 복귀- [list.jsp]파일에 로그인성공시 session id가 있으면 열리는 코드를 넣는다.
- script tag안에 alert창을 만들고
location.href를 이용해 다시 로그인창으로 이동하도록 만든다.
- 만약 id는 있는데 비밀번호가 틀렸다면, id값은 초기화 되지 않고 pw만 다시 입력하는 로그인창으로 돌아가도록 설정한다.
- login.jsp에 id값이 웹에서 받아오는 값이 있을경우 input value에 id를 넣어주고
login_ok.jsp에서는 pwd가 틀린 조건문 안에 script location.href를 ?id=<%=변수명%>으로 값을 넘겨주는 주소를 넘겨준다.- 결과적으로 alert창에서 "비밀번호를 확인해주세요" 메시지를 알림창 출력한 후,
로그인 페이지로 돌아가면 input id value에 id값이 자동으로 들어간다.
만약, id값도 틀릴경우 웹에서 넘겨주는 값이없고 그럴경우 id도 공백으로 처리한다.
- 세션의 모든 속성을 삭제하고 list.jsp로 넘어가도록 설정한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> 쇼핑몰 회원관리 </title>
<link rel="stylesheet" href="./basic.css" />
</head>
<body>
<header id=header>
<h2>쇼핑몰 회원관리 ver1.0</h2>
</header>
<nav id=index>
<%
String custid="";
if(session.getAttribute("id") != null){
custid = (String)session.getAttribute("id");
}
%>
<a href=form.jsp>회원등록</a>
<a href=guest_list.jsp>방문자목록 </a>
<%
if(custid.equals("admin")){
%>
<a href=member_list.jsp>회원목록 조회/수정</a>
<a href=money_list.jsp>회원 매출 조회 </a>
<a href=product.jsp>상품등록 </a>
<a href=product_list.jsp>상품목록 </a>
<a href=logout.jsp>로그아웃</a>
<%
}else{
%>
<a href=login.jsp>로그인</a>
<%
}
%>
<a href=index.jsp>홈으로</a>
</nav>
- session.getAttribute 할 값이 없어서 null일경우 .equals 를 바로 적용하면 에러.
- 따라서 null값 처리를 먼저 해준다.
String custid=""; if(session.getAttribute("id") != null){ custid = (String)session.getAttribute("id"); }
- 이런식으로 null이 아닐경우 session값을 받아주고,
null일경우 문자열 공백처리를 진행한다.- 그 다음 값을 비교해 if문을 통해 메뉴를 선택적으로 노출한다.