<<참고사이트
- HttpSession session = request.getSession(); 서블릿에서 session쓰는법
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Login Form</h1>
<hr>
<form action="SessionServlet" method="get">
id:<input type="text" name="id" value="짱구"><br>
pw:<input type="password" name="pw" value="짱구1234"><br>
<input type="submit" value="로그인">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Session에 값 저장하기(setAttribute)</h1>
<hr>
<%
session.setAttribute("id", "admin");
session.setAttribute("pw", "ad1234");
session.setAttribute("age", 20);
%>
</body>
</html>
<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>모든 세션값 얻어오기</h1>
<hr>
<%
Enumeration<String> names = session.getAttributeNames();
while(names.hasMoreElements()) { //true false반환
String name = names.nextElement();//
String value = session.getAttribute(name).toString();
out.print(name+"|" +value+ "<br>");
}
%>
</body>
</html>
서블릿
package servlet0613;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/SessionServlet")
public class SessionServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
String pw = request.getParameter("pw");
if(id.equals("짱구") && pw.equals("짱구1234")) {
HttpSession session = request.getSession();
session.setAttribute("ids", id);
session.setAttribute("pws", pw);
response.sendRedirect("0613getsession.jsp");
}else {
response.sendRedirect("0613loginForm.jsp");
}
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>session값 가져오기(getsession)</h1>
<hr>
<%
String id = (String)session.getAttribute("ids");
String pw = (String)session.getAttribute("pws");
%>
<%=id %>님 록그인 성공<br>
id:<%=id %><br>
pw:<%=pw %><br>
</body>
</html>
세션정보
https://itworldyo.tistory.com/188
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>세션정보를 얻어오는 메소드 사용</h1>
<hr>
<%
//session.getId()는 현재 세션의 고유한 식별자인 세션 ID를 얻어옵
String id_str = session.getId();
//session.getLastAccessedTime()과 session.getCreationTime()
//을 사용하여 세션이 생성된 시간과 마지막 접근 시간을 얻어옵
long lastTime = session.getLastAccessedTime();
long createdTime = session.getCreationTime();
//(lastTime - createdTime)은 밀리초 단위의 차이를 나타내며, 이를 분 단위로
//변환하기 위해 /60000을 수행. 나누기 60000은 밀리초를 분으로 변환하는 작업
long time_used = (lastTime - createdTime) /60000;
//session.setMaxInactiveInterval(-1);
session.setMaxInactiveInterval(30*60);
//session.getMaxInactiveInterval()은 세션의 최대 비활성 시간(세션의 유효 시간)을 초 단위로 반환
//이를 분 단위로 변환하여 출력
int inactive = session.getMaxInactiveInterval()/60;
//session.isNew()는 세션이 새로 생성되었는지 여부를 확인
boolean b_new = session.isNew();
%>
[1] 세션 ID는 [<%=session.getId() %>]입니다<br><hr>
[2] 당신이 웹 사이트에 머문 시간은 <%=time_used %> 분 입니다 <br><hr>
[3] 세션의 유효 시간은 <%=inactive %> 분 입니다<br><hr>
[4] 세션이 새로 만들어졌나요? <br>
<%
if(b_new) {
out.print("예! 새로운 세션을 만들었슴다");
}else {
out.print("아니오! 새로운 세션 못만들었슴다");
}
%>
</body>
</html>
https://dololak.tistory.com/577
- 기본세션유지시간 30분인데 -1하면 무한
- 세션지우기
- session.removeAttribute() - 지정한 녀석만 삭제
- session.invalidate() - 다 삭제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Login Form</h1>
<hr>
<form action="SessionServlet" method="get">
id:<input type="text" name="id" value="짱구"><br>
pw:<input type="password" name="pw" value="짱구1234"><br>
<input type="submit" value="로그인">
</form>
</body>
</html>
package servlet0613;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/SessionServlet")
public class SessionServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
String pw = request.getParameter("pw");
if(id.equals("짱구") && pw.equals("짱구1234")) {
HttpSession session = request.getSession();
session.setAttribute("id", id);
session.setAttribute("pw", pw);
response.sendRedirect("0613getsession.jsp");
}else {
response.sendRedirect("0613loginForm.jsp");
}
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>세션지우기</h1>
<hr>
<%
session.removeAttribute("id");
%>
</body>
</html>
'JSP > 이론' 카테고리의 다른 글
jsp:include vs include file (0) | 2023.06.13 |
---|---|
jsp:forward (0) | 2023.06.13 |
<%@ %> 지시자 / error /include (0) | 2023.06.09 |
주석/JSP Page, Request, Session, Application (0) | 2023.06.08 |
JSP/<%! %> 선언문 /<% %> 스크립틀릿 / <%= %> 표현식 (0) | 2023.06.08 |