알버트의 개발하는 블로그

JSP가 사용하는 시스템 영역과 범위 본문

웹개발/Java & JSP

JSP가 사용하는 시스템 영역과 범위

알버트 2021. 9. 13. 10:38

 

이번 시간에는 JSP에서 사용되는 시스템 영역과 범위에 대해서 알아보겠습니다. JSP의 시스템 영역과 범위는 총 4가지로 구분되어지는데요. pageContext, request, session, application 이렇게 4가지입니다. 그리고 그 범위는 이와 같습니다.

 

1.pageContext : 현재 보고 있는 페이지의 영역

2.request : 현재 페이지와 다음 페이지까지의 영역

3.session : 브라우저가 실행되면 생성되고 브라우저가 종료되면 같이 소멸되는 영역

4.application : 서버가 실행되면 생성되고 서버가 종료되면 같이 소멸되는 영역

 

이렇게 4가지가 있는데요. pageContext가 제일 작은 단위이고 밑으로 내려갈수록 범위가 커집니다. 즉, application이 가장 범위가 큰 것을 알 수 있습니다. application은 서버가 종료되어야 소멸됩니다. 가장 많이 쓰이는 영역은 request와 session 두 가지인데요. request는 웹 상에서 다음 페이지로 정보를 넘겨줄때 많이 쓰입니다. 그리고 session은 로그인 정보, 장바구니와 같이 브라우저가 종료되기 전까지 필요한 정보를 취급할 때 많이 쓰입니다. 이제 간단한 예제를 통해서 한번 알아보겠습니다.

 

 

 


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>

<%
//	일반 변수
	String var = "그냥 변수";
	out.println("그냥 변수 : " + var + "<br>");
//	영역 변수
//  설정 방법 : 영역이름.setAttribute("영역변수명", 변수저장값)
	pageContext.setAttribute("pageContextVar", "areaTest.jsp의 pageContext 영역 변수");
	request.setAttribute("requestVar", "areaTest.jsp의 request 영역 변수");
	session.setAttribute("sessionVar", "areaTest.jsp의 session 영역 변수");
	application.setAttribute("applicationVar", "areaTest.jsp의 application 영역 변수");
	
	
//	영역이름.getAttribute("영역 변수명"); : 영역 변수명의 자료를 받을 때 쓴다.
	out.println("areaTest.jsp의 pageContext 영역 변수 : " +
    pageContext.getAttribute("pageContextVar") + "<br>");
	out.println("areaTest.jsp의 request 영역 변수 : " +
    request.getAttribute("requestVar") + "<br>");
	out.println("areaTest.jsp의 session 영역 변수 : " +
    session.getAttribute("sessionVar") + "<br>");
	out.println("areaTest.jsp의 application 영역 변수 : " +
    application.getAttribute("applicationVar") + "<br>");

//	영역 변수의 데이터를 얻어와서 일반 변수에 저장시키려면 반드시
//	일반 변수의 자료형으로 형변환시켜야 한다.
	String str = (String) request.getAttribute("requestVar");
%>

</body>
</html>

 

 

코드는 이와 같습니다.

영역 변수명에 데이터를 저장할 때는 영역명.setAttribute("영역변수명", 변수저장값)입니다.

영역 변수명의 데이터를 받을 때는 영역명.getAttribute("영역 변수명")만 쓰면 됩니다.

그리고 영역 변수의 데이터는 자료형이 Object이므로 반드시 일반 변수에 저장할 때는 일반 변수의 자료형으로 변환시켜서 받아야 합니다. 이제 실행해보겠습니다.

 

 

 

짜잔~ 이런 웹사이트가 생성된 것을 볼 수 있습니다. 이처럼 pageContext와 request, session, application과 같은 시스템 영역은 jsp에서 굉장히 중요한 개념이므로 반드시 숙지해야겠습니다. 읽어주셔서 감사합니다.

 

'웹개발 > Java & JSP' 카테고리의 다른 글

[Java] Servlet과 doGet(), doPost()  (0) 2021.12.23
포틀릿이란? (Portlet)  (0) 2021.12.10
JSP로 기본적인 웹 페이지 생성하기  (0) 2021.09.13