Data Provisioning Services for mobile clients

Similar documents

04장

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

Microsoft PowerPoint - 4강.pptx

중간고사

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

Design Issues

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

JUNIT 실습및발표

2장 변수와 프로시저 작성하기

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

쉽게

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Microsoft PowerPoint - aj-lecture7.ppt [호환 모드]

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint 프레젠테이션

JavaGeneralProgramming.PDF

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

JAVA Bean & Session - Cookie

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - Java7.pptx

본 강의에 들어가기 전

Data Provisioning Services for mobile clients

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Cluster management software

Microsoft PowerPoint - C++ 5 .pptx

신림프로그래머_클린코드.key

PowerPoint 프레젠테이션

14-Servlet

교육자료

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

뇌를 자극하는 JSP & Servlet 슬라이드

Microsoft PowerPoint - 2강

어댑터뷰

PowerPoint 프레젠테이션

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

제11장 프로세스와 쓰레드

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

mytalk

쉽게 풀어쓴 C 프로그래밊

C++ Programming

Spring Data JPA Many To Many 양방향 관계 예제

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)

Microsoft PowerPoint - lec2.ppt

슬라이드 1

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

Microsoft PowerPoint - Chapter 6.ppt

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

쉽게 풀어쓴 C 프로그래밍

TEST BANK & SOLUTION

JVM 메모리구조

제8장 자바 GUI 프로그래밍 II

PowerPoint Presentation

17장 클래스와 메소드

JAVA PROGRAMMING 실습 09. 예외처리

09-interface.key

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

PowerPoint 프레젠테이션

rmi_박준용_final.PDF

Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint 프레젠테이션

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

슬라이드 1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

OCW_C언어 기초

PowerPoint Presentation

슬라이드 1

JAVA PROGRAMMING 실습 02. 표준 입출력

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint 세션.ppt

PowerPoint Presentation

Microsoft PowerPoint - 웹프로그래밍_ ppt [호환 모드]

기초컴퓨터프로그래밍

4장.문장

Microsoft PowerPoint - 03-TCP Programming.ppt

슬라이드 1

C++ Programming

Java ...

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - additional06.ppt [호환 모드]

Microsoft PowerPoint 웹 연동 기술.pptx

gnu-lee-oop-kor-lec10-1-chap10

Microsoft PowerPoint - Lect04.pptx

PowerPoint Presentation

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

Network Programming

C# Programming Guide - Types

비긴쿡-자바 00앞부속

PowerPoint 프레젠테이션

Java Programing Environment

Transcription:

4 장. JSP 의구성요소와스크립팅요소 제 4 장

스크립팅요소 (Scripting Element) 1) 지시문 (Directive) 1. JSP 구성요소소개 JSP 엔진및컨테이너, 즉 Tomcat 에게현재의 JSP 페이지처리와관련된정보를전달하는목적으로활용 (6 장 ) <%@ page contenttype="text/html;charset=utf-8" 2) 스크립트릿 (Scriptlet) 가장많이활용되는 JSP 구성요소로서 JSP 페이지내에서코드구현을위해사용 <% for (int i=0; i<=10; i++) { out.println("hello World" + i + "<br/>"); 2/21 제 4 장

스크립팅요소 (Scripting Element) 3) 표현식 (Expression) 1. JSP 구성요소소개 간단한데이터출력이나메소드호출을통한데이터출력을위해활용 코드마지막에세미콜론 (;) 이없다는것에주의 <%= result + resultsum() 4) 선언 (Declaration) JSP 페이지전체에서활용할변수및메소드를선언 <%! String name="gildong Hong"; public boolean isexist() { return true; 3/21 제 4 장

스크립팅요소 (Scripting Element) 5) 주석 (Comment) 코드상에부가적인설명을덧붙이기위해사용 JSP에서활용할수있는주석의종류는총 3가지 1. JSP 구성요소소개 <%-- This is JSP Comment -- 4/21 제 4 장

XML 태그 1) 액션태그 (Action Tag) 1. JSP 구성요소소개 JSP 페이지간의흐름제어및자바빈즈컴포넌트와 JSP의상호작용을위해사용 <jsp:include page="heading.jsp" /> 2) JSTL (Java Standard Tag Library) 개발자가 JSP 페이지를구성할때많이활용하는기능을모아서 XML 태그들로구성하여라이브러리화해놓은것 <c:if test="${1+1==2"> </c:if> Always true. 3) 커스텀태그 (Custom Tag) JSP 페이지개발자가많이활용되는로직처리및프리젠테이션기능을직접개발하여활용하는 XML 태그 <user:getusershoppinglist userid="13" /> 5/21 제 4 장

독립언어 1) 표현언어 (Expression Language, EL) 1. JSP 구성요소소개 서버측의다양한상태정보를개발자로하여금손쉽게프리젠테이션할수있도록해주는용도로개발된언어 JSP 의기본문법을보완하는역할로서서버가지니고있는다양한값들에대한표현을하기위한언어 스크립팅요소의표현식 (Expression) 과혼동하면안된다. 보통 JSTL 및커스텀태그와함께사용된다. ${. 로표기된다. ${colorbean.red <c:if test="${1+1==2"> </c:if> Always true. 6/21 제 4 장

스크립트릿 (Scriptlet) JSP 의파워가강한이유 : 스크립트릿을활용하여 JSP 페이지내에 Java 코드를넣을수있기때문 <% 과 사이에 Java 코드위치 코드블록내의각문장은 Java 문법을따르기때문에반드시마지막에세미콜론 (;) 을넣어야한다. <% Java 코드 1; Java 코드 2; Java 코드 3;...... 7/21 제 4 장

스크립트릿 (Scriptlet) 1 부터 100 까지의합을구하는 JSP 페이지를스크립트릿 I [ 예제 4.1] jspbook\ch04\plus100.jsp 01 02 03 04 05 06 07 08 <%@ page contenttype="text/html;charset=utf-8" <html> <head> <title>1부터 100까지의합구하기 </title> </head> <body> <% // 스크립트릿을나타내는기호 int sum = 0; 09 10 11 12 for (int i = 1; i <= 100; i++) { sum = sum + i; // 스크립트릿을나타내는기호 Java 코드 ( 문장별로세미콜론기입요 ) 13 14 15 1+2+3+...+99+100=<%= sum // 표현식을이용한 sum 출력 </body> </html> 8/21 제 4 장

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 스크립트릿 (Scriptlet) 1 부터 100 까지의합을구하는 JSP 페이지를스크립트릿 II-1 <%@ page contenttype="text/html; charset=utf-8" <html> <head> <title>1 부터 100 까지의합구하기 </title> </head> <body> <% int sum = 0; for (int i = 1; i <= 100; i++) { 스크립트릿블록 1 sum = sum + i; <% for (int i = 1; i <= 99; i++) { 스크립트릿블록 2 <%= i + // 표현식을이용한출력 1 <% 스크립트릿블록 3 <%= 100 = <%= sum // 표현식을이용한출력 2 </body> </html> [ 예제 4.2] jspbook\ch04\plus100-2.jsp 9/21 제 4 장

스크립트릿 (Scriptlet) 1 부터 100 까지의합을구하는 JSP 페이지를스크립트릿 II-2 01 02 03 04 05 06 07 08 <%@ page contenttype="text/html;charset=utf-8" <html> <head> <title>1부터 100까지의합구하기 </title> </head> <body> <% int sum = 0; 09 10 11 12 13 14 for (int i = 1; i <= 100; i++) { sum = sum + i; <% for (int i = 1; i <= 99; i++) { 스크립트릿블록 1 15 out.print(i + " + "); // out 객체를활용한출력 스크립트릿블록 2 16 17 18 out.print(100 + " = " + sum); // out 객체를활용한출력 19 20 </body> 10/21 제 4 장 </html> [ 예제 4.3] jspbook\ch04\plus100-3.jsp

스크립트릿 (Scriptlet) 복잡한스크립트릿기호남용을더욱줄이기 <% int sum = 0; for (int i = 1; i <= 100; i++) { sum = sum + i; for (int i = 1; i <= 99; i++) { out.print(i + " + "); out.print(100 + " = " + sum); 이책의후반부에서다루는 JSTL 및 EL (Expression Language) 과커스텀태그를활용하면스크립트릿의남발을더욱잘방지할수있다. 11/21 제 4 장

표현식 (Expression) 간단한데이터출력을위하여사용 <%= 로시작하여 로끝나며이둘사이에출력해야할값을적는다. 출력할수있는값 단순한문자열및숫자 변수 수식 메소드호출 마지막에세미콜론 (;) 을붙이지않는다 <%= 값 12/21 제 4 장

표현식 (Expression) 관련예제 [ 예제 4.4] jspbook\ch04\expression.jsp 01 <%@ page contenttype="text/html;charset=utf-8" 02 <html> 03 <head> 04 <title> 표현식예제 </title> 05 </head> 06 <body> 07 단순한문자열출력 : <%= "<b> 표현식예제 </b>" 08 <hr/> 09 <% 10 int i = 10; 11 java.util.calendar cal = java.util.calendar.getinstance(); // Calendar 객체생성하여 cal 변수에할당 12 13 변수값출력 : <%= i 14 <hr/> 15 수식값 (1부터 10까지의합 ): <%= 1+2+3+4+5+6+7+8+9+10 16 <hr/> 17 메소드호출에의한결과값 : <%= cal.gettime() // 오늘의날짜와현재시각출력 18 <hr/> 19 변수 i를활용한문자열과연산의결합 : <%= "i+10=" + (i+10) // i와 10을더한값을문자열과결합 20 13/21 21 </body> </html> 제 4 장

선언 (Declaration) JSP 페이지의스크립트릿이나표현식에서사용할수있는멤버변수및멤버메소드를작성할때사용 <%! 멤버변수선언은보통하나의문장으로끝나기때문에반드시뒤에세미콜론 (;) 필요 <%! 멤버변수선언 ; 멤버메소드선언 <%! public 리턴타입메소드이름 ( 파라미터리스트 ) { Java 코딩문장 ; Java 코딩문장 ;...... (return 값 ;) 14/21 제4장

선언 (Declaration) 관련예제 [ 예제 4.5] jspbook\ch04\decl.jsp 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 <%@ page contenttype="text/html;charset=utf-8" <%! // 선언블록기호 String str = " 선언예제 "; // 멤버변수 str 선언 public double calculator(double num1, double num2, String operator) { // 멤버메소드 calculator 선언 double result = 0.0; if (operator.equals("+")) { result = num1 + num2; else if (operator.equals("-")) { result = num1 - num2; else if (operator.equals("*")) { result = num1 * num2; else if (operator.equals("/")) { result = num1 / num2; return result; 15/21 제 4 장

선언 (Declaration) 관련예제 ( 계속 ) [ 예제 4.5] jspbook\ch04\decl.jsp 19 20 21 22 23 24 25 26 27 28 29 30 31 <html> <head> <title> 선언예제 </title> </head> <body> <%= str // 선언된 str 출력 <hr/> 10 + 5 = <%= calculator(10, 5, "+") <br/> 10-5 = <%= calculator(10, 5, "-") <br/> 10 * 5 = <%= calculator(10, 5, "*") <br/> 10 / 5 = <%= calculator(10, 5, "/") </body> </html> 선언된 calculator 메소드호출에의한결과값출력 16/21 제 4 장

선언 (Declaration) 이전 JSP 예제가변환된.java 파일내용 package org.apache.jsp.jspbook.ch04; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; public final class decl_jsp extends org.apache.jasper.runtime.httpjspbase implements org.apache.jasper.runtime.jspsourcedependent { String str = " 선언예제 "; public double calculator(double num1, double num2, String operator) { double result = 0.0; if (operator.equals("+")) { result = num1 + num2; else if (operator.equals("-")) { result = num1 - num2; else if (operator.equals("*")) { result = num1 * num2; else if (operator.equals("/")) { result = num1 / num2; return result; JSP 선언블록 17/21 제 4 장

선언 (Declaration) 이전 JSP 예제가변환된.java 파일내용 ( 계속 ) private static final JspFactory _jspxfactory = JspFactory.getDefaultFactory(); private static java.util.list _jspx_dependants; private javax.el.expressionfactory _el_expressionfactory; private org.apache.annotationprocessor _jsp_annotationprocessor; public Object getdependants() { return _jspx_dependants; public void _jspinit() { _el_expressionfactory = _jspxfactory.getjspapplicationcontext(getservletconfig().getservletcontext()).getexpr essionfactory(); _jsp_annotationprocessor = (org.apache.annotationprocessor) getservletconfig().getservletcontext().getattri bute(org.apache.annotationprocessor.class.getname()); public void _jspdestroy() { _jspservice 멤버메소드의위치 public void _jspservice(httpservletrequest request, HttpServletResponse response) throws java.io.ioexception, ServletException {... 중간생략... JSP 선언블록에서선언된요소들은해당클래스의멤버변수와멤버메소드로정의된다. 18/21 제 4 장

JSP 주석 3. 주석 JSP 소스코드를올바르게이해하도록하기위하여코드자체에설명을달아주는것 종류 1) JSP 주석 <%-- JSP 코드에대한설명 -- JSP 주석은실행시에 JSP 엔진및컨테이너가아무런처리없이바로무시해버린다. 주의 : JSP 주석이중첩이되는일은없어야한다 <%-- JSP 코드에대한설명 <%-- 또다른설명 -- -- 19/21 제 4 장

JSP 주석 종류 2) Java 주석 JSP 의스크립트릿, 표현식, 선언블록내부에는 Java 언어를사용하여코딩을하기때문에그러한블록내부에사용가능한주석 // Java 주석첫번째 /* Java 주석두번째 */ /** Java 주석세번째 */ 3. 주석 종류 3) HTML 주석 HTML 코드자체에주석을다는것 다른주석들과다르게출력결과에포함되어지기때문에 JSP 수행결과브라우저에서 소스보기 를하면 HTML 주석이함께보인다. <!-- HTML 주석 --> 아래코드에서 JSP 표현식 ( <%= username ) 은 JSP 엔진에서처리가된결과가브라우저의 소스보기 에서보인다. <!-- <%= username 이작성하는코드입니다. --> 20/21 제 4 장

JSP 주석 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3. 주석 21/21 제 4 장 25 <%@ page contenttype="text/html;charset=utf-8" <%! /** Java 주석세번째것입니다 (plus: num1과 num2를더한값을리턴한다.) */ // Java 주석 public int plus(int num1, int num2) { return num1+num2; <html> <head> <title> 주석예제 </title> </head> <!-- HTML 주석을사용합니다. --> // HML 주석 <body> <%-- JSP 주석을사용합니다. -- // JSP 주석 <% // Java 주석첫번째것입니다. // Java 주석 int num1 = 10; int num2 = 20; /* Java 주석두번째것입니다. // Java 주석 num1과 num2를더해서 result에할당한다. */ int result = plus(num1, num2); <%= num1 과 <%= num2 를더한값은 <%= result 입니다. </body> </html> [ 예제 4.6] jspbook\ch04\comment.jsp [ 브라우저의소스보기 ] <html> <head> <title> 주석예제 </title> </head> <!-- HTML 주석을사용합니다. --> <body> 10과 20를더한값은 30입니다. </body> </html>