728x90
Page영역
request영역
session영역
apllication영역이 있는데
모두 Scope로 접근이 가능하다
ex) sessionScope.userId
jsp파일 생성
session01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<!-- 폼 페이지, 폼 태그
요청URL : session01_process.jsp
요청파라미터 : {id=admin&passwd = java}
-->
<h3>${sessionScope.userId}</h3>
<h3>${sessionScope.userPw}</h3>
<form action="session01_process.jsp" method="post">
<!-- 폼 데이터 -->
<p>아이디 : <input type="text" name="id" value='<%=session.getAttribute("userId") %>' required /></p>
<p>비밀번호 : <input type="password" name="passwd" value='<%=session.getAttribute("userPw") %>' required /></p>
<p><input type="submit" name="전송" /></p>
</form>
</body>
</html>
session01_process.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<% //스크립틀릿
//요청 URL : session01_process.jsp
//요청파라미터 : {id = admin&passwd = java}
//한글 인코딩 처리
request.setCharacterEncoding("UTF-8");
String user_id = request.getParameter("id"); //admin
String user_pw = request.getParameter("passwd"); //java
out.print("session고유아이디(웹브라우저별1개) : " + session.getId() + "<br />");
if(user_id.equals("admin")&&user_pw.equals("java")){
session.setAttribute("userId", user_id);
session.setAttribute("userPw", user_pw);
out.print("<p>세션 설정 성공</p>");
out.print("<p>" + user_id + "님 환영합니다.</p>");
}else{
out.print("<p>세션 설정 실패!</p>");
out.print("<a href='session01.jsp'>되돌아 가기</a>");
}
%>
</body>
</html>
파일 작성 후 확인
크롬에서 로그인 하고
edge 에서도 로그인하면
크롬에서의 세션과
edge의 세션이 다르다.
다시 되돌아가보면 저장되어있던 세션값이 출력된다.
session-2_process.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<% //스크립틀릿
//요청 URL : session01_process.jsp
//요청파라미터 : {id = admin&passwd = java}
//한글 인코딩 처리
request.setCharacterEncoding("UTF-8");
String user_id = request.getParameter("id"); //admin
String user_pw = request.getParameter("passwd"); //java
out.print("session고유아이디(웹브라우저별1개) : " + session.getId() + "<br />");
if(user_id.equals("admin")&&user_pw.equals("java")){
HttpSession httpsession = request.getSession();
//동일한 웹 브라우저 내 정보 공유
session.setAttribute("userId", user_id);
session.setAttribute("userPw", user_pw);
out.print("<p>세션 설정 성공</p>");
out.print("여기는session02");
out.print("<p>" + user_id + "님 환영합니다.</p>");
out.print("<a href='session01.jsp'>되돌아 가기</a>");
}else{
out.print("<p>세션 설정 실패!</p>");
out.print("<a href='session01.jsp'>되돌아 가기</a>");
}
%>
</body>
</html>
HttpSession으로 값을 가져와도 결과값은 같다.
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%//스크립틀릿
//session.setAttribute("userID", user_id);
//session.setAttribute("userID", user_pw);
//리턴타입은 Object이므로 하위의 String 타입으로 다운 캐스팅
String user_id = (String)session.getAttribute("userId");
String user_pw = (String)session.getAttribute("userPw");
out.print("설정된 세션 속성 값[1] : " + user_id + "<br />");
out.print("설정된 세션 속성 값[2] : " + user_pw + "<br />");
%>
</body>
</html>
<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
/*
session.setAttribute("속성명",데이터)
데이터 : Object개체 타입만 가능합. int(x), double(x), char(x)
*/
int a = 10;
double b = 20.2;
char c = 'a';
session.setAttribute("test", a);
session.setAttribute("test2", b);
session.setAttribute("test3", c);
out.print("test : " + session.getAttribute("test") + "<br />");
out.print("test2 : " + session.getAttribute("test2") + "<br />");
out.print("test3 : " + session.getAttribute("test3") + "<br />");
String name; //세션 속성 명
String value; //세션 값
//session 내장 객체 내 어떤 속성명들이 있는지?
Enumeration en = session.getAttributeNames();
//세션 속성 명이 있을때 까지만 반복
while(en.hasMoreElements()){
name = en.nextElement().toString();
value = session.getAttribute(name).toString();
out.print("설정된 세션 속성 명 : " + name + "<br />");
out.print("설정된 세션 속성 값 : " + value + "<br />");
}
%>
</body>
</html>
'JSP > JSP기초' 카테고리의 다른 글
JSP(ch14) 쿠키 요약 (0) | 2023.07.17 |
---|---|
JSP(ch13) 세션을 이용한 사용시간 구하기 (0) | 2023.07.14 |
JSP(ch13) 세션(session) (0) | 2023.07.13 |
JSP(Ch12) 필터 사용 로그기록 파일,콘솔 동시 출력 (0) | 2023.07.13 |
JSP(Ch12) 필터 사용 로그기록 파일에 저장해보기 (0) | 2023.07.13 |