JSP 세션 범위

▪️세션 역할 영역 가져오기
HttpSession session = request.getSession();
※javax.servlet.http.import HttpSession
▪️세션 역할 영역에서 인스턴스 제거
session.removeAttribute(속성 이름)
※ 매개 변수는 스트링형입니다.매개변수를 사용하여 삭제할 인스턴스의 속성 이름을 지정합니다.
※ 속성명은 대소문자로 구분됩니다.
▪️세션 역할 영역에 저장
session.setattribute(속성 이름, 인스턴스)
※ 첫 번째 매개변수는 스트링형입니다.저장할 인스턴스의 속성 이름을 지정합니다.
※ 속성명은 대소문자로 구분됩니다.
※ 두 번째 매개변수는 Object형입니다.저장할 인스턴스를 지정합니다.
두 번째 매개 변수는 모든 종류의 실례를 지정할 수 있다.
※ 동일한 속성 이름의 인스턴스가 저장되어 있으면 덮어씁니다.
▪️세션 범위에서 인스턴스 가져오기
가져올 인스턴스 유형 이름 =
session.getattribute(속성 이름)
M→일반 JAVA 클래스
V → 표시를 담당하는 JSP 파일입니다.데이터 취득 및 업데이트
C → 브라우저의 응답과 요청을 받는 소파

세션 역할 도메인의 예


▪️Test21Servlet.java
package servlet;

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;
import javax.servlet.RequestDispatcher;
import bean.Test21Bean;

@WebServlet("/Test21Servlet")
public class Test21Servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        Test21Bean t = new Test21Bean();
        t.setName("湊");
        t.setAge(23);

        // HttpSessionインスタンスの取得
        HttpSession session = request.getSession();

        // セッションスコープにインスタンスを保存
        session.setAttribute("t", t);

        // フォワード
        RequestDispatcher dispatcher = request.getRequestDispatcher("/Test21Jsp.jsp");
        dispatcher.forward(request, response);
    }

}
▪️Test21Bean.java
package bean;

public class Test21Bean implements java.io.Serializable {
    private String name;
    private int age;

    public Test21Bean() {

    }

    public Test21Bean(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}
▪️Test21Jsp.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="bean.Test21Bean"%>
<%
    //セッションスコープからインスタンスを取得![スクリーンショット 2016-02-25 13.43.01.png](https://qiita-image-store.s3.amazonaws.com/0/95187/871a7c0f-3793-0d1b-e24e-4cec9ae4cdf3.png)![スクリーンショット 2016-02-25 13.43.01.png](https://qiita-image-store.s3.amazonaws.com/0/95187/699aaea9-2ada-e7bc-bcd8-11b4c554c334.png)


    Test21Bean t = (Test21Bean) session.getAttribute("t");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>セッションスコープ</title>
</head>
<body>
    <p>
        <%=t.getName()%>さんは<%=t.getAge()%>歳です
    </p>
</body>
</html>
▪️Test21Servlet.java 실행 결과

샘플 삭제 및 저장


▪️Test21Servlet.java
package servlet;

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;
import javax.servlet.RequestDispatcher;
import bean.Test21Bean;

@WebServlet("/Test21Servlet")
public class Test21Servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        Test21Bean t = new Test21Bean();
        t.setName("湊");
        t.setAge(23);

        // HttpSessionインスタンスの取得
        HttpSession session = request.getSession();

        // セッションスコープにインスタンスを保存
        session.setAttribute("t", t);

        // セッションスコープからインスタンスを削除
        session.removeAttribute("t");

        session.setAttribute("t", t);

        // フォワード
        RequestDispatcher dispatcher = request.getRequestDispatcher("/Test21Jsp.jsp");
        dispatcher.forward(request, response);
    }

}

좋은 웹페이지 즐겨찾기