μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- λ§μΌλ΄κ°μΈμμλ€μμ°λ€λ©΄
- λΌνλΌμ€μλ§λ
- html
- Kλ°°ν°λ¦¬λ 볼루μ
- κ°λ°
- νμ΄μ¬
- css
- μ½λ©
- μλ°
- ComputerScience
- JavaScript
- λ μ
- Java
- ν°μ€ν 리μ±λ¦°μ§
- μλ°μ€ν¬λ¦½νΈ
- κΉλ―Έκ²½μλ§νμμ
- νλ‘κ·Έλλ°
- μν
- 리μ‘νΈ
- λ°μ΄ν°λ² μ΄μ€
- Python
- μΉνμ΄μ§λ§λ€κΈ°
- μΉνΌλΈλ¦¬μ±
- μ€λΈμ
- μ±
- database
- μ»΄ν¨ν°κ³Όν
- Kλ°°ν°λ¦¬
- λ°μν
- μ€λΌν΄
- Today
- Total
JiYoung Dev π₯
[JSP/Servlet] μΈμ (session) (2023.05.18) λ³Έλ¬Έ
Session
π μΈμ (Session)
ν΄λΌμ΄μΈνΈλ μΈμ μ ν΅ν΄ μ¬μ©μμ μ λ³΄κ° μλ μΈμ μμ΄λλ₯Ό 보μ νκ³ μμ.
μ¬μ©μ μ 보λ μλ²κ° κ°μ§κ³ μμ. (λΈλΌμ°μ κ° μ’ λ£λκΈ° μ κΉμ§)
- μΈμ μμ΄λ : μλ²κ° ν΄λΌμ΄μΈνΈμκ² μμμ μΌλ‘ λ°κΈνλ μμ΄λ.
λͺ¨λ ν΄λΌμ΄μΈνΈλ§λ€ λ€ λ€λ₯΄κ² λ°κΈν¨
μΏ ν€λ ν΄λΌμ΄μΈνΈκ° μ 보λ₯Ό κ°μ§κ³ μμ
μ¬μ©μμ μ 보λ μλ²μμ μ μ₯, ν΄λΌμ΄μΈνΈλ μΈμ μμ΄λλ§ κ°μ§κ³ μκ²λ¨
μΈμ μ μ¬μ©νλ©΄ μ¬μ©μμ μ 보λ μλ²μμμλ§ μ μ₯λλ―λ‘ μΏ ν€μ λΉν΄ 보μμ μ’μ κ² κ°μ§λ§,
μΈμ μμ΄λλ ν΄λΌμ΄μΈνΈ νλλ§μ μλ³νλ κ°μΌλ‘ μ¬μ©μ μ λ³΄κ° λ μ μμ.
μΈμ μμ΄λκ° λ겨μ§λ κ³Όμ μ 보λ€κ° 곡격μ ν μ λ μμ
μμ νκ² λ³΄μμμΌλ‘ μ’λ€κ³ ν μλ μλ€. μΏ ν€λ³΄λ€λ μ’μ μ μμ
π μΈμ μ¬μ© μμ
λ‘κ·ΈμΈ
π μΈμ μ₯/λ¨μ
μΈμ μ μλ² μ€ν 리μ§λ₯Ό μ¬μ©νλ―λ‘ μΏ ν€λ³΄λ€ μ©λμ΄ ν¬λ€.
π JSP & Servlet μΈμ μμ± & κ°μ Έμ€κΈ° & μμ
βοΈ μΈμ μμ±νκΈ°
μΈμ μμ±μ μΏ ν€λ³΄λ€ μ½λ€
jsp λ΄μ₯ κ°μ²΄λ‘ HttpSessionμ κ°μ§κ³ μμ >> κ°μ²΄ μμ± μμ΄ λ°λ‘ μ¬μ© κ°λ₯
μΈμ μμ± λ° name&value μ μ₯ :
session.setAttribute(String(name), Object(value)
<%@page import="java.util.ArrayList"%>
<%@ 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>
<%
//-- μΈμ
μμ±
//1. μΈμ
μ κ° μ€μ : setAttribute(String(name),Object(value))
// Valueλ Object κ°μ²΄ νμ
μΌλ‘ λͺ¨λ νμ
μ΄ λ€μ΄κ° μ μμ
session.setAttribute("id","smart");
session.setAttribute("age", 20);
ArrayList<String> al = new ArrayList<String>();
al.add("apple");
al.add("banana");
session.setAttribute("list", al);
%>
<a href="Ex05GetSession.jsp">μΈμ
νμΈ</a>
<a href="GetSession">μΈμ
νμΈ(Servlet)</a>
</body>
</html>
βοΈ μΈμ κ° κ°μ Έμ€κΈ°
getAttribute(μΈμ name);
<%@page import="java.util.ArrayList"%>
<%@ 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>
<%
//-- μΈμ
κ° κ°μ Έμ€κΈ°
//getAttirbute(String(name))
String id = (String)session.getAttribute("id");
//Object νμ
μΌλ‘ λ°ν >> μλ νμ
μΌλ‘ λ€μ΄ μΊμ€ν
Integer age = (Integer)session.getAttribute("age");
ArrayList<String> al = (ArrayList<String>)session.getAttribute("list");
%>
id : <%=id %><br>
age : <%=age %><br>
list : <%=al %>
<a href="Ex06RemoveSession.jsp">μΈμ
μμ </a>
<a href="Ex07Invalidate.jsp">μΈμ
μ λΆ μμ </a>
</body>
</html>
μΈμ κ° κ°μ Έμ¬λ μ μΊμ€ν μ£Όμ!
μΈμ μ κ°μ λΆλ¬μ¬ λ getAttributeμ 맀κ°λ³μλ‘ nameμ μ§μ νμ§λ§ μ€μ λ‘ κ°μ§κ³ μ€λ κ°μ valueκ°
valueμ νμ μ Object
λ¬Έμμ΄, μ μ, ArrayList λͺ¨λ Objectμ νμ νμ
λ°λΌμ μ μ₯λ λ valueκ°μ μ΄λ€ νμ μ΄λ upcasting λ¨
λ°λΌμ κΈ°μ‘΄ νμ μΌλ‘ μ μ₯νλ €λ©΄ downcastingν΄μ€μΌ ν¨
βοΈ μΈμ μμ
- νλμ μΈμ λ§ μμ ν λ : session.removeAttribute(μΈμ λ€μ)
<%@ 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>
<%
//-- μΈμ
μμ (νλλ§)
//removeAttribute λ©μλ νμ©
session.removeAttribute("age");
%>
<a href="Ex05GetSession.jsp">μΈμ
νμΈ</a>
</body>
</html>
μ 체 μΈμ μμ ν λ : 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>
<%
//-- μΈμ
λͺ¨λ μμ
session.invalidate();
%>
<a href="Ex05GetSession.jsp">μΈμ
νμΈ</a>
</body>
</html>
< μΈμ μμ ν μΈμ κ°λΆλ¬μ¬λ λ°μν μ μλ μ€λ₯ >
μΈμ κ° λΆλ¬μ¬ λ int μ μνμ μ¬μ©νλ©΄ μ€λ₯ λ°μ
μ?
age(int) μμ νκ³ λλ©΄ λ°ννλ κ°μ null κ°
κΈ°λ³Ένμ μ nullκ°μ λ°μ μ μμ
λ°λΌμ NullPointerException λ°μ
κΈ°λ³Ένμ μ nullκ°μ κ°μ§ μ μμ >> Integer μ¬μ©
ServletμΌλ‘ μΈμ μμ±/κ°μ Έμ€κΈ°
servletμμ μΈμ μ λ€λ£¨κ³ μΆμΌλ©΄ sessionκ°μ²΄λ₯Ό μμ±ν΄μΌ ν¨
HttpSession session = request.getSession();
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
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("/GetSession")
public class GetSession extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//μΈμ
κ°μ²΄ μμ±
//μΈμ
μμ΄λλ ν΄λΌμ΄μΈνΈμ μ μ₯λμ΄ μμ. ν΄λΌμ΄μΈνΈ>>μλ² μμ²
HttpSession session = request.getSession();
//-- μΈμ
κ° κ°μ Έμ€κΈ°
//getAttirbute(String(name))
String id = (String)session.getAttribute("id");
//Object νμ
μΌλ‘ λ°ν >> μλ νμ
μΌλ‘ λ€μ΄ μΊμ€ν
int age = (int)session.getAttribute("age");
ArrayList<String> al = (ArrayList<String>)session.getAttribute("list");
//μλ΅ λ°μ΄ν° νμ
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter(); //PrintWriter ν
μ€νΈ μΆλ ₯ μ€νΈλ¦Ό μμ±
out.print("id : " + id + "<br>");
out.print("age : " + age + "<br>");
out.print("list : " + al.toString());
}
}
π μΏ ν€ vs μΈμ
μΏ ν€λ μ¬μ©μμ pcμ μ 보 μ μ₯ λ΄κ° κ°μ§ μ 보λ₯Ό κ·Έλλ‘ μ°λ©΄ λλκΉ μλμ μΌλ‘ λΉ λ₯΄λ€
μΈμ μ μλ²μμ μ 보λ₯Ό κ°μ ΈμμΌ ν¨ > μλμ μΌλ‘ λ리λ€
'full stack > Back-End' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JSP/Servlet] Web MVC (2023.05.19) (0) | 2023.05.19 |
---|---|
[JSP/Servlet] JSP λ΄μ₯κ°μ²΄(HttpServletResponse) & μΏ ν€(Cookie) (2023.05.17) (0) | 2023.05.19 |
[JSP/Servlet] Scope (2023.05.18~19) (0) | 2023.05.19 |
[JSP/Servlet] μ μΈλ¬Έ, μ§μμ, λ΄μ₯κ°μ²΄ (2023.05.16) (0) | 2023.05.16 |
[JSP/Servlet] JSP νμμ±κ³Ό νΉμ§, ꡬμ±μμ (2023.05.15) (0) | 2023.05.15 |