7장 JSP페이지의 내장객체(Implicit Object)와 영역(Scope)

Slides:



Advertisements
Similar presentations
제 07 장 쿠키와 세션 학기 인터넷비즈니스과 강 환수 교수.
Advertisements

Chapter 07 : 서블릿 고급2. chapter 07 : 서블릿 고급2 학습목표 세션 tracking hidden 태그 이용 encodeURL 메소드 사용법 URL 파라미터 이용 쿠키 이용 세션 이용 encodeURL 메소드 사용법.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
네트워크 프로그래밍 및 실습.
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
Ch.07-5 xml-rpc 사용하기 김상엽.
2. JSP의 환경설정 제 2장 JSP의 환경설정 웹 애플리케이션과 디렉토리 구성 JDK 설치하기 JSP Container
JSP 내장 객체 개요 내장 객체 (참조 변수 이름) 자바 클래스 주요 역할
Internet Computing KUT Youn-Hee Han
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
5장. 참조 타입.
JSP(Java Server Page) JSP기초 JSP 지시어 PSLAB 남지민 년 2월 17일.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
JSP Programming with a Workbook
JSP 내장 객체 JSP에서 기본으로 사용할 수 있는 내장 객체 종류를 알아본다. 내장 객체별 주요 기능과 메서드를 이해한다.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
Servlet 서블릿 기초 FORM 처리 서블릿의 API 세션과 쿠키 com.oreilly.servelet 패키지
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
10장. 예외처리.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
13. 연산자 오버로딩.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
인터넷응용프로그래밍 JavaScript(Intro).
CHAP 13. 방명록 만들기 실습.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Ⅰ. ASP개체 모델 Ⅱ. Request 개체 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
8장 쿠키와 세션 한빛미디어(주).
웹디자인
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
7장. JSP페이지의 내장객체(Implicit Object)와 영역(Scope)
JSP 내장 객체 개요 내장 객체 (참조 변수 이름) 자바 클래스 주요 역할
12장 쿠키와 세션 이장에서 배울 내용 : 쿠키와 세션은 웹 페이지 간에 정보를 유지할 때 사용된다. 쿠키와 세션은 사용되는 형태가 비슷하나, 쿠키는 웹 브라우저(클라이언트) 쪽에 저장되고, 세션은 웹 서버 쪽에 저장된다. 이 번장에서는 이들에 대해 학습한다.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 21. 전화, SMS, 주소록.
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
Introduction to JSP & Servlet
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
객체 및 객체 모델 데이터 전송 방식 Request 객체 Response 객체
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
MIDP 네트워크 프로그래밍 ps lab 김윤경.
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
웹에서의 상태 - 변수 발표자 : 지왕태.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
7 생성자 함수.
6 객체.
JAVA 프로그래밍 16장 JNLP.
Ⅰ. Response 개체 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와 데이터를 저장하는.
20 XMLHttpRequest.
Presentation transcript:

7장 JSP페이지의 내장객체(Implicit Object)와 영역(Scope) 이장에서 배울 내용 : 웹 컨테이너는 JSP 페이지에서 상황에 따라 필수적으로 사용되는 9개의 객체를 객체의 생성 없이 바로 사용할 수 있도록 제공 한다. 이들 객체들을 JSP의 내장객체(Implicit Object)라고 부르는데, 이번 장에서는 이들 기본 객체가 무엇이며 어떻게 쓰이지는 그리고 이들의 영역에 대해 학습한다. 김은옥(oda94@naver.com)

목차 내장객체의 개요 내장객체의 종류 내장객체의 영역

내장객체의 개요 내장 객체 (Implicit Object) 는 JSP 페이지 내에서 제공하는 특수한 레퍼런스 타입의 변수로 사용하고자 하는 변수와 메소드에 접근 JSP 페이지에서 사용하는 특수한 레퍼런스 타입의 변수는 선언과 객체 생성 없이 사용 할 수 있음. JSP 페이지가 서블릿으로 변환이 될 때, JSP 컨테이너가 자동적으로 제공을 하기 때문.

내장객체의 개요 JSP 페이지의 내장 객체 내장 객체 리턴 타입(Return Type) 설명 request javax.servlet.http.HttpServletRequest 또는 javax.servlet.ServletRequest 웹 브라우저의 요청 정보를 저장하고 있는 객체이다. response javax.servlet.http.HttpServletResponse 또는 javax.servlet.ServletResponse 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체이다. out javax.servlet.jsp.JspWriter JSP페이지 출력할 내용을 가지도 있는 출력 스트림 객체이다. session javax.servlet.http.HttpSession 하나의 웹 브라우저 내에서 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체이다. application javax.servlet.ServletContext 웹 어플리케이션 Context의 정보를 저장하고 있는 객체이다. pageContext javax.servlet.jsp.PageContext JSP페이지 대한 정보를 저장하고 있는 객체이다. page java.lang.Object JSP 페이지를 구현한 자바 클래스 객체이다 config javax.servlet.ServletConfig JSP페이지 대한 설정정보를 저장하고 있는 객체이다 exception java.lang.Throwable JSP 페이지에서 예외가 발생한 경우에 사용되는 객체이다

내장객체의 개요 request, session, application, pageContext 내장 객체는 속성(attribute)값을 저장하고 읽을 수 있는 메소드인 setAttribute()메소드와 getAttribute()메소드를 제공. 속성 값을 저장하고 읽을 수 있는 기능은 내장객체를 사용해서 JSP 페이지들 및 서블릿 간에 정보를 주고받을 수 있게 해 줌.

내장객체의 개요 내장 객체의 속성(attribute) 관련된 메소드 메소드 : 리턴 타입 setAttribute(String key, Object value) : void 해당 내장객체의 속성(attribute)값을 설정하는 메소드로, 속성명에 해당하는 key매개변수에, 속성 값에 해당하는 value매개변수의 값을 지정한다. getAttributeNames() : java.util.Enumeration 해당 내장객체의 속성(attribute)명을 읽어오는 메소드로 모든 속성의 이름을 얻어낸다. getAttribute(String key) : Object 해당 내장객체의 속성(attribute)명을 읽어오는 메소드로, 주어진 key매개변수에 해당하는 속성 값을 얻어낸다. removeAttribute(String key) : void 해당 내장객체의 속성(attribute)을 제거하는 메소드로, 주어진 key매개변수에 해당하는 속성명을 제거한다.

내장객체의 종류 request 내장객체 request 객체는 웹 브라우저에서 JSP 페이지로 전달되는 정보의 모임. 웹 컨테이너는 요청된 HTTP 메시지를 통해 HttpServletRequest 객체를 얻어내고, 이 객체로부터 사용자의 요구사항을 얻어냄. JSP페이지에서는 HttpServletRequest 객체를 request 객체명으로 사용.

내장객체의 개요 request 객체에서 사용자의 요구사항을 얻어내는 요청 메소드 메소드 : 리턴타입 getParameter(name) : String 파라메터 변수 name에 저장된 변수 값을 얻어내는 메소드로, 파라메터 변수 name에 해당하는 변수명이 없으면 null값을 리턴 한다. getParameterValues(name) : String[] 파라메터 변수 name에 저장된 모든 변수 값을 얻어내는 메소드로, 이때 변수의 값은 String 배열로 리턴 된다. checkbox에서 주로 사용된다. getParameterNames() : Enumeration 요청에 의해 넘어오는 모든 파라미터 변수를 java.util.Enumeration 타입으로 리턴 한다. 변수가 가진 객체들을 저장해야하기 때문에 컬렉션인 Enumeration 타입을 사용했다.

내장객체의 개요 request 객체의 웹 브라우저, 웹 서버 및 요청 헤더의 정보를 가져올 때 사용되는 메소드 메소드 : 리턴타입 getProtocol() : String 웹 서버로 요청 시, 사용 중인 프로토콜을 리턴 한다. getServerName() : String 웹 서버로 요청 시, 서버의 도메인 이름을 리턴 한다. getMethod() : String 웹 서버로 요청 시, 요청에 사용된 요청 방식(GET, POST, PUT등)을 리턴 한다. getQueryString() : String 웹 서버로 요청 시, 요청에 사용된 QueryString을 리턴 한다. getRequestURI() : String 웹 서버로 요청 시, 요청에 사용된 URL로부터 URI값을 리턴 한다.

내장객체의 개요 request 객체의 웹 브라우저, 웹 서버 및 요청 헤더의 정보를 가져올 때 사용되는 메소드 메소드 : 리턴타입 getProtocol() : String 웹 서버로 요청 시, 사용 중인 프로토콜을 리턴 한다. getServerName() : String 웹 서버로 요청 시, 서버의 도메인 이름을 리턴 한다. getMethod() : String 웹 서버로 요청 시, 요청에 사용된 요청 방식(GET, POST, PUT등)을 리턴 한다. getQueryString() : String 웹 서버로 요청 시, 요청에 사용된 QueryString을 리턴 한다. getRequestURI() : String 웹 서버로 요청 시, 요청에 사용된 URL로부터 URI값을 리턴 한다.

내장객체의 개요 메소드 : 리턴타입 getRemoteHost() : String 웹 서버로 정보를 요청한 웹 브라우저의 호스트 이름을 리턴 한다. getRemoteAddr() : String 웹 서버로 정보를 요청한 웹 브라우저의 IP주소를 리턴 한다. getServerPort() : int 웹 서버로 요청 시, 서버의 Port번호를 리턴 한다. getContextPath() : String 해당 JSP페이지가 속한 웹 어플리케이션의 컨텍스트 경로를 리턴 한다. getHeader(name) : String 웹 서버로 요청 시, HTTP 요청 헤더(header) 헤더이름 name에 해당하는 속성 값을 리턴 한다. getHeaderNames() : Enumeration 웹 서버로 요청 시, HTTP 요청 헤더(header)에 있는 모든 헤더이름을 리턴 한다.

내장객체의 개요 response 객체는 웹 브라우저로 응답할 응답 정보를 가짐. 웹 브라우저에 보내는 응답정보는 HttpServletResponse 객체를 사용하는데, JSP에서는 response 객체를 사용. response 객체는 응답 정보와 관련하여 주로 헤더 정보 입력, 리다이렉트 하기 등의 기능을 제공.

내장객체의 개요 response 객체에서 자주 사용되는 헤더 정보 입력과 리다이렉트에 관련된 메소드 메소드 설명 void setHeader(name, value) 헤더정보의 값을 수정하는 메소드로, name에 해당하는 헤더정보를 value값으로 설정한다. void setContentType(type) 웹 브라우저의 요청의 결과로 보일 페이지의 contentType을 설정한다. void sendRedirect(url) 페이지를 이동시키는 메소드로, url로 주어진 페이지로 제어가 이동한다.

내장객체의 개요 out 내장 객체 JSP 페이지가 생성한 결과를 웹 브라우저에 전송해 주는 출력 스트림 JSP 페이지가 웹 브라우저에게 보내는 모든 정보는 out 객체로 통해서 전송. 여기서 모든 정보는 JSP 스크립트요소 뿐만 아니라 비 스크립트요소인 HTML, 일반텍스트도 모두 포함. out객체는 javax.servlet.jsp.JspWriter 클래스 타입으로 JSP에서는 out 객체로 사용. 주로 많이 사용되는 메소드는 웹 브라우저에 출력을 하기 위한 println( ) 메소드.

내장객체의 개요 out 내장 객체의 메소드 메소드 - 설명 isAutoFlush() : boolean - 출력 버퍼가 다 찼을 때 처리여부를 결정하는 것으로, 자동으로 플러시(출력해서 비우기) 할 경우에는 true를 리턴하고, 그렇지 않을 경우 false를 리턴 한다. getBufferSize() : int - 출력 버퍼의 전체 크기를 리턴 한다. getRemaining() : int - 현재 남아 있는 출력 버퍼의 크기를 리턴 한다. clearBuffer() : void - 현재 출력 버퍼에 저장되어 있는 내용을 웹 브라우저에 전송하지 않고 비운다. println(str) : String - 주어진 str값을 웹 브라우저에 출력한다. 이때 줄 바꿈은 적용되지 않는다. flush() : void - 현재 출력 버퍼에 저장되어 있는 내용을 웹 브라우저에 전송하고 비운다. close() : void - 현재 출력 버퍼에 저장되어 있는 내용을 웹 브라우저에 전송하고 출력스트림을 닫는다.

내장객체의 종류 pageContext 내장객체 pageContext 객체는 현재 JSP 페이지의 컨텍스트(Context)를 나타내며, 주로 다른 내장객체를 구하거나, 페이지의 흐름제어 그리고 에러데이터를 얻어낼 때 사용. javax.servlet.jsp.PageContext객체 타입으로, JSP에서는 pageContext객체로 사용.

내장객체의 종류 pageContext 내장 객체의 메소드 메소드 : 리턴 타입 getRequest() : ServletRequest 페이지 요청 정보를 가지고 있는 request 내장 객체를 리턴 한다. getResopnse() : ServletResponse 페이지 요청에 대한 응답 정보를 가지고 있는 response 내장 객체를 리턴 한다. getOut() : JspWriter 페이지 요청에 대한 출력 스트림인 out 내장 객체를 리턴 한다. getSession() : HttpSession 요청한 웹 브라우저의 세션 정보를 담고 있는 session 내장 객체를 리턴 한다. getServletContext() : ServletContext 페이지에 대한 서블릿 실행 환경 정보를 담고 있는 application 내장 객체를 리턴 한다. getPage() : Object page 내장 객체를 리턴 한다. getServletConfig() : ServletConfig 해당 페이지의 서블릿 초기 정보 설정 정보를 담고 있는 config 내장 객체를 리턴 한다. getException() : Exception 페이지 실행 중에 발생되는 에러 페이지에 대한 예외정보를 갖고 있는 exception 내장 객체를 리턴 한다.

내장객체의 종류 session 내장객체 요청한 웹 브라우저에 관한 정보를 저장하고 관리하는 내장 객체 session 객체는 javax.servlet.http.HttpSession 객체 타입으로, JSP에서는 session 객체로 사용. session 객체는 웹 브라우저(클라이언트)당 1개가 할당. 따라서 주로 회원관리 시스템에서 사용자 인증에 관련된 작업을 수행할 때 사용.

내장객체의 종류 session 내장 객체의 메소드 메소드 : 리턴 타입 getId() : String getCreationTime() : long 해당 세션이 생성된 시간을 리턴 한다. getLastAccessedTime() : long 웹 브라우저의 요청이 시도된 마지막 접근시간을 리턴 한다. setMaxInactiveInterval(time) : void 해당 세션을 유지할 시간을 초단위로 설정한다. getMaxInactiveInterval() : int 기본 값은 30분으로 setMaxInactiveInterval(time) 로 지정된 값을 리턴 한다. isNew() : boolean 현재의 웹 브라우저가 새로 불려진 즉, 새로 생성된 세션의 경우 true 값을 리턴 한다. invalidate() : void 현재 정보의 유지로 설정된 세션의 속성 값을 모두 제거한다. 주로 세션을 무효화시킬 때 사용된다.

내장객체의 종류 application 내장객체 웹 어플리케이션의 설정정보를 갖는 context와 관련이 있는 객체로 웹 어플리케이션과 연관됨. application 객체는 웹 어플리케이션이 실행되는 서버 의 설정 정보 및 자원에 대한 정보를 얻어내거나, 어플리케이션이 실행되고 있는 동안에 발생할 수 있는 이벤트 로그 정보와 관련된 기능들을 제공. application 기본 객체는 웹 어플리케이션 당 1개의 객체가 생성. 하나의 웹 어플리케이션에서 공유하는 변수로 사용된다. 웹 사이트의 방문자 기록을 카운트할 때 사용. application 객체는 javax.servlet.ServletContext 객체 타입으로 제공하고 application 객체 형태로 사용.

내장객체의 종류 application 객체 관련 메소드 메소드 : 리턴 타입 getServerInfo() : String 웹 컨테이너의 이름과 버전을 리턴 한다. getMimeType(fileName) : String 지정한 파일의 MIME 타입을 리턴 한다. RealPath(path) : String 지정한 경로를 웹 어플리케이션 시스템상의 경로로 변경하여 리턴 한다. log(message) : void 로그 파일에 message를 기록한다.

내장객체의 종류 config 내장객체 config 내장 객체는 javax.sevlet.ServletConfig 객체타입. 서블릿이 초기화될 때 참조해야 하는 정보를 가지고 있다가 전달. config 내장 객체는 컨테이너당 1개의 객체가 생성. 같은 컨테이너에서 서비스되는 모든 페이지는 같은 객체를 공유

내장객체의 종류 config 내장 객체의 메소드 메소드 : 리턴 타입 getInitParameterNames() : Enumeration 모든 초기화 파라미터 이름을 리턴 한다. getInitParameter(name) : String 이름이 name인 초기화 파라미터의 값을 리턴 한다. getServletName() : String 서블릿의 이름을 리턴 한다. getServletContext() : ServletContext 실행하는 서블릿 ServletContext 객체를 리턴 한다.

내장객체의 종류 page 내장 객체 JSP 페이지 그 자체를 나타내는 객체 JSP 페이지 내에서 page 객체는 this 키워드(this : 자바에서 자기 자신을 가리키는 레퍼런스)로 자기 자신을 참조할 수 가 있음. page 객체는 javax.servlet.jsp.HttpJspPage 객체 타입으로 JSP 내장 객체이다. 웹 컨테이너는 자바만을 스크립트 언어로 지원하기 때문에 page 객체는 현재 거의 사용 되지 않는 내장 객체.

내장객체의 종류 exception 내장객체 JSP 페이지에서 예외가 발생하였을 경우, 예외를 처리할 페이지에 전달되는 객체. exception 객체는 page 디렉티브의 isErrorPage 속성을 true로 지정한 JSP 페이지에서만 사용 가능한 내장 객체로, java.lang.Throwable 객체 타입.

내장객체의 종류 exception 내장 객체의 메소드 메소드 : 리턴 타입 getMessage() : String 발생된 예외의 메시지를 리턴 한다. toString() : String 발생된 예외 클래스명과 메시지 리턴 한다. printStackTrace() : String 발생된 예외를 역추적하기 위해 표준 예외 스트림을 출력한다. 예외발생시 예외가 발생한 곳을 알아낼 때 주로 사용된다.

내장객체의 영역 웹 어플리케이션은 page, request, session, application 이라는 4개의 영역을 가지고 있음. 내장 객체의 영역은 객체의 유효기간이라고도 불리며, 객체 공유 범위 page영역 한 번의 웹 브라우저(클라이언트)의 요청에 대해 하나의 JSP페이지가 호출. 웹 브라우저의 요청이 들어오면 이때 단 한 개의 페이지만 대응. page영역은 객체를 하나의 페이지 내에서만 공유. page영역은 pageContext내장 객체를 사용한다.

내장객체의 영역 request영역 한 번의 웹 브라우저(클라이언트)의 요청에 대해 같은 요청을 공유하는 페이지가 대응. include 액션 태그, forward 액션 태그를 사용하면 request 기본객체를 공유하게 되어서 같은 request영역이 됨. 주로 페이지 모듈화에 사용. request영역은 request 기본 객체를 사용한다.

내장객체의 영역 session영역 웹 브라우저 당 1개의 session객체가 생성 같은 웹 브라우저 내에서는 요청되는 페이지 들은 같은 객체를 공유 주로 회원관리에서 회원인증에 사용. session영역은 session 내장 객체를 사용.

내장객체의 영역 application영역 하나의 웹 어플리케이션 당 1개의 application 객체가 생성. 같은 웹 어플리케이션에 요청되는 페이지들은 같은 객체를 공유. application영역은 application 기본 객체를 사용한다.