2023. 2. 23. 14:43ใJSP&Servlet
์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋์ง id,pw ์ ๋ณด๋ฅผ ํ๋ฒ ์ฝ์ ํ ๋ฒ๋ฆผ(? ๊ธฐ์ต์ ๋ชป ํจ.
๊ทธ ๋ค์ ๊ฐ์ id,pw๋ฅผ ๋์ ธ๋ ์ด์ ์ ๋ฐ์๋ ์ ๋ณด์ธ์ง ๋ชจ๋ฅธ๋ค
๊ทธ๋์ ํ๋ฒ ๋์ง๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ค๋ ๊ธฐ์ตํ ์ ์๊ฒ
์๋ฒ์ ์์ด๋ ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ : session
ํด๋ผ์ด์ธํธ์ ์ปดํจํฐ์ ์ ์ฅ : cookie
๋ฐ์ดํฐ๋ฅผ ์ธ์
์ ์ ์ฅ
1. ์ธ์
๊ฐ์ฒด๋ฅผ ์์ฑ
HttpSession session = request.getSession();
2. ์ธ์ ์ ๋ฐ์ดํฐ ์ ์ฅ
session.setAttribute("name2", "python");
3. ์ธ์ ์ ๋ฐ์ดํฐ ์ฝ์ด์ค๊ธฐ
//()์์ ์ธ์
์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ด๋ฆ ์
๋ ฅ
//MemberDTO m = session.getAttribute("member"); //์์์ ๋ถ๋ชจ๊บผ ๋ชป ๋ฐ์(๋ฆฌํดํ์
:์ค๋ธ์ ํธ(๋ถ๋ชจ)
//๋ด๊ฐ ๋ฐ์์จ ์๋ฃํ์ผ๋ก ํ ๋ณํํ๋ฉด ๋ถ๋ชจ๊บผ ๋ฐ์ ์ ์๋ค.
MemberDTO m = (MemberDTO)session.getAttribute("member");
BoardDTO b = (BoardDTO)session.getAttribute("board");
jsp ํ์ผ์ ์ฐพ๋ ๊ธฐ์ค ์์น๋ webapp ํด๋
RequestDispatcher dispatcher = request.getRequestDispatcher("view/test/session1.jsp");
dispatcher.forward(request, response);
webapp ๋ฐ์ view ํด๋ ์์ฑ ๊ทธ ๋ฐ์ test ์์ฑ ํ test ์์ session1 ์์ฑ
session์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ jsp์์ ๋นผ์ ๋ณด์ฌ์ค ๋๋
name2 = ${sessionScope.name2 }
package session_test;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
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;
import dto.BoardDTO;
import dto.MemberDTO;
@WebServlet("/session01")
public class SessionServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public SessionServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("name1", "java");
//๋ฐ์ดํฐ๋ฅผ ์ธ์
์ ์ ์ฅ
//1. ์ธ์
๊ฐ์ฒด๋ฅผ ์์ฑ
HttpSession session = request.getSession();
//์ธ์
์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ ํจ์๊ฐ ์ค์
//session.setMaxInactiveInterval(60 * 60 * 24); //60*60 > ํ์๊ฐ 60*60*24 ํ๋ฃจ
session.setMaxInactiveInterval(3);//3์ด (์๋ ์ ํ์ ๋๋ถํฐ 3์ด)
//2. ์ธ์
์ ๋ฐ์ดํฐ ์ ์ฅ(์ํ๋ ๋งํผ ๋ฃ๊ธฐ ๊ฐ๋ฅ)
session.setAttribute("name2", "python");
session.setAttribute("age", 20); //์ฒซ๋ฒ์งธ ๋งค๊ฐ๋ณ์ ๋ฌธ์์ด, ๋๋ฒ์งธ ๋งค๊ฐ๋ณ์ ์ค๋ธ์ ํธ
session.setAttribute("member", new MemberDTO()); //๋งค๊ฐ๋ณ์ ์ค๋ธ์ ํธ๋ผ ๋ค ๋ฃ์ ์ ์์
session.setAttribute("board", new BoardDTO());
//3. ์ธ์
์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ๋ฐฉ๋ฒ
//()์์ ์ธ์
์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ด๋ฆ ์
๋ ฅ
//MemberDTO m = session.getAttribute("member");
//์์์ ๋ถ๋ชจ๊บผ ๋ชป ๋ฐ์(๋ฆฌํดํ์
:์ค๋ธ์ ํธ(๋ถ๋ชจ) > ์ค๋ฅ
//๋ด๊ฐ ๋ฐ์์จ ์๋ฃํ์ผ๋ก ํ ๋ณํํ๋ฉด ๋ถ๋ชจ๊บผ ๋ฐ์ ์ ์๋ค.
MemberDTO m = (MemberDTO)session.getAttribute("member");
BoardDTO b = (BoardDTO)session.getAttribute("board");
//4. ์ธ์
์ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ญ์
//์ ์ฅ๋ ํน์ ํ ๋ฐ์ดํฐ ์ญ์ : ()์์ ์ธ์
์ ๋ฃ์ ๋ฐ์ดํฐ ์ด๋ฆ
session.removeAttribute("name2");
//์ธ์
์ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์
session.invalidate();
//jsp ํ์ผ์ ์ฐพ๋ ๊ธฐ์ค ์์น๋ webapp ํด๋
RequestDispatcher dispatcher = request.getRequestDispatcher("view/test/session1.jsp");
dispatcher.forward(request, response);
name1 nam2 ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐ๋๋ฐ
name1์ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ name2๋ ์ธ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ ๋๊น
session1.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>
session1.jsp ํ์ผ์
๋๋ค.<br>
name1 = ${name1 }<br>
<!-- ์ธ์
์ ์ ์ฅ๋ ๋ฐ์ดํฐ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ -->
name2 = ${sessionScope.name2 } <br>
<a href="view/test/session2.jsp">ํ์ด์ง ์ด๋</a>
<!-- ์ธ์
๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ ๋ณด๋ด์ง ์์๋ ์ธํฐ๋ท ์ฐฝ์ ๋์ง ์๋ ์ด์ ๋ฐ์ดํฐ ์ด์์๋ค-->
</body>
</html>
ํ์ด์ง ์ด๋์ผ๋ก session2.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>
session2.jsp ํ์ผ์
๋๋ค.<br>
name1 = ${name1 }<br>
<!-- ์ธ์
์ ์ ์ฅ๋ ๋ฐ์ดํฐ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ -->
name2 = ${sessionScope.name2 } <br>
</body>
</html>
ํ์ด์ง ์ด๋ ๋๋ฌ๋ณด๋ฉด
์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋๊ธด ๋ฐ์ดํฐ name1์ ๋ฐ์ดํฐ ์ ๋์ด
session์ ์ ์ฅํด์ ๋๊ธด name2๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์จ๋ค.
์ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ ํ๋ฒ ๋ณด๋ด๋ฉด ํ์ด์ง ์ด๋ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ๋ ๋ณด๋ด์ง ์์๋ ์ธํฐ๋ท ์ฐฝ์ ๋์ง ์๋ ์ด์ ๊ณ์ ๋ฐ์ดํฐ ์ด์์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ์ ํจ ์๊ฐ์ ์ค์ ๊ฐ๋ฅํ๋ค.
session.setMaxInactiveInterval(60 * 60 * 24); //60*60 > ํ์๊ฐ 60*60*24 ํ๋ฃจ
session.setMaxInactiveInterval(3);//3์ด (์๋ ์ ํ์ ๋๋ถํฐ 3์ด)
'JSP&Servlet' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JavaScript(๋ ๊ฐ์ฒด ์ปจํธ๋กค) (0) | 2023.03.03 |
---|---|
template (0) | 2023.02.23 |
jsp ์ฌ์ด์ฌ์ด์ servlet์ ํ๋๋ก ํต์ผํด์ ์ฐ๋ ๋ฐฉ๋ฒ (0) | 2023.02.14 |
๊ฒ์ํ ๋ง๋ค๊ธฐ ์ค์ต (0) | 2023.02.14 |
jsp > servlet ๋์ด์ค๋ ๋ฐ์ดํฐ ์ ๋ฌ tip (0) | 2023.02.14 |