JSP-Scope 내장객체

임재헌·2023년 4월 18일
0

JSP

목록 보기
22/33
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>01 SCOPE test</title>
</head>
<body>
<h3>내장객체 및 내부변수</h3>
<%
/* 
	   [JSP 내장객체]

	  - JSP페이지가 서블릿에서 변환될때(.class) JSP컨테이너(Tomcat웹서버)가 자동적으로 제공
	  - JSP페이지 내에서 제공하는 특수한 레퍼런스(참조) 타입의 변수
	  - 객체 생성 없이 바로 사용할 수 있는 JSP의 객체

	  1.OUT			:출력객체
	  2.pageContext	:jsp페이지 자체의 context제공
	  3.request		:요청에 관한 정보
	  4.response	:응답에 대한 정보
	  5.session		:요청에 관한 context 제공
	  6.application	:서블릿 및 외부 환경 정보 context제공
	  
-------------------------------------------------------------------------------------------------------------------------------
		[Scope의 종류]
	  	-myweb 프로젝트내에서 페이지들간에 값을 공유하기 위해 사용
	  	1.pageContext	: 현재 페이지에서만 유효. 기본값
	  	2.request		: 부모 페이지와 자식 페이지에서만 유효한 값
	  	3.session		: myweb프로젝트의 모든 페이지에서 유효 (사용자 개별 접근, 시간) ONLY ME
	  	4.application	: myweb프로젝트의 모든 페이지에서 유효 (모든 사용자 접근, 서버 정보) ALL
	  	
-----------------------------------------------------------------------------------------------------
		[내부 변수 선언 형식]-별도의 자료형이 있다
	  	1.pageContext.setAttribute("변수명",값)
	  	2.request.setAttribute("변수명",값)
	  	3.session.setAttribute("변수명",값)
	  	4.application.setAttribute("변수명",값)
	  	
	  	[내부 변수 값 가져오기]
	  	1.pageContext.getAttribute("변수명",값)
	  	2.request.getAttribute("변수명",값)
	  	3.session.getAttribute("변수명",값)
	  	4.application.getAttribute("변수명",값)
	  	
	  	
	  */
	  //각 내부 변수에 값 올리기
	  //kor변수는 현재 페이지 내에서만 사용 가능
	  pageContext.setAttribute("kor", 100);
	  request.setAttribute("eng", 200);
	  session.setAttribute("mat", 300);
	  application.setAttribute("uname", "itwill");

	//내부 변수값 가져오기
	
	  	out.print(pageContext.getAttribute("kor"));
		out.print("<hr>");
	  	out.print(request.getAttribute("eng"));
	  	out.print("<hr>");
	  	out.print(session.getAttribute("mat"));
	  	out.print("<hr>");
	  	out.print(application.getAttribute("uname"));
	  	out.print("<hr>");
	  
	  	Object obj=pageContext.getAttribute("kor");
	  	int kor=(int)obj;
	  	int eng =(int)request.getAttribute("eng");
	  	int mat =(int)session.getAttribute("mat");
	  	String uname =(String)application.getAttribute("uname");
	  	
	  	
	  	out.print("1.pageContext영역:"+kor +"<hr>");
	  	out.print("2.request영역:"+eng +"<hr>");
	  	out.print("3.session영역:"+mat +"<hr>");
	  	out.print("4.application영역:"+uname +"<hr>");
		
	  	
	  	pageContext.removeAttribute("kor");
	  	request.removeAttribute("eng");
	  	session.removeAttribute("mat");
	  	application.removeAttribute("uname");
	  	
	  	out.print(pageContext.getAttribute("kor"));
		out.print("<hr>");
	  	out.print(request.getAttribute("eng"));
	  	out.print("<hr>");
	  	out.print(session.getAttribute("mat"));
	  	out.print("<hr>");
	  	out.print(application.getAttribute("uname"));
	  	out.print("<hr>");
	  	
%>


</body>
</html>

0개의 댓글