JSP(Java Server Page) JSP기초 JSP 지시어 PSLAB 남지민 2004년 2월 17일.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

12 장 자바 애플릿. 2 Applet 개요 Applet 프로그램 – 웹 페이지에 포함되어 구동 된다. 웹 브라우저나 애 플릿뷰어 (appletviewer) 에서 실행되는 프로그램 – 웹 브라우저 내에 Applet 을 해석하여 실행할 수 있 도록 Applet 구동용 인터프리터가.
Web Programming 소개 인공지능 연구실.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
Ch.07-5 xml-rpc 사용하기 김상엽.
PHP입문 Izayoi 김조흔.
16강. 자바 빈 빈 이란? 빈 만들기 빈 관련 액션 태그(useBean, getProperty, setProperty)
3 JSP의 기초.
7 JSP의 기초.
6장. JSP 지시문 (Directives) 제6장.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
12 ███████████ 12.
Visual Basic .NET 처음 사용하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
JavaServerPage 전혜영.
5. JSP의 내장객체1.
JSP 내장 객체 JSP에서 기본으로 사용할 수 있는 내장 객체 종류를 알아본다. 내장 객체별 주요 기능과 메서드를 이해한다.
자바 5.0 프로그래밍.
Servlet 서블릿 기초 FORM 처리 서블릿의 API 세션과 쿠키 com.oreilly.servelet 패키지
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
10장. 예외처리.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
자바 5.0 프로그래밍.
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
7장 JSP페이지의 내장객체(Implicit Object)와 영역(Scope)
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
자바응용.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
JSP문법 JSP 기본 구조를 이해한다. 지시어, 스크립트릿 JSP 액션 태그 사용법을 익힌다. 한빛미디어(주)
10. RMI (Remote Method Invocation)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
7장. JSP페이지의 내장객체(Implicit Object)와 영역(Scope)
1. JSP를 시작하며 인천대학교 컴퓨터공학과 성 미 영
12장 쿠키와 세션 이장에서 배울 내용 : 쿠키와 세션은 웹 페이지 간에 정보를 유지할 때 사용된다. 쿠키와 세션은 사용되는 형태가 비슷하나, 쿠키는 웹 브라우저(클라이언트) 쪽에 저장되고, 세션은 웹 서버 쪽에 저장된다. 이 번장에서는 이들에 대해 학습한다.
JA A V W. 06.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 21. 전화, SMS, 주소록.
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
JSP Programming with a Workbook
제 06 장 JSP 액션 태그 학기 인터넷비즈니스과 강 환수 교수.
Introduction to JSP & Servlet
제 04 장 JSP 기본 문법 학기 인터넷비즈니스과 강 환수 교수.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
JSP Programming with a Workbook
1장 웹 프로그래밍의 개요 이장에서 배울 내용: 월드 와이드 웹(World Wide Web, WWW)기반에서 동작되는 웹 프로그래밍에 대해 학습하고 , 이러한 웹 기반에서 동작되는 웹 어플리케이션이 어떠한 방식으로 발전해 왔는지 알아본다. 또한 이러한 웹 어플리케이션의.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
Java의 정석 제 8 장 예외처리 (Exception handling) Java 정석 남궁성 강의
7 생성자 함수.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

JSP(Java Server Page) JSP기초 JSP 지시어 PSLAB 남지민 2004년 2월 17일

1.1 JSP 소개 동적인 웹 문서를 포함하는 응용 프로그램을 작성 할 수 있게 하는 자바 플랫폼 기술 JSP 장점 동적인 내용과 정적인 내용을 분리 개발 도구 지원 컴포넌트와 태그의 재사용성 N-tier 엔터프라이즈 응용 프로그램 구조 지원 동적인 내용과 정적인 내용을 분리(태그랑 스크립트) 개발 도구 지원(톰캣) 컴포넌트와 태그의 재사용성(모든 플랫폼에서 수정 없이 사용가능) N-tier 엔터프라이즈 응용 프로그램 구조 지원 다중계층(N-tier) Multi-Tier(혹은 n-Tier)환경에서의 Performance, 즉 "성능"을 얘기하는 것 이죠. 그 이외에도 메모리 부족예방, 태그 확장성 지원

1.2 JSP 데이터의 처리 JSP를 사용하면 식이나 스크립트렛에서 선언하지 않고 사용할 수 있는 객체들 스크립트렛에서 선언된 변수는 다른 스크립트렛에서도 사용가능 Row랑 col 밑에서 다시 사용 퍼센트로 열고 닫기-스크립트렛

1.3 JSP에 포함되는 컴포넌트 템플릿 데이터 JSP지시어 JSP액션 스크립팅 원소 식 스크립렛 템플릿 데이터(태그) JSP액션 useBean, XML문법 스크립팅 원소 jsp 페이지 안에 자바 프로그램을 삽입할 수 있는 기능 식 : <%= %> 스크립렛 : <% %> jsp:useBean 주어진 스코프에서 자바 객체 인스턴스를 id와 연결시킨다. 액션은 주어진 id로 기존의 객체를 찾다가 발견하지 못하면 다른 속성을 이용해서 객체를 생성한다. 적어도 하나의 type과 class는 존재해야 하며, class와 beanName이 동시에 유효하지는 않다 jsp:useBean는 body 부분을 가질 수 있고, body가 있는 경우에는 body에 스크립트렛이나 jsp:setProperty를 사용할 수 있다

1 2 3 4 5 6 7 8 9 내장객체 주요역할 상속되는클래스 Request 사용자의 요청처리 Javax.servlet.http.HttpServletRequest 2 Response 처리결과응답 Javax.servlet.http.HttpServletResponse 3 pageContext Context정보를 담는다. Javax.servlet.jsp.PageContext 4 Session 사용자별 세션정보처리 Javax.servlet.http.HttpSession 5 Appication 웹서버의 어플리케이션처리 Javax.servlet.ServletContext 6 Out 사용자에게 output스트림 처리 Javax.servlet.jsp.JspWriter 7 Exception 예상치못한 오류처리 Javax.lang.Throwable 8 Page 현페이지의 정보를 담고 처리 Javax.servlet.jsp.HttpJspPage 9 config 해당페이지의 초기화환경처리 Javax.servlet.ServletConfig

예 <% String name = request.getParameter("name").trim(); if(name != null && name.length() != 0) { out.println(name); } else { out.println("your name please"); } %> <LI> 주소: String addr = request.getParameter("addr").trim(); if(addr != null && addr.length() != 0) { out.println(addr); out.println("?"); HTML파일 JSP파일

1.3 JSP 엔진 JSP는 JSP 엔진에 의해 실행되며, JSP 엔진은 웹서버에 포함되어 있거나 별도의 응용 프로그램으로 구성될 수도 있다. 일반적으로는 서블릿 엔진이 JSP 엔진의 기능을 제공한다. JSP 엔진은 클라이언트로부터의 요청(request)를 JSP 페이지에 전달하고, JSP 페이지로부터의 응답(response)를 클라이언트에 전달한다. JSP의 의미 모델은 서블릿의 모델을 사용하고, JSP 페이지는 클라이언트의 요청으로부터 어떻게 응답을 생성할 것인가를 기술한다. 스크립렛이 다시 사용될 수 있어서 HTML이 완전히 닫힌 다음에 Destroy가 일어난다 서블릿 코드 생성 단계(translation phase) 이 단계에서는 JSP 페이지에 해당되는 작업을 수행할 클래스를 생성한다. 즉, JSP 페이지는 서블릿으로 변환되고, 실제로 실행될 때는 서블릿이 실행된다. 이 작업은 한번만 수행된다. 컴파일 단계(compilation phase) "서블릿 코드 생성 단계"에서 생성된 클래스는 컴파일 단계를 거쳐 컴파일된다. 요청 처리 단계(request processing phase) 요청 처리 단계에서는 생성된 서블릿 클래스를 통해 클라이언트의 요청이 처리된다.

2 JSP 지시어 JSP엔진에 전달하는 메시지 page 지시어 include 지시어 taglib 지시어 include 지시어 : 서블릿 코드 생성시 텍스트나 코드를 JSP파일 안으로 포함 taglib 지시어 : 사용자 정의 태그

2.1 page 지시어 속성 language isThreadSafe extends info import errorPage session buffer autoFlush isThreadSafe info errorPage isErorrPage pageEncoding language 속성 : 선언, 식 스크립트렛에 사용되는 스크립트 언어를 기술 extends 속성 : JSP 페이지에 의해 생성된 클래스의 부모 클래스를 지정하기 위해서 사용. import 속성 : 스크립트렛과 식에서 사용할 수 있는 타입을 기술하기 위해서 사용. session 속성 : 페이지가 세션에 참여할 것인가 여부를 기술. buffer 속성 : 페이지 내용을 출력하는 JspWriter타입의 out변수의 버퍼링 모델을 설정. autoFlush 속성 : 버퍼의 내용이 자동적으로 플러쉬(flush)될 것인지 여부를 기술. isThreadSafe 속성 : 현재 페이지의 쓰레드 세이프(thread safe)정도를 기술. info 속성 : JSP 페이지에 대한 정보를 제공하는 문자열을 기술. errorPage 속성 : 예외가 발생하는 경우에 에러를 처리하는 페이지의 상대 URL을 기술. isErorrPage 속성 : JSP 페이지의 MIME 타입과 문자 인코딩을 정의. pageEncoding 속성 : JSP 페이지의 문자 인코딩을 기술. 예) <%@ page info="my latest JSP Example V1.1" %>

2.2 include, taglib지시어 include 지시어 taglib 지시어 서블릿 코드 생성시 텍스트나 코드를 JSP파일 안으로 포함 예) <%@ include file="copyright.jsp" %> taglib 지시어 사용자가 원하는 태그를 생성해서 사용하는 것을 가능하게 하는 태그라이브러리. 예)<%@ taglib uri="tagLibraryURI" prefix="tagPrefix"%>

4. 스크립트 원소 5. JSP 액션 Sookmyung Women’s Univ. Pslab Moon, Sewon JSP(Java Server Page) 4. 스크립트 원소 5. JSP 액션 Sookmyung Women’s Univ. Pslab Moon, Sewon

4.1 스크립팅 원소 선언 : 변수나 메소드 선언, JSP 페이지가 초기화 될 때 초기화 ex. <%! Int i = 0; %> 스크립트렛 : 코드 조각들 포함, 클라이언트 요청이 처리되는 동안 실행 ex. <% if ( num > 50 ){ %> 식: String 타입으로 변환해서 클라이언트에 전달 (그렇지 않을 경우 ClassCastException 예외 발생) ex. <%=request.getMethod() %>

4.2 스크립팅 원소 예

5.1 JSP 액션 JSP 액션 객체를 생성, 변경, 사용하는 등의 작업 스코프 속성 (page, request, session, application) jsp:useBean - 객체 인스턴스를 id와 연결 jsp:setProperty - bean에서 속성값을 할당 jsp:getProperty - bean 인스턴스 속성 값을 String 타입으로 변화해서 out으로 출력 jsp:include - 정적,동적인 자원을 현재 페이지에 포함 jsp:forward - 디스패치의 기능

5.2 JSP 액션 예 nameBean.html NameBean.java nameBean.jsp

5.2 JSP 액션 예 addr nameBean.html NameBean.java nameBean.jsp name Public void setName(String name){…} Public void setAddr(String addr){…} NameBean.java <jsp:setProperty… property = “name” /> <jsp:setProperty… property = “addr” /> nameBean.jsp

5.2 JSP 액션 예 Forward.jsp one.jsp two.jsp