JSP 내장 객체 사용법: session과 application

JSP 내장 객체 사용법: session과 application

이 글에서는 JSP 내장 객체 중 session과 application 객체에 대해 알아봅니다. 이 두 객체는 웹 애플리케이션에서 상태 정보를 관리하는 데 중요한 역할을 합니다. 예제와 함께 session과 application 객체의 주요 메서드와 사용법에 대해서 알아보겠습니다.

1. JSP 내장 객체 개요

JSP 내장 객체는 JSP 페이지에서 기본적으로 제공되는 객체들로, 개발자가 별도로 생성하지 않아도 사용할 수 있습니다. 주요 내장 객체는 다음과 같습니다.

  • request: 클라이언트의 요청 정보를 담고 있는 객체
  • response: 서버의 응답 정보를 담고 있는 객체
  • session: 사용자 세션 정보를 관리하는 객체
  • application: 애플리케이션 전역에서 사용되는 정보를 담고 있는 객체
  • out: 클라이언트로 데이터를 출력하는 객체
  • config: 서블릿 설정 정보를 담고 있는 객체
  • pageContext: 페이지 컨텍스트 정보를 담고 있는 객체
  • page: 현재 페이지 자체를 나타내는 객체
  • exception: 예외 정보를 담고 있는 객체 (오류 페이지에서 사용)

2. session 객체

session 객체는 사용자가 웹 애플리케이션에 접속하는 동안 유지되는 정보를 관리합니다. 사용자의 상태를 유지하고, 사용자별로 데이터를 저장할 수 있습니다. 예를 들어, 로그인 정보를 session 객체에 저장하여 사용자가 로그인한 상태를 유지할 수 있습니다.

2.1 session 객체 사용 예제

다음은 session 객체를 사용하여 사용자 이름을 저장하고, 이를 출력하는 예제입니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Session 객체 예제</title>
</head>
<body>
<%-- 세션에 사용자 이름 저장 --%>
<%
    session.setAttribute("username", "blueshare");
%>

<%-- 세션에서 사용자 이름 가져오기 --%>
<%
    String username = (String) session.getAttribute("username");
%>

<%-- 사용자 이름 출력 --%>
<p>안녕하세요, <%= username %>님!</p>
</body>
</html>
session 객체 사용 예제 결과

2.2 session 객체 주요 메서드

  • setAttribute(String name, Object value): 세션에 데이터를 저장합니다.
  • getAttribute(String name): 세션에서 데이터를 가져옵니다.
  • removeAttribute(String name): 세션에서 데이터를 제거합니다.
  • invalidate(): 세션을 무효화합니다. (로그아웃 시 사용)

3. application 객체

application 객체는 웹 애플리케이션 전역에서 사용되는 정보를 관리합니다. 모든 사용자와 세션에서 공유되는 데이터를 저장할 수 있습니다. 예를 들어, 애플리케이션의 설정 정보를 application 객체에 저장하여 모든 JSP 페이지에서 접근할 수 있습니다.

3.1 application 객체 사용 예제

다음은 application 객체를 사용하여 애플리케이션 이름을 저장하고, 이를 출력하는 예제입니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Application 객체 예제</title>
</head>
<body>
<%-- 애플리케이션에 이름 저장 --%>
<%
    application.setAttribute("appName", "BlueShareApp");
%>

<%-- 애플리케이션에서 이름 가져오기 --%>
<%
    String appName = (String) application.getAttribute("appName");
%>

<%-- 애플리케이션 이름 출력 --%>
<p>현재 애플리케이션: <%= appName %></p>
</body>
</html>
application 객체 사용 예제 결과

3.2 application 객체 주요 메서드

  • setAttribute(String name, Object value): 애플리케이션에 데이터를 저장합니다.
  • getAttribute(String name): 애플리케이션에서 데이터를 가져옵니다.
  • removeAttribute(String name): 애플리케이션에서 데이터를 제거합니다.

관련 이전 게시글

위로 스크롤