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>
▼ 실행 결과

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>
▼ 실행 결과

3.2 application 객체 주요 메서드
setAttribute(String name, Object value)
: 애플리케이션에 데이터를 저장합니다.getAttribute(String name)
: 애플리케이션에서 데이터를 가져옵니다.removeAttribute(String name)
: 애플리케이션에서 데이터를 제거합니다.
관련 이전 게시글
- JSP 내장 객체 사용법: request와 response
- JSP와 Servlet 소개 및 활용도
- JSP 기본 문법: 디렉티브, 스크립틀릿, 표현식, 선언문
- JSP 변수 선언 및 연산자 사용법
- JSP 조건문 및 반복문 사용법
이 글이 도움이 되셨다면 공유 부탁 드립니다.