제 04 장 JSP 기본 문법 2008 2학기 인터넷비즈니스과 강 환수 교수.

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

Web Programming 소개 인공지능 연구실.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
4. JSP의 스크립트 요소 Script 요소의 이해 선언문(Declaration) Scirptlet 표현식 주석
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
제 08 장 자바 빈즈 학기 인터넷비즈니스과 강 환수 교수.
4장. JSP의 구성요소와 스크립팅요소 제4장.
PHP입문 Izayoi 김조흔.
6장. JSP 지시문 (Directives) 제6장.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
JSP(Java Server Page) JSP기초 JSP 지시어 PSLAB 남지민 년 2월 17일.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
JavaServerPage 전혜영.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 13 장 JSTL 학기 인터넷비즈니스과 강 환수 교수.
10장. 예외처리.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
자바 5.0 프로그래밍.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
13. 연산자 오버로딩.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
자바응용.
인터넷응용프로그래밍 JavaScript(Intro).
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
JSP문법 JSP 기본 구조를 이해한다. 지시어, 스크립트릿 JSP 액션 태그 사용법을 익힌다. 한빛미디어(주)
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
2장. 변수와 타입.
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
12장 쿠키와 세션 이장에서 배울 내용 : 쿠키와 세션은 웹 페이지 간에 정보를 유지할 때 사용된다. 쿠키와 세션은 사용되는 형태가 비슷하나, 쿠키는 웹 브라우저(클라이언트) 쪽에 저장되고, 세션은 웹 서버 쪽에 저장된다. 이 번장에서는 이들에 대해 학습한다.
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
CHAP 21. 전화, SMS, 주소록.
4장 JSP 페이지의 디렉티브(Directive)
제 06 장 JSP 액션 태그 학기 인터넷비즈니스과 강 환수 교수.
Chapter08 JavaScript 시작하기
Introduction to JSP & Servlet
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
12 그리드 시스템.
함수, 모듈.
2018년 11월 12일 박성진 Web & Internet [09] 레이아웃 P2 2018년 11월 12일 박성진
9 브라우저 객체 모델.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
JSP Programming with a Workbook
트위치 트게더 Twitogether 김준희.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
7 생성자 함수.
6 객체.
Ⅰ. Response 개체 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와 데이터를 저장하는.
20 XMLHttpRequest.
Presentation transcript:

제 04 장 JSP 기본 문법 2008 2학기 인터넷비즈니스과 강 환수 교수

변수, 계산식, 함수 호출 결과를 문자열 형태로 출력 스크립트 태그 스크립트 태그 종류 종류 태그 형식 사용 용도 지시어(directives) <%@ %> JSP 페이지의 속성을 지정 선언(declaration) <%! %> 소속변수 선언과 메소드 정의 표현식(expression) <%= %> 변수, 계산식, 함수 호출 결과를 문자열 형태로 출력 스트립트릿(scriptlet) <% %> 자바 코드를 기술 주석(comments) <%-- --%> JSP 페이지의 설명 추가

액션 태그와 커스템 태그 액션 태그 커스템 태그 XML 스타일의 태그로 기술한 동작 기능을 수행하는 방식 새로운 태그를 정의하여 이용하는 방법으로 JSP 만의 고유한 방식 종류 태그 형식 사용 용도 액션 태그 (action Tag) <jsp:include page=”test.jsp” /> 현재 JSP 페이지에서 다른 페이지를 포함 <jsp:forward page=”test.jsp” /> 현재 JSP 페이지의 제어를 다른 페이지에 전달 <jsp:plugin type=”applet” code=”test” /> 자바 애플릿을 플러그인 <jsp:useBean id=”login” class=”LoginBean” /> 자바빈을 사용 <jsp:setProperty name=”login” property=”pass” /> 자바빈의 속성을 지정하는 메소드를 호출 <jsp:getProperty name=”login” property=”pass” /> 자바빈의 속성을 반환하는 메소드를 호출 커스템 태그 (Custom Tag) <tag:printData dbname=”mydb” table=”memb” /> 사용자가 직접 정의한 태그를 이용

스크립트릿 자바 코드 삽입 <% code fragment %> <% out.print(“스크립트릿 태그”); %>

표현식 변수의 출력 <%= expression %>

JSP 소스의 서블릿 변환 이클립스에서 서블릿 위치 톰캣 JSP 엔진 서블릿 파일의 위치 JSP 소스인 *.jsp 서블릿 소스 *_jsp.java로 자동 생성, 서블릿 클래스를 실행 서블릿 파일의 위치 작업공간 [C:\2009 JSP workspace] 하부 [.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\ch04\org\apache\jsp] 폴더 하부에 위치

서블릿 파일 increment_jsp.java

서블릿 소스 클래스 increment_j네 _jspxFactory 등 4개의 소속 변수 _jspInit(), _jspDestroy(), _jspService() 등 4개의 메소드로 구성

실행 시 오류발생 : 컴파일 오류(1) 서블릿 변환 후 컴파일 오류 JSP 소스를 서블릿으로 변환 후 컴파일 시 발생하는 오류 문법 오류(syntax error) 이클립스 편집기에서도 소스 코딩 순간에 오류 표시

실행 시 오류발생 : 컴파일 오류(2) 패키지 탐색기

서블릿 실행 시 오류 실행 시 오류 변환된 서블릿을 실행할 때 발생하는 오류 ArrayIndexOutOfBoundsException

실행 오류 수정 배열 첨자 수정 후 실행

선언 변수의 선언과 메소드 구현 <%! declaration %> 선언 태그에서 선언되는 변수는 소속 변수(membered variables) 스크립트릿에서 선언되는 변수는 메소드 _jspService() 내부에서 선언되는 지역 변수(local variables)

JSP의 지역변수와 소속변수 스크립트릿과 선언에서의 변수 선언 실행할 때마다 소속변수 memi는 증가하는 것을 알 수 있다.

JSP의 지역변수와 소속변수 서블릿 소스 membervar_jsp.java

주석 HTML 주석 JSP 주석 HTML 주석 내부에서 <!-- … --> HTML 태그를 위한 주석으로 웹 브라우저의 [소스 보기]에서 HTML 내용과 함께 그 주석 내용이 보임. JSP 주석 <%-- … --%> JSP 서버 프로그램을 위한 주석으로 실행된 웹 브라우저의 [소스 보기]에서 표시되지 않음. HTML 주석 내부에서 JSP의 스크립트릿 태그나 표현식 태그를 출력으로 이용가능 <% String str = "오후"; %> <!-- 지금은 <%= str %>입니다. --> 

주석 예제 jspcomments.jsp

자바 주석의 이용 JSP 주석 일반 자바 주석 *.jsp의 소스에서만 보이는 주석 실행 시 생성된 서블릿 프로그램에서는 보이지 않음 일반 자바 주석 JSP 소스에서 자바 코딩이 가능한 부분에서 이용 실행 시 생성된 서블릿 프로그램에서도 볼 수 있는 주석

자바 주석의 HTML 소스와 서블릿 소스

지시자 지시자 형식 태그 형태를 이용하여 JSP 페이지에 대한 속성 또는 특별한 지시 사항을 지정하는 태그 <%@ directives property=”property-value” %> directives와 속성 property 모두 대소문자를 구분 속성값은 반드시 “속성값”과 같이 큰타옴표를 이용 JSP 지시자의 종류 page, include, taglib 3가지 종류 형태 용도 page <%@ page property=”property-value” %> JSP 페이지에 대한 속성 지정 include <%@ include file=”file-name” %> 태그 부분에 지정한 페이지를 정적으로 삽입 taglib <%@ taglib uri=”uri-value” prifix=”pfx-value” %> 새로운 태그를 정의하여 이용

page 지시자 기능 JSP 컨테이너에서 JSP 페이지 대한 여러 속성과 값을 지정하는 지시자 page 지시자는 language, contentType, pageEncoding 등의 속성을 지정 한번에 한 개의 속성뿐만 아니라 서로 다른 여러 개의 속성을 지정

language , contentType language 속성 contentType 속성 JSP 페이지의 표현식, 선언, 스크립트릿에서 사용할 스크립트 언어의 종류를 지정하는 속성 <%@ page language=”java” %> contentType 속성 JSP 페이지의 MIME(Multipurpose Internet Mail Extension) 유형(type)을 지정하는 속성 지정하지 않으면 “text/html”이 기본 값 MIME 유형 JSP 페이지 자료를 네트웍에서 주고 받을 때 서로 주고 받는 문서의 타입을 정의함으로써 이를 보내고 받는 시스템에서 원활하게 자료를 처리하려는 목적에서 나온 속성 <%@ page contentType=”text/html” %> <%@ page contentType=”text/html; charset=ISO-8859-1” %> <%@ page contentType=”text/html; charset=EUC-KR” %>

pageEncoding, info pageEncoding 속성 info 속성 JSP 페이지의 문자 인코딩 방식을 기술하는 속성 지정하지 않으면 기본 값이 [ISO-8859-1] <%@ page pageEncoding =”ISO-8859-1” %> 한글을 지원하기 위해서는 [EUC-KR]로 지정 <%@ page pageEncoding =”EUC-KR” %> info 속성 JSP 페이지 전체에 대한 설명이나 버전, 작성자, 작성일자와 같은 정보를 문자열로 기술하는 부분 길이에는 제한이 없음. <%@ page info=”JSP 페이지에 대한 설명이나 정보” %>

import 속성 import 속성 JSP 페이지에서 자동 import <%@ page import=”java.util.*” %> <%@ page import=”java.util.Date, java.sql.*” %> JSP 페이지에서 자동 import [java.lang.*] [javax.servlet.*], [javax.servlet.http.*], [javax.servlet.jsp.*]

import 예제 import.jsp

isErrorPage, errorPage JSP 페이지가 오류를 처리하는 페이지인지를 true 또는 false로 지정하는 속성 지정하지 않으면 기본값이 false이고 필요하면 true로 지정 <%@ page isErrorPage=”true” %> isErrorPage를 true로 지정하면 내장객체라 부르는 exception 변수를 사용하여 에러를 처리 errorPage 속성 JSP 페이지에서 발생한 오류를 처리하는 JSP 페이지를 기술하는 방법 <%@ page errorPage=”exception.jsp” %> 오류를 처리하는 전담 JSP 페이지를 지정 이 시스템을 사용하는 사용자에게 일관성 있게 오류 처리를 해줄 수 있어 시스템의 신뢰성을 높일 수 있는 장점

errorPage 예제 errorpage.jsp, exceptioon.jsp

isThreadSafe, isELIgnored true 또는 false로 지정, true가 기본 값 <%@ page isThreadSafe=”false” %> isELIgnored 속성 표현 언어인 EL(Expression Language)의 사용 여부를 지정하는 방법 지정하지 않으면 false가 기본 값 표현 언어를 사용한다는 의미 만일 표현 언어를 사용하지 않으려면 값을 true로 지정 <%@ page isELIgnored=”true” %>

buffer buffer 속성 버퍼링 JSP 페이지의 출력 버퍼링 메모리를 크기를 지정하는 방법 지정하지 않으면 8kb가 기본 값 buffer 속성 값은 none 또는 16kb와 같이 다른 크기의 값으로 지정할 수 있다. <%@ page buffer=”16kb” %> 버퍼링 일반적으로 입력이나 출력에 이용하는 방식으로 프로세스의 처리 속도보다 입출력의 속도가 느리기 때문에 어느 정도 자료를 모아서 입출력을 처리하는 방법 양동이에 어느 정도의 물이 차야 물을 쏟아내는 양동이와 같이 버퍼링 메모리에 지정한 크기만큼의 자료가 쌓여야 출력을 하는 방식 <%@ page buffer=”none” %> buffer 속성 값은 none이면 버퍼링을 하지 않겠다는 의미로 출력 자료가 버퍼를 거치지 않고 바로 웹 브라우저에 출력

autoFlush autoFlush 속성 주의점 버퍼가 모두 찼을 때 자동으로 출력하는지를 지정하는 방법 지정하지 않으면 true가 기본 값으로, 버퍼 크기의 자료가 모두 찼을 때 자동으로 웹 브라우저에 출력한다는 의미 <%@ page autoFlush=”false” %> 만일 autoFlush 속성을 false로 지정하면 버퍼 크기만큼 차기 전, 중간 중간에 수동으로 직접 버퍼를 비워야 출력이 가능 버퍼 크기의 자료가 모두 찼을 경우, 오버플로우(overflow) 예외가 발생 주의점 다음과 같이 autoFlush 값이 false이면 수동으로 버퍼링을 해야 하는데, buffer 값을 none으로 지정하면 버퍼링을 하지 않겠다는 것으로 잘못된 지정 방법 <%-- 다음은 잘못된 page 버퍼 지정 방법이다. --%> <%@ page buffer=”none” %>

session session 속성 세션(session) JSP 페이지에서 세션을 사용하는 지의 여부를 지정하는 방법 지정하지 않으면 true가 기본 값으로 세션을 이용 가능 <%@ page session=”false” %> 세션(session) 웹 브라우저의 사용자를 구분하는 단위로 사용자 별로 웹 서버에 필요한 정보를 임시로 저장하는 방법 세션 예 어느 사이트에 접속했을 때 한 번 로그인 한 후 어느 정도 시간이 지나면 세션이 끊어져 더 이상 사용할 수 없다거나 장바구니에 새로운 상품을 이전 목록에 추가

include 지시자 file 속성 include 지시자는 태그를 기술한 부분에 지정한 파일을 삽입하는 기능 <%@ include file=”file_name” %>

include 예제 header.jsp, footer.html

Thank You ! www.dongyang.ac.kr