Microsoft PowerPoint - 4강.pptx

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

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

04장

Data Provisioning Services for mobile clients

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

JavaGeneralProgramming.PDF

Microsoft PowerPoint - 7강.pptx

본 강의에 들어가기 전

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

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

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

14-Servlet

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

중간고사

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

Data Provisioning Services for mobile clients

JAVA Bean & Session - Cookie

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

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

J2EE Concepts

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

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

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

PowerPoint Presentation

Cluster management software

Design Issues


API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

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

Microsoft PowerPoint - Java7.pptx

Network Programming

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

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

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint 프레젠테이션

<param-value> 파라미터의값 </param-value> </init-param> </servlet> <servlet-mapping> <url-pattern>/ 매핑문자열 </url-pattern> </servlet-mapping> - 위의예에서 ServletC

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

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

제11장 프로세스와 쓰레드

Microsoft PowerPoint 웹 연동 기술.pptx

C++ Programming

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - CSharp-10-예외처리

chapter3.doc

KYO_SCCD.PDF

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - Chap6_cmpl

PowerPoint Presentation

JAVA PROGRAMMING 실습 09. 예외처리

JUNIT 실습및발표

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

슬라이드 1

PowerPoint Presentation

17장 클래스와 메소드

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 2강

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

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밊

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<C4FBC1EEB7CE20C1A4B8AEC7D5BDC3B4D95FC1A4B4E42E687770>

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

02 C h a p t e r Java

PowerPoint 프레젠테이션

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

PowerPoint Presentation

쉽게

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

rmi_박준용_final.PDF

PowerPoint Template

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint 세션.ppt

0. 들어가기 전

교육2 ? 그림

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

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

예제 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

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

C 프로그램의 기본

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Data Provisioning Services for mobile clients

PowerPoint Template

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

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

TP_jsp7.PDF

PowerPoint Presentation

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

PowerPoint Presentation

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

Microsoft PowerPoint - chap06-2pointer.ppt

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

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

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - Chapter 6.ppt

Transcription:

컴퓨터과학과 김희천교수

학습개요 동적인컨텐츠를생성하는일에는 어떻게컨텐츠를생성할것인지 를지시해주기위한프로그래밍이어떤형태로든필요하다. JSP 기술은동적으로컨텐츠를생성하기위해, 프로그래밍코드가담긴스크립트를포함할수있게하고또한 HTML 태그를통해어려운자바코딩없이도자바객체를사용할수있게하고있다. JSP는 Java Server Pages의약자로최신버전은 2.1이며자바기반스크립트언어이며또한 J2EE 기술에속하는자바기술이다. JSP 기술은동적컨텐츠를만들어내는웹페이지를쉽게, 하지만최대의강력함과유연성을가지고작성할수있도록해준다.

학습목표 동적인웹컨텐츠를위한기술과구성방법을설명 JSP 기술의정의와기본개념, 장점을설명 JSP의동작원리를설명 웹어플리케이션구조와 JSP 수행흐름을설명

JSP 기술 동적인컨텐츠를만들기위해웹페이지를작성하는기술 JSP 기술의특징 JSP 페이지를만들기위한언어 JSP 페이지는클라이언트의요청에동적으로응답하기위한텍스트 HTML 페이지안에 Java 코드를포함시키거나 Java 컴포넌트를호출할수있음 플랫폼독립적으로 JSP 페이지나서버측컴포넌트를개발 Java 서블릿기술을이용 서블릿코드를작성하는편리한방법을제공

JSP 기술 JSP 기술의특징 Java EE 기술의하나로최신버전은 JSP2.1임 표현언어 (EL) 의제공 서버측객체나데이터를쉽게사용할수있음 JSP 언어의확장메커니즘제공 자바빈컴포넌트, EJB 컴포넌트, 커스텀태그라이브러리의개발과재사용

JSP 코드 <HTML> <HEAD><TITLE>Welcome</TITLE></HEAD> <BODY> <H3>Welcome!</H3> <P>Today is <%= new java.util.date() %>.</P> </BODY> </HTML>

서블릿코드 import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Hello extends HttpServlet { public void doget(httpservletrequest rq, HttpServletResponse rsp) { rsp.setcontenttype("text/html"); try { PrintWriter out = rsp.getwriter(); out.println("<html>"); out.println("<head><title>welcome</title></head>"); out.println("<body>"); out.println("<h3>welcome!</h3>"); out.println("<p>today is "+new java.util.date()+".</p>"); out.println("</body>"); out.println("</html>"); } catch (IOException ioe) { // (error processing) } } }

JSP 페이지의구성 템플릿데이터 고정된데이터나템플릿컨텐츠 텍스트나 XML/HTML 태그를의미함 JSP 요소 : 동적인데이터의추가 JSP 기술은템플릿데이터에동적인데이터를추가하는강력한방법을제공

1 2 3 4 5 6 7 8 <HTML> <HEAD> <TITLE>JSP 예제 </TITLE> </HEAD> <BODY> <H1>Hello, JSP!</H1> </BODY> </HTML> hello_jsp1.jsp

1 2 3 4 5 6 7 8 9 10 11 <HTML> <HEAD> <TITLE>JSP 예제 </TITLE> </HEAD> <BODY> <% String str = <h1>hello, JSP!</h1> ; out.println(str); %> </BODY> </HTML> hello_jsp2.jsp

JSP 문서의기본구조 JSP 페이지의구성요소 스크립트요소 지시어 액션태그 내장객체 표현언어 사용자정의태그와 JSTL

1 2 3 4 5 6 7 8 9 10 11 12 13 <%@ page contenttype="text/html; charset=euc-kr" %> <%@ page import="java.util.date" %> <HTML> <HEAD> <TITLE> 오늘날짜와시각출력하기 </TITLE> </HEAD> <BODY> <% Date today = new Date(); out.println(today); %> </BODY> </HTML> today.jsp

스크립트요소 Java 프로그램조각 스크립트요소의종류 스크립트릿 JSP 페이지에삽입되는 Java 코드 <% %> 표현식 변수나수식의값을출력할때 JSP 페이지에삽입하는식 <%= %> 선언 JSP 페이지에삽입되는변수또는메소드선언문 <%! %>

스크립트요소 <% String a = Hello, Java ; %> <h1><%= a %></h1> <%! public int add(int a, int b) { return a + b; } %>

지시어 지시어의의미 JSP 페이지에대한전체적설정정보를지시 JSP 페이지의번역과실행과정에사용되는정보 <%@ 지시어이름속성 1= 값 1 속성 2= 값 2... %>

지시어 지시어의종류 include page JSP 페이지의특정영역에다른문서를포함 번역과정에서삽입시킬텍스트나코드를지정 JSP 페이지에대한정보를지정 사용할스크립트언어, 상속받을클래스, import할패키지, JSP가생성하는문서의타입, 출력버퍼의크기, 사용할에러페이지등 <%@ include file= /jsp/userinfopage.jsp" %> <%@ page contenttype="text/html; charset=euc-kr" %> <%@ page import="java.util.date" %>

지시어 지시어의종류 taglib 사용자정의태그라이브러리를지정 태그라이브러리파일의위치와접두어를지정 <%@ taglib uri= oracustomtags" prefix= oracust %>

내장객체 많이사용되는기능을객체형태로제공한것 내장객체 (implicit object) 의사용 별도의선언이나초기화없이사용가능 요청파라미터읽어오기, 응답결과전송하기, 세션처리하기, 웹어플리케이션정보읽어오기등 예 : request, response, session, application, out, page 등

액션태그 JSP 페이지에서특별한기능을제공하는표준액션 액션태그의의미 요청을처리할때특별한기능을수행하는것 XML 태그와같은모양 시작태그와요소이름, 속성, 몸체, 마감태그 <jsp: 액션태그이름 > 의형태

액션태그 1 2 3 4 5 6 <%@ page contenttype="text/html; charset=euc-kr" %> <HTML> <BODY> <jsp:include page="mypage.jsp" /> </BODY> </HTML> jsp_example3.jsp

표현언어 표현언어의의미 JSP 페이지내부에서사용되는간단한스크립트언어 스크립트요소의사용이없는태그기반언어 내장객체나 JSTL 과함께사용할수있음

사용자정의태그와 JSTL 사용자정의태그 사용자가정의하는태그 JSP 표준태그를확장한것 JSTL(JSP Standard Tag Library) 자주사용되는사용자정의태그들을모아표준화한태그라이브러리 조건문, 반복문과같은프로그래밍적요소를태그형태로사용할수있게함

page 지시어 페이지의속성을나타내기위한것 page 지시어의용도 출력버퍼관련속성, 생성시킬문서의기본정보, import할클래스등을설정 <%@ page contenttype= text/html; charset=euc-kr import= java.sql.* %> <%@ page session= false %> <%@ page import= packages.mypackage.* errorpage= boof.jsp %> <%@ page buffer= 20kb %>

page 지시어에서사용되는주요속성 속성설명기본값 클라이언트로전송될데이터가저장되는장소를 출력버퍼 라고하는데출력버퍼가다찼을경우자동으로버퍼를비울지의여부를나타낸다. autoflush 'true' 일경우버퍼가차게되면버퍼를비워내용을클라이언트에보낸다. 'false' 일경우버퍼가차게되면예외를발생시킨다. JSP 페이지실행결과로생성되는문서의종류 (MIME 타입 ) 와사용 contenttype 될 charset 정보를설정한다. import JSP 페이지에서사용할자바클래스를지정한다. JSP 페이지의스크립트요소 ( 스크립트릿, 표현식, 선언 ) 에서사용 language 할수있는프로그래밍언어를설정한다. JSP 현재버전에서는 java 만가능하다. true text/html java

page 지시어에서사용되는주요속성 속성설명기본값 session JSP 페이지에서 session 객체를사용할지의여부를지정한다. true' 일경우 session 객체를사용할수있고 false' 일경우 session 객체를사용할수없다. true JSP 페이지의출력버퍼크기를지정하며 8kb, 256kb 와 buffer 같이지정한다. none 일경우출력버퍼를사용하지않는다. info JSP 페이지에대한설명을텍스트로입력할때사용된다. 8kb errorpage JSP 페이지를실행하는동안에러가발생할때보여줄페 이지가무엇인지를설정할때사용된다.

page 지시어에서사용되는주요속성 속성설명기본값 현재페이지가에러페이지인지의여부를지정한다. iserrorpage true 이면현재페이지를에러페이지로사용할수있고, false 이면에러페이지로사용할수없다. pageencoding JSP 페이지자신의문자인코딩을지정한다. 표현언어를지원할지의여부를설정하며 JSP 2.0 버전부터새롭게추가된속성이다. iselignored false 일경우표현언어를지원하며 true 일경우표현언어를지원하지않는다. trimdirectivew 생성되는문서에서공백문자를제거할지의여부를지정한 hitespaces 다. true 일경우공백이제거된다. false false false

page 지시어 contenttype 속성 JSP 페이지로부터생성되는응답문서의 MIME 타입과 charset을설정 MIME는다양한종류의데이터를인터넷상에서송수신할때사용되는통신규약 기본값은 text/html이며 text/xml, text/plain 등이있음 웹서버가데이터를전송할때데이터의내용에앞서종류에대한정보를보냄 문자의인코딩방법을지정

contenttype 속성 <%@ page contenttype="text/html; charset=euc-kr" %>

page 지시어 import 속성 JDK 에서제공하는클래스를사용할때, 사용할 클래스를명시함 <%@ page import = "java.util.date" %> <%@ page improt = "java.sql.connection" %> <%@ page import = java.sql.statement %> <%@ page import = "java.util.date, java.sql.*" %>

import 속성 1 2 3 4 5 6 7 8 9 10 11 12 13 <%@ page contenttype="text/html; charset=euc-kr" %> <%@ page import="java.util.calendar" %> <HTML> <BODY> <% Calendar today = Calendar.getInstance(); int year = today.get(calendar.year); int month = today.get(calendar.month) + 1; int date = today.get(calendar.date); %> 오늘은 <%= year %> 년 <%= month %> 월 <%= date %> 일입니다 </BODY> </HTML> today_calendar.jsp

import 속성

page 지시어 trimdirectivewhitespaces JSP 실행결과에불필요한줄바꿈문자를제거함 JSP 페이지에서템플릿텍스트가공백문자로만구성되면이것이보존되기때문 1 2 3 4 5 11 12 13 <%@ page contenttype="text/html; charset=euc-kr" %> <%@ page import="java.util.calendar" %> <HTML> <BODY> 오늘은 <%= year %> 년 <%= month %> 월 <%= date %> 일입니다 </BODY> </HTML> today_calendar.jsp

trimdirectivewhitespaces 속성

trimdirectivewhitespaces 속성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <%@ page contenttype="text/html; charset=euc-kr" %> <%@ page import="java.util.calendar" %> <%@ page trimdirectivewhitespaces="true" %> <HTML> <BODY> <% Calendar today = Calendar.getInstance(); int year = today.get(calendar.year); int month = today.get(calendar.month) + 1; int date = today.get(calendar.date); %> 오늘은 <%= year %> 년 <%= month %> 월 <%= date %> 일입니다 </BODY> </HTML> today_calendar.jsp

스크립트요소 동적인컨텐츠를만들기위해프로그램작성에사용되는요소 스크립트릿 JSP 페이지에삽입되는 Java 코드조각 <% %> 의형태

스크립트릿 1 2 3 4 5 6 7 8 9 10 11 12 <%@ page contenttype="text/html; charset=euc-kr" %> <HTML> <BODY> 30 의약수는다음과같다.<br> <% int i = 1; for(i = 1; i <= 30;i++) { if(30 % i == 0) out.print(i + ); } %> </BODY> </HTML> common_divisor.jsp

스크립트요소 표현식 스크립트릿을사용하지않고변수나수식의값을 JSP 페이지실행결과에포함시키기위한것 <%= 값또는수식 %> 의형태 String 표현으로변환되며세미콜론이없음

표현식 1 2 3 4 5 6 7 8 9 10 11 12 <%@ page contenttype="text/html; charset=euc-kr" %> <HTML> <BODY> <% String str = 표현식사용예제입니다. ; int a = 10, b = 20; %> <h2><%=str%></h2> <h3><%=a%> 더하기 <%=b%> 는 <%=a+b%> 입니다.</h3> <h3>1 부터 5 가지의합은 <%=1+2+3+4+5%> 입니다.</h3> </BODY> </HTML> expr_example.jsp

표현식

스크립트요소 선언 스크립트릿이나표현식에서사용되는메소드나멤버변수를 선언하기위한것 <%! public 리턴타입메서드이름 ( 파라미터목록 ) { 메서드내용 ; } %> <%! double f1=0.0; %>

선언 1 2 3 4 5 6 7 8 9 10 11 12 13 <%@ page contenttype="text/html; charset=euc-kr" %> <%! public int sum(int a) { int s = 0; for(int i = 1;i <= a;i++) s += i; return s; } %> <HTML> <BODY> 1 부터 100 까지숫자의합은 <%=sum(100)%> 입니다. </BODY> </HTML> sum_method.jsp

선언

선언 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <%@ page contenttype="text/html; charset=euc-kr" %> <%! public int sum(int a) { int s = 0, i = 1; for(inti=1;i<=a;i++)s+=i; return s; } %> <HTML> <BODY> <% int s1 = sum(100); int s2 = sum(1000); %> 1 부터 100 까지숫자의합은 <%=s1%> 입니다.<br> 1 부터 1000 까지숫자의합은 <%=s2%> 입니다. </BODY> </HTML> sum_method2.jsp