표현언어와 커스텀태그 표현 언어의 개념을 이해한다. JSP1.2 커스텀 태그 개발 방법을 익힌다.

Slides:



Advertisements
Similar presentations
HTML.  Hyper Text Markup Language  Hyper Text : Link  Markup :  전용 브라우저 (IE, Netscape, Opera..)  프로그램 + 실행 환경 ( 실행기 )
Advertisements

JSP 정리 레퍼런스: JSP 2.1 웹 프로그래밍 (최범균, 가메출판사). 목차 1. Directive - 인코딩 - 오류처리 2. Implicit Object - 쿠키/세션 3. Action Tag 4. JDBC/DBCP 프로그래밍, 파일업로드 5. Expression.
홈페이지 만들기. Cyber 공간에서 자신이 갖고 있는 정보 나 관심사를 다른 사람들에게 체계적으 로 공개하거나, 시간과 장소에 구애 받지 않고 정보화 시대에 발맞춰 자신을 어필 할 수 있음.
W3000 제 품 제 안 서.
- SW_Desing Study Group -
11 JSTL 사용하기.
제 12 장 표현 언어 학기 인터넷비즈니스과 강 환수 교수.
PHP programming 2000년 11월 13일 데이터베이스 연구실 김호숙.
2002/3/20 HTML 2002/3/20
HTML과 CGI 프로그래밍 PHP 웹 프로그래밍 (PHP Web Programming) 문양세
MySQL 연동 PHP 프로그래밍 기초 순천향대학교 정보기술공학부 이상정.
1 HTML5 개요.
Internet Computing KUT Youn-Hee Han
Chapter 14 : JSP 고급4. chapter 14 : JSP 고급4 학습목표 커스텀 태그 종류 JSTL ( JSP Standard Tag Library ) 사용자 커스텀 태그 커스텀 태그 작성 클래스 기반 커스텀 태그 작성 태그 파일 기반 커스텀 태그 작성.
Python Bottle Web Framework
12장. JSP에서 자바빈 활용 제12장.
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 빈을 이용한 회원가입 양식 작성하기 빈 작성
12 커스텀 액션.
11장 방명록 한빛미디어(주).
2 서블릿의 기초.
9 표준 액션.
9장. 요청 흐름제어와 모듈화 #1: <jsp:forward> 액션태그 사용
10장. 에러 처리 제10장.
JSP 내장 객체 개요 내장 객체 (참조 변수 이름) 자바 클래스 주요 역할
7. JavaBeans 프로그래밍 JavaBeans JavaBeans 만들기 Bean을 이용한 회원가입 양식 작성하기
Web Server와 DB 연동.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
1. JSP(Java Server Pages) 소개
이 름: 정홍도 (과장) 팀 명: 개발사업팀 일 자:
3 JSP의 기초.
4 쿠키와 세션.
HTML5 웹 프로그래밍 입문(교수용) 2장.HTML5 문서의 기본.
중 간 고 사 (웹프로그래밍)
23강. EL(Expression Language)
강의 보조자료 & Homework #2 - 로그인과 이미지 카운터 만들기 -
홈페이지 만들기 HTML HyperText Markup Language 홈페이지를 만들 때 사용하는 언어
12 ███████████ 12.
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
5. JSP의 내장객체1.
[INA240] Web Programming Homework #3 [INA240] Web Programming
JSP와 자바 빈즈 JSP 빈즈 구조를 이해하고 활용한다. useBean 액션 활용법을 익힌다.
JSP 내장 객체 JSP에서 기본으로 사용할 수 있는 내장 객체 종류를 알아본다. 내장 객체별 주요 기능과 메서드를 이해한다.
4. JSP의 스크립트 요소 Script 요소의 이해 선언문(Declaration) Scirptlet 표현식 주석
9강. JSP 본격적으로 살펴보기-I JSP 태그의 개념 이해 JSP 동작 원리 JSP 내부 객체
Cookie 와 Session.
Web Socket.
HTML.
충북대학교 데이터베이스 & 정보시스템 연구실 정 태 성
10장. 자바빈(JavaBean) 이 장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다. 하나의 JSP페이지 안에 디자인부와 로직부가 혼재하게 되면 프로그램의 협업과 유지보수가 어렵다. 자바빈은 로직을.
이장에서 배울 내용 : 화면에 표시를 담당하는 JSP페이지와 실제프로그램을 처리하는 로직을 분리하는 것에 대해서 학습한다
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
CGI (Common Gateway Interface)
JSP Programming with a Workbook
제 14 장 커스텀 태그 학기 인터넷비즈니스과 강 환수 교수.
Data Base Web Programming
JSP문법 JSP 기본 구조를 이해한다. 지시어, 스크립트릿 JSP 액션 태그 사용법을 익힌다. 한빛미디어(주)
CGI (Common Gateway Interface)
JSTL Core 2015 Web Service Computing.
CH2. ASP.NET 페이지 분석 HTML ASP ASP.NET 의 차이점.
ASP 수행 화면(1).
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
리스너와 서블릿 필터 초기화 파라미터 관리 개념을 이해한다 리스너 구조를 이해하고 프로그래밍 기법을 배운다
4장 JSP 페이지의 디렉티브(Directive)
JSP와의 첫 만남 간간한 JSP 프로그램을 작성하면서 앞으로 학습에 필요한 과정을 익힌다.
세션 (Session) Yang-Sae Moon Department of Computer Science
JSP Expression Language
JSP 빈즈 1.JSP 빈즈? JSP와 연동을 위해 만들어진 컴포넌트 클래스를 말한다. JSP 빈즈는 컨테이너에 위치하며, 데이터 처리와 공용화된 기능을 제공하기 때문에 빈즈를 잘 활용하면 프로그램의 중복을 줄이고 좀더 원할한 유지보수가 가능한다. 물론 , 모든 JSP를.
JSP Programming with a Workbook
Data Base Web Programming
Web & Internet [10] 입문 – input 태그
Presentation transcript:

표현언어와 커스텀태그 표현 언어의 개념을 이해한다. JSP1.2 커스텀 태그 개발 방법을 익힌다. 표현언어와 커스텀태그 표현 언어의 개념을 이해한다. JSP1.2 커스텀 태그 개발 방법을 익힌다. JSP2.0 커스텀 태그 개발 방법을 익힌다. 한빛미디어(주)

표현 언어 Section 01 개요 표현 언어 기본 개념 표현 언어를 사용한 경우 표현 언어(Expression Language) 는 처음에는 JSTL의 부분으로 사용 되었으나 JSP2.0 부터는 기본 스펙에 포함됨 자바 빈즈 속성 값을 보다 쉽고 제약을 덜 받는 방법으로 사용하기 위해 나옴 표현 언어 기본 개념 액션 태그 및 JSP 표현식을 사용한 경우 표현 언어를 사용한 경우 test 라는 빈즈객체가 application, session, request, page 범위중 하나에 들어 있다고 가정하는 경우임. 이때 test 객체는 없어도 에러가 발생하지 않음(표현식 사용시에는 문제가 됨) <H2> <jsp:useBean id=”test” class=”TestBean” /> <%= test.getName() %> </H2> <H2> ${test.name} </H2>

표현 언어 Section 01 기본문법 요약 속성 및 내장객체 접근 표현언어는 “$” 로 시작 한다. 모든 내용은 “{표현식}” 과 같이 구성 된다. 표현식에는 기본적으로 변수명, 혹은 속성명.메서드명 구조로 이루어 진다. 표현식에는 부가적으로 숫자, 문자열, boolean, null 과 같은 상수값도 올 수 있다. 표현식에는 기본적인 연산이 가능하다. 속성 및 내장객체 접근 속성 접근 ${member.id} 혹은 ${member[“id”]  member 객체의 getId() 메서드 호출과 동일 ${row[0]}  row 라는 이름의 컬렉션 객체의 첫 번째 아이템

표현 언어 Section 01 표현언어에서 참조 가능한 내장객체 내장객체 기능 pageScope requestScope request 범위에 포함된 속성값에 접근할 수 있는 객체 sessionScope session 범위에 포함된 속성값에 접근할 수 있는 객체 applicationScope application범위에 포함된 속성값에 접근할 수 있는 객체 param request.getParameter(“xxx”) 로 얻을수 있는 값들.. ${param.xxx} 와 같이 사용 paramValues request.getParameterValues(“xxx”)와 동일 기능 수행 ${paramValues.xxx}와 같이 수행 header request.getHeader(“xxx”)와 동일 기능 수행 ${header.xxx}와 같이 사용 headerValues request.getHeaderValues(“xxx”)와 동일 기능 수행 ${headerValues.xxx}와 같이 사용 initParam 컨텍스트의 초기화 패러미터 값 cookie 쿠기정보에 접근할 수 있는 객체 pageContext pageContext 객체

표현 언어 Section 01 표현언어에서 사용 가능한 연산자 산술연산자, 관계연산자 비교/조건 연산자 연산자 기능 + 더하기 - 빼기 * 곱하기 / or div 나누기 % or mod 몫 연산자 기능 && 혹은 and AND 연산 || 혹은 or OR 연산 ! 혹은 not NOT 연산자 기능 == 혹은 eq 같다 != 혹은 ne 같지않다. < 혹은 lt 좌변이 우변보다 작다 > 혹은 gt 좌변이 우변보다 크다 <= 혹은 le 좌변이 우변보다 같거나 작다. >= 혹은 ge 좌변이 우변보다 같거나 크다. a?b : c a 가 참이면 b, 거짓이면 c 를 리턴함.

표현 언어 예제 교재 : 385 ~ 389 페이지 예제 개요 Product 객체를 만들어 jsp 에서 표현언어를 이용해 선택된 상품을 계속해서 추가하고 목록을 보여주는 일종의 장바구니 예제 추후 JSTL 버전으로 업그레이드 할 것임

커스텀 태그-JSP1.2 Section 02 개요 커스텀 태그(Custom Tag)는 JSP 페이지에서 반복적인 프로그램 로직을 캡슐화하기 위해 고안됨. 기본적으로 제공되는 태그 이외에 사용자가 확장한 태그라는 의미 체험학습: 방명록 프로그램 에서의 소스를 통한 비교 <table cellpadding=5 cellspacing=0 border="1"> <tr bgcolor="#99CCFF" ><td>번호</td><td>작성자</td><td>전화번호</td><td>작성일</td><td>내용</td> </tr> <% for(GuestBook guestbook : datas) { %> <tr> <td><%=guestbook.getGb_id() %></td> <td><%=guestbook.getGb_name() %></td> <td><%=guestbook.getGb_tel() %></td> <td><%=guestbook.getGb_date() %></td> <td><a href=javascript:check('<%=guestbook.getGb_id() %>')> <%=guestbook.getGb_contents() %></a></td> } </table> <%taglib uri="getListTag" prefix="boardTag" %> <html> <body> <boardTag:getList /> </body> </html> 극단적이지만 위와 같이 만드는 것도 가능함

커스텀 태그-JSP1.2 Section 02 개요 커스텀 태그를 사용하는 이유 커스텀 태그 개발 방법 비즈니스 로직으로 부터 화면 표현을 분리 비즈니스 로직의 캡슐화 보다 손쉬운 웹 페이지 제작 커스텀 태그 개발 방법 유형 개발 방법 ∙ 태그 라이브러리로 개발 ∙ 여러 사이트에 적용 ∙ 공개 ∙ 호환성 유지 JSP1.2 호환 개발 방법 ∙ 많은 화면을 생성해내는 태그 ∙ 비교적 간단한 기능들로 구성 ∙ 단일 사이트에 적용 태그 파일 기반의 개발 방법 ∙ 보다 쉬운 개발 ∙ 공개 등 ∙ 호환성 배제 SimpleTag, SimpleTagSupport 클래스를 이용한 개발 방법

커스텀 태그-JSP1.2 Section 02 일반적인 태그 구조 및 용어 정리 샘플 HTML 파일 태그 속성 태그바디 기본적으로 모든 태그는 쌍으로 이루어 짐 <H2></H2>, <form></form> <input> 의 경우 쌍이 아닌데 XML 형식을 따를경우 <input></input> 혹은 <input/> 속성 태그 내에서 부가적인 정보를 제공하는 것으로 <form> 태그 내의 name, method <input> 태그에 있는 type, name 등이 속성에 해당함 태그바디 시작태그와 종료태그 사이에 있는 내용으로 <form></form> 사이에 있는 <input>과 같은 태그가 여기에 속함 <H2></H2> 의 경우 태그 바디에 다른 태그가 아닌 일반 텍스트가 위치한 것임 <H2>custom tag test</H2> <form name="form1" method="post"> <input type="text" name="item1"> </form>

커스텀 태그-JSP1.2 Section 02 JSP1.2 커스텀 태그 구조 구성 요소 설명 태그 핸들러 클래스 (Tag Handler Class) 자바 클래스 파일로 태그의 동작을 구현해놓은 파일이다.   태그 라이브러리 기술자 (Tag Library Descriptor) 태그 이름 등 태그 정보 및 태그 핸들러 클래스와의 관계를 기술한다. JSP 파일 커스텀 태그를 사용하기 위해서는 JSP 파일에 taglib 지시어 등 추가적인 작업이 필요하고, 실제 태그 라이브러리 기술자에 따라 커스텀 태그를 사용한다.

표현 언어 예제 교재 : 394 ~ 401 페이지 예제 개요 간단한 메시지 출력을 위한 커스텀 태그 제작 TagSupport 클래스를 상속받아 구현, doStartTag() 메서드만 구현함 예제를 통해 태그핸들러 클래스 구현 및 tld 파일 구조 이해 예제 디렉터리 구조 디렉터리(jspbook 프로젝트) 파일 WebContent\ch10 MsgTagTest.jsp src MsgTagHandler.java WEB-INF\tld MsgTag.tld

커스텀 태그-태그파일 Section 03 개요 태그파일 개요 JSP2.0 에서 새로 소개된 방법 기존의 커스텀 태그 개발이 복잡하고 까다로운 문제 해결을 위해 등장 특히 화면처리가 많은 태그인 경우 서블릿 개발시와 마찬가지로 프로그램 내에서 화면 출력을 제어해야 하는 문제가 발생 태그파일 개요 기본 사항 태그당 하나의 태그파일로 작성 구조적으로 JSP 파일과 거의 유사함 JSTL을 사용할 수 있음 태그파일 구성 구성 요소 설명 태그 파일 .tag 파일로 몇 가지 제약 사항을 제외하고는 대부분의 JSP 파일과 동일한 구성을 가진다. ‘WEB-INF\tags’ 폴더에 저장한다. JSP 파일 커스텀 태그를 사용하기 위해서는 JSP 파일에 taglib 지시어를 설정한 후 커스텀 태그를 사용한다.

커스텀 태그-태그파일 Section 03 태그 파일 구조 JSP 의 지시어를 사용할 수 있으며 tag 라는 새로운 지시어 사용 태그 파일 지시어 목록 tag 지시어 세부 속성은 교재 참조(403페이지) 지시어 설명 taglib JSP에서의 taglib 지시어와 동일하다. 현재 태그 파일에서 다른 커스텀 태그나 JSTL 등을 사용하려면 해당 태그 라이브러리를 사용하기 위한 taglib 지시어를 작성한다. include JSP에서의 include 지시어와 동일하다. 그러나 포함되는 파일의 구조가 태그 파일의 구조를 따라야만 한다. tag 새로운 지시어로, page 지시어와 유사하다. 현재 파일이 태그 파일이라는 것을 알리고 옵션을 설정한다. attribute 작성하는 태그에 포함될 속성 등을 정의한다. variable 태그 내용에 필요한 표현 언어 변수를 선언한다.

커스텀 태그-태그파일 Section 03 태그 파일을 이용한 커스텀 태그 개발 예제 내용 예제 파일의 디렉터리 구조 앞에서 작성했던 간단한 메시지 출력 태그를 태그 파일로 작성함. 예제 파일의 디렉터리 구조 MsgTagTest.jsp 는 기존파일 사용 print.tag 파일만 새로 작성 print.tag MsgTagTest.jsp 수정부분 디렉터리(jspbook 프로젝트) 파일 WebContent\ch10 MsgTagTest.jsp WEB-INF\tags print.tag 01 <$@ tag body-content="empty" pageEncoding="euc-kr" %> 02 커스텀 태그 출력메시지: Hello!! 02 <%-- @ taglib uri="/WEB-INF/tld/MsgTag.tld" prefix="mytag" --%> 03 <%@ taglib tagdir="/WEB-INF/tags" prefix="mytag" %> … <mytag:print/>

고급 태그 파일 작성 교재 : 405 ~ 408 페이지 예제 개요 태그바디와 속성을 모두 가지는 보다 실용적인 예제 임 태그파일을 통해 고급 커스텀 태그 작성 과정 실습 예제 파일의 디렉터리 구조 디렉터리(jspbook 프로젝트) 파일 WebContent\ch10 ListItem.jsp WEB-INF\tags item.tag

커스텀 태그-SimpleTag Section 03 개요 간단실습 SimpleTag 인터페이스 JSP2.0 에서 새로 추가됨 간단한 태그의 경우 태그 파일을 이용하는 것이 좋으나 보다 복잡한 태그 개발 및 배포 등이 목적 이라면 SimpleTag 인터페이스를 이용하는 것이 좋음 기본적인 개발과정 및 구조는 TagSupport 클래스를 통한 개발과정과 동일함 단 바디 처리를 위해 별도의 클래스 상속이 필요 없고 보다 간단한 구현이 가능 실제 구현은 SimpleTagSupport 클래스를 상속받아 구현 해야 함 SimpleTag 인터페이스 사용시 주의점 JSP2.0 이하의 하위 버전을 지원하는 컨테이너 에서는 호환 안됨 간단실습 간단한 예제를 통해 SimpleTagSupport 클래스를 상속받아 구현하는 과정 확인 [예제10-10] ~ [예제 10-12]

SimpleTag 인터페이스 교재 : 412 ~ 379 페이지 예제 개요 기존 tag 파일 예제를 SimpleTagSupport 클래스 상속 버전으로 작성 함 ItemTag.tld 파일은 기존 파일과 동일함 예제 파일의 디렉터리 구조 디렉터리(jspbook 프로젝트) 파일 WebContent\ch10 ItemTagTest.jsp src ItemTagHandler.java WEB-INF\tld ItemTag.tld