Web Dev/JSP

JSP 6강 :: 주요 내장객체, 페이지간 데이터 공유 방법

HJPlumtree 2022. 10. 10. 20:31

JSP에서 기억하고 싶은 내용

 

 

JSP에서 사용할 수 있는 객체

사용자 정의 객체

스크립트릿이나 선언에서 객체 생성

<jsp:useBean> 이용해서 자바빈 객체 생성

 

JSP 주요 내장 객체

1. 2. 앞의 5강 request, response

3. 페이지 영역

4. session 영역

5. application 영역

6. 출력 스트림: out

7. JSP 페이지 설정 정보 관리: config

8. JSP 클래스 인스턴스: page

9. 에러 페이지 안에서만 사용 가능: exception

 

 

pageContext 내장 객체

  • 페이지 컨텍스트 관리
  • page 표현, page 영역 관리
  • 페이지에서 사용되는 객체의 레퍼런스 가지고 있다
  • 다른 내장 객체의 참조 값을 리턴하는 메소드 제공
  • * 잘 사용안한다고 한다
    => 같은 페이지라 그냥 변수 사용하면 되서

 

 

application 내장 객체

  • 웹 앱 관련 정보 관리
  • web.xml 저장된 설정 정보 조회
  • 로그 메시지 기록
  • 서블릿 컨텍스트 관리
  • 웹 앱에 포함된 모든 JSP 페이지는 하나의 앱 객체 공유

 

web.xml에 기록하는 예시

<web-app version="4.0">
  <context-param>
    <description>파라미터 설명</description>
    <param-name>파라미터 이름</param-name>
    <param-value>파라미터 값</param-value>
  </context-param>
</web-app>

 

 

out 내장 객체

  • 출력 스트림
  • JSPWriter 유형
  • 서블릿 프로그램에서는 response.getWriter() 이용

 

 

객체의 활동 영역(Scope)

영역 표시하는 속성 값

page, request, session, application

 

같은 영역 내의 JSP 페이지의 공유를 위한 내장객체 있다

 

page 영역

  • 1개 JSP 페이지 내부
  • 클라이언트에 응답 보내거나, 포워딩 일어나면 사라짐
  • pageContext 객체에 저장된다

 

request 영역

  • 같은 요청을 처리하는 페이지로 이루어진다
  • <jsp:forward> 또는 <jsp:include> 사용할 때
  • 요청이 처리되면 영역이 사라진다
  • 요청에 대한 응답이 이루어질 때까지 유지
  • request 내장 객체에 저장된다

 

session 영역

  • 세션은 하나의 웹 브라우저에서 유지된다
  • 웹 브라우저가 실행되는 동안 요청 처리에 사용된 모든 페이지 영역

 

application 영역

  • 하나의 웹 앱 전체 영역
  • application 내장 객체에 저장
  • 웹 컨테이너 다시 시작하면 새로운 application 영역 생긴다

 

 

페이지 사이에 데이터 공유하기

내장 객체를 이용해서 데이터 공유

pageContext, request, session, application 이용

속성을 정의해서 사용한다

 

속성 값 설정

setAtribute(String name, Object value)

 

속성 값 가져오기

getAtribute(String name)

 

속성 삭제

removeAtribute(String name)

 

속성 여러개 가져오기

getAttributeNames()