<4D F736F F F696E74202D2031C0E52E4A535020B9D C6574C0BB20C8B0BFEBC7D120B5BFC0FB20C0A520C7C1B7CEB1D7B7A1B9D620BCD2B0B32

Similar documents
본 강의에 들어가기 전

0. 들어가기 전

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

Secure Programming Lecture1 : Introduction

2009년 상반기 사업계획

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

WAS 의동작과 WEB, Servlet, JSP 엑셈컨설팅본부 /APM 박종현 웹어플리케이션서버란? 웹어플리케이션서버방식은웹서버가직접어플리케이션프로그램을처리하는것이아니라웹어플리케이션서버에게처리를넘겨주고어플리케이션서버가어플리케이션프로그램을처리한다. 여러명의사용자가동일한페

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Data Provisioning Services for mobile clients

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

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

3장

PowerPoint 프레젠테이션

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

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

TCP/IP Model

The Pocket Guide to TCP/IP Sockets: C Version

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

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

PowerPoint 프레젠테이션

6강.hwp

Intro to Servlet, EJB, JSP, WS

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

웹 개발자를 위한 서블릿/JSP

PowerPoint Template

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

chapter1,2.doc

Windows 8에서 BioStar 1 설치하기

게시판 스팸 실시간 차단 시스템

0. 들어가기 전

Microsoft PowerPoint - 07-EDU-Apache-9-1.ppt

[Brochure] KOR_TunA

1장시작하기전에 웹프로그래밍전반적인환경을이해한다. JSP 가등장한배경을알아본다. JSP 공부방법과알아야하는기술및수준을알아본다.

PowerPoint Presentation

Microsoft PowerPoint - chap01-C언어개요.pptx

1217 WebTrafMon II

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Introduction- 소개 Previous- 이전, Next Chapter- 다음장 JavaScript is the most popular scripting language in the world. It is the standard language used in w

소프트웨어 융합 개론

PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

Interstage5 SOAP서비스 설정 가이드

Data Provisioning Services for mobile clients

슬라이드 1

PowerPoint 프레젠테이션

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

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

초보자를 위한 ASP.NET 2.0

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

PCServerMgmt7

초보자를 위한 ASP.NET 21일 완성

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

본보고서는 yfiles AJAX에대해소개하고, 구현을위해필요한서버 / 클라이언트의구성을알아보고자한다. 더불어간단한예제를통해어플리케이션이어떻게동작하는지소개한다. 2장은 yfiles AJAX를알기위해필요한개념에대해서술한다. 3장에서는 yfiles AJAX의서버와클라이언트가

서현수

슬라이드 1

1

웹사이트 운영, 이보다 쉬울 수 없다! Microsoft Azure를 이용한 웹사이트 구축

PowerPoint 프레젠테이션

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

PowerPoint 프레젠테이션

Assign an IP Address and Access the Video Stream - Installation Guide

Javascript

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

TTA Journal No.157_서체변경.indd

PowerPoint 프레젠테이션

웹개발을위한 ComponentOne 사용법 (2) 권대건 부산대학교컴퓨터공학과 Abstract 최근웹개발이활성화되면서전문가를위한여러가지 Tool 웹애플리케이션형태로제공하는경우가늘고있다. ComponentOne 은.NET 기반의 UI C

Network Programming

MVVM 패턴의 이해

PowerPoint 프레젠테이션

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

JAVA Bean & Session - Cookie

ibmdw_rest_v1.0.ppt

BEA_WebLogic.hwp

MySQL-Ch05

NCS : ERP(SAP) ERP(SAP) SW IT,. SW IT 01., 05., 06., 08., 15., , 05. SW IT,,,, SAP HR,,, 4,,, SAP ABAP HR SCHEMA, BSP,

슬라이드 1

Chap7.PDF

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

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

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

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

웹애플리케이션은크게사용자가인터랙션하는프런트엔드 (Front-end) 영역과, 사용자가요청한데이터를저장, 수정, 삭제하는백엔드 (Back-end) 영역으로나눌수있다. 웹애플리케이션개발에는다양한기술이사용된다. 최근에는더급격한속도로웹기술이발전되고있으며현대의웹애플리케이션은단순

쉽게 풀어쓴 C 프로그래밍

초보자를 위한 자바 2 21일 완성 - 최신개정판

슬라이드 1


PowerPoint 프레젠테이션

중간고사

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

Transcription:

1 장. JSP 및 Servlet 을활용한동적웹프로그래밍소개 제 1 장

WWW (World Wide Web) 1. 웹동작방식 인터넷상에분산되어존재하는온갖종류의정보를통일된방법으로찾아볼수있게하는광역정보서비스및소프트웨어 1989년 CERN (European Council for Nuclear Research) 의 Tim Berners-Lee가제안 Web Server 내에서 Hypertext 형태의 Home Page 라는단위로보관및관리되며, Link 라고하는기능에의해인터넷상에지리적으로분산되어있는세계각지의 Hypertext 와연결 인터넷익스플로러 (Internet Explorer), 파이어폭스 (Firefox) 2/26 제 1 장

HTTP (HyperText Transfer Protocol) 1. 웹동작방식 웹클라이언트와웹서버사이에대화하는방법및데이터정보를웹서버에서웹클라이언트로전송하는방법을정의하는표준프로토콜 http:// 로시작되는 URL (Uniform Resource Locator) 를입력함으로써웹서버의데이터정보를획득 http:// 가인터넷프로토콜로서 HTTP 를사용하겠다는의미 무상태 (stateless) 프로토콜 서버가클라이언트의요청에응답한이후에클라이언트의상태에대하여어떠한것도자체적으로유지관리하지않는다는것 하부에서데이터의올바른전송을위해 TCP/IP 사용 웹클라이언트와웹서버간의정보를주고받는모습 3/26 제 1 장

HTTP 에기반한통신의 4 단계 1) 연결설정하기 클라이언트는디폴트로서버의포트 80 번에 TCP 연결 1. 웹동작방식 2) 요청메시지전송하기 요청라인 GET /index.html HTTP/1.0 GET: 웹서버로의행위를정의하는메소드 (method) GET, POST index.html: 서버에있는파일에대한상대적 URL로서요청대상경로 HTTP/1.0: 클라이언트가사용중인 HTTP 프로토콜버전 4/26 제 1 장

HTTP 에기반한통신의 4 단계 2) 요청메시지전송하기 ( 계속 ) 요청헤더 헤더정보들은한라인에하나씩기술 각라인은헤더이름과값으로구성 1. 웹동작방식 헤더정보의끝에는반드시공백라인을추가해서요청메시지의끝임을서버에알림 accept : image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,... accept-language : ko ua-cpu : x86 user-agent : Mozilla/4.0 (compatible; MSIE 7.0;............ [ 공백라인 ] 5/26 제 1 장

1. 웹동작방식 HTTP 에기반한통신의 4 단계 2) 요청메시지전송하기 ( 계속 ) http://www.thinkonweb.com/jspbook/ch01/requestinfo.jsp 웹클라이언트가서버에게전달하는정보들 6/26 제 1 장

1. 웹동작방식 HTTP 에기반한통신의 4 단계 3) 응답메시지전송하기 응답라인 HTTP/1.0 OK 200 HTTP/1.0: 서버에서운영중인 HTTP 의버전정보 OK 200: 요청에의한현재응답이성공적으로수행되었다는것을나타냄 응답코드설명 100~199: 요청이현재처리되는중 200~299: 성공 300~399: 리다이렉션 (redirection) 400~499: 클라이언트쪽의에러 500~599: 서버쪽의에러 7/26 제 1 장

HTTP 에기반한통신의 4 단계 3) 응답메시지전송하기 응답헤더 4) 연결끊기 헤더정보들은한라인에하나씩기술 각라인은헤더이름과값으로구성 1. 웹동작방식 헤더정보의끝에는반드시공백라인을추가해서요청메시지의끝임을서버에알림 Server: Apache 브라우저는공백라인을 MIME-version:1.0 보자마자실제 HTML 문서를 Content-type:text/html 받을준비를함 클라이언트나서버혹은둘다연결을닫는다. Content-length: 107 [ 공백라인 ] <html> <HEAD> <Title> A Sample HTML file </Title> </HEAD> <body> The rest of the document goes here </body> </html> 8/26 제 1 장

HTTP 프로토콜실험 1) cmd 창에서 telnet www.egov.go.kr 80 입력 1. 웹동작방식 telnet 을통한전자민원웹서버접속시도 2) 다음을입력하고엔터 GET /index.html HTTP/1.0 9/26 제 1 장

HTTP 프로토콜실험 1. 웹동작방식 3) HTTP 응답메시지및전자민원웹사이트의첫화면에해당하는 HTML 소스가화면에출력 전자민원웹사이트의응답메시지및첫화면의 HTML 소스 - 지금까지수행한내용은웹브라우저에서 "http://www.egov.go.kr/" 라는주소를입력한후엔터를입력했을때브라우저내부에서발생되는일과동일 - 다만브라우저는전달받은응답메시지및 HTML 소스를해석하여폰트의사이즈및색상을조정하고이미지처리등을수행 10/26 제 1 장

2. 웹프로그래밍과동적웹페이지 정적웹페이지의한계 임의의사용자가페이지를가져와서브라우저상에보기전에이미그페이지의모든내용이정해짐 01 <html> 02 <head> 03 <meta http-equiv="content-type" content="text/html;charset=utf-8"> 04 <title> 내홈페이지 </title> 05 </head> 06 <body> 07 <table border= 0 > 08 <tr> 09 <td><h1> 내홈페이지 </h1></td> 10 </tr> 11 <tr> 12 <td> 13 <h4> 환영합니다!</h4> 14 <h5> 정적웹페이지입니다.</h5> 15 </td> 16 </tr> 17 </table> 18 </body> 19 </html> [ 예제 1.1] Tomcat 설치폴더 \webapps\jspbook\ch01\welcome.html 정적웹페이지수행모습 11/26 제 1 장

2. 웹프로그래밍과동적웹페이지 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 12/26 동적웹페이지 사용자가페이지를요청하는시점에그페이지를새롭게구성하는행위를수행 [ 예제 1.2] Tomcat 설치폴더 \webapps\jspbook\ch01\welcome.jsp <%@ page contenttype="text/html;charset=utf-8" %> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title> 내홈페이지 </title> </head> <body> <table border= 0 > <tr> <td><h1> 내홈페이지 </h1></td> </tr> <tr> <td> <%= <h4> 환영합니다!</h4> %> <% out.println("<h5> 동적웹페이지입니다.</h5>"); %> </td> </tr> </table> </body> </html> 동적웹페이지수행모습 제 1 장

2. 웹프로그래밍과동적웹페이지 정적 vs. 동적웹페이지 정적웹페이지와동적웹페이지의수행방식비교 JSP 스크립트를 HTML 으로변환 13/26 제 1 장

2. 웹프로그래밍과동적웹페이지 전통적인 CGI 방식의동적웹페이지작성기술 CGI (Common Gateway Interface) 정식프로그래밍언어나스크립트가아니라웹서버와서버에서수행중인일반프로세스사이에정보를주고받는규칙 Perl, C, C++ 등의언어를지원 프로그램을호출하여개별프로세스를생성 전통적인 CGI 방식의웹요청처리방식 14/26 제 1 장

2. 웹프로그래밍과동적웹페이지 전통적인 CGI 방식의동적웹페이지작성기술 CGI 방식의문제점 각각의클라이언트요청에대하여독립적인별도의프로세스가생성 가령, 5개의웹브라우저가똑같은 URL을통하여동일한 CGI 실행을요청하면요청개수만큼동일한시간에같은프로세스를 5개생성 중복된같은요청에대한 CGI 의대처방법 15/26 제 1 장

2. 웹프로그래밍과동적웹페이지 어플리케이션서버방식의동적웹페이지작성기술 어플리케이션서버를통하여간접적으로관련스크립트를호출하여수행 Tomcat이바로JSP 스크립트엔진을포함하는어플리케이션서버의대표적인소프트웨어 어플리케이션서버방식의웹요청처리방식 16/26 제 1 장

2. 웹프로그래밍과동적웹페이지 어플리케이션서버방식의동적웹페이지작성기술 CGI 에비해가지는장점 다수의웹브라우저가같은요청을하더라도어플리케이션서버는관련된스크립트에대한프로세스를하나만수행 CGI 방식에비하여 CPU 점유도나메모리점유도에있어서상당히효율적 동시에더많은웹브라우저의요청을처리할수있다는것을의미하며이는곧안정적인웹서비스를제공할수있는기반 각웹요청에대해서어플리케이션서버는쓰레드 (Thread) 로서처리 중복된같은요청에대한어플리케이션서버방식의대처방법 17/26 제 1 장

3. 스크립팅 (Scripting) 기술 컴파일코드방식 vs. 스크립팅코드방식 종류코드형태컴파일방법코드변경 컴파일코드방식 CGI 관련프로그램인 Perl, C, C++ 과서블릿프로그램 컴파일된기계어코드 (Binary Code) 또는바이트코드 (Byte Code) 코드구현이후컴파일과정을직접수행해야함 코드를직접다시재컴파일해야함 스크립팅코드방식 JSP, PHP, ASP 컴파일되기전상태인일반적인스크립트코드코드구현이후컴파일과정은웹요청시자동으로수행됨스크립트내에서코드를수정만하면되며재컴파일은웹요청시자동으로수행됨 18/26 제 1 장

서버측스크립팅기술 ASP(Active Server Page) 3. 스크립팅 (Scripting) 기술 마이크로소프트 (Microsoft) 의대표적기술 VBScript 를이용해서매우쉽게배우고사용할수있다. 기존에이미개발되어있는 COM 객체를활용함으로써개발자들은필요한프로그램을코딩하는시간을줄일수있다. 닷넷 (.NET) 플랫폼 단점 ASP.NET 마이크로소프트에서개발한운영체제및개발환경에종속 값비싼마이크로소프트계열운영체제및데이터베이스와통합개발환경을사용해야한다. 19/26 제 1 장

서버측스크립팅기술 PHP(Professional Hypertext Preprocessor) 3. 스크립팅 (Scripting) 기술 Windows, Unix, Linux 운영체제에서가장빠르게동작하는웹사이트구성가능 오픈소스모델로개발되는언어이기때문에다양한운영체제와웹서버환경에서운영될수있도록포팅 소규모개발자들에게매우쉽게접근할수있는웹개발언어 가볍고사용하기쉽다 풍부한 DB 지원기능을제공 단점 일반적인프로그래밍언어가가지고있는풍부한기능이부족 객체지향 (Object-oriented) 프로그래밍언어가가지고있는캡슐화, 상속성, 재사용성, 모듈화특성이 PHP 는잘구현되어있지않다. 중대형급규모의웹어플리케이션개발에는잘사용되지않는다. 20/26 제 1 장

서버측스크립팅기술 JSP (Java Server Page) 3. 스크립팅 (Scripting) 기술 썬마이크로시스템즈 (Sun Microsystems) 에서개발한 Java 언어기반의웹스크립트언어 스크립팅기반의웹프로그래밍을지원 서블릿은컴파일코드방식을따라야하기때문에웹개발자입장에서는불편한점이많았다. Java 라는훌륭한객체지향언어의여러가지기능을지원받는다. 클래스라이브러리 (Class libraries), 객체지향적코딩, 확실하고풍부한보안, 언어자체가갖는우아함 처리효율면에서도좋은평가 웹요청시이미메모리에적재된서블릿코드에서바로응답이가능 코드의유지관리보수측면에많은강점 MVC (Model-View-Controller) 모델 풍부한클래스라이브러리를활용할수있다 21/26 제 1 장

클라이언트측스크립팅기술 서버측스크립팅기술 3. 스크립팅 (Scripting) 기술 웹서버내에코딩해놓은파일을서버측에서동작하는어플리케이션서버가직접처리하여그결과를브라우저로보내주는기술 클라이언트측스크립팅기술 요청하는파일을그대로브라우저로전송하고브라우저가그파일내에있는스크립트언어를해석하여페이지자체를동적으로만들어주는기술 종류 자바스크립트 (JavaScript) DHTML(Dynamic HTML) CSS (Cascading Style Sheet) Flash 와관련된 Actionscript Ajax (Asynchronous JavaScript and XML) 최근 Web 2.0 의패러다임을실현하기위해서클라이언트측스크립팅기술의중요성이크게부각 22/26 제 1 장

Java 의강력한컴퓨팅플랫폼기술활용 4. 왜 JSP 인가? Java 의컴퓨팅플랫폼 23/26 제 1 장

프리젠테이션로직과비즈니스로직의분리 프리젠테이션로직 (Presentation Logic) 브라우저화면에서의표현을꾸미는절차및기능 비즈니스로직 (Business Logic) 사용자의요청에대한내부적인처리절차및기능 4. 왜 JSP 인가? JSP 는프리젠테이션로직과비즈니스로직을효율적으로분리하여동적웹사이트를구축할수있는훌륭한스크립트 왜분리가중요한가? 웹페이지의디자인이변경되더라도내부비즈니스로직을처리하는 JSP 및자바빈즈 (Javabeans) 코드를변경할필요가없기때문 결제시스템변경과같은비즈니스로직이완전히바뀌는상황이라도프리젠테이션로직을담당하는코드에는전혀영향을미치지않기때문 24/26 제 1 장

컴포넌트의재사용 4. 왜 JSP 인가? 많은 JSP 페이지나자바빈즈에서공통적으로사용되는컴포넌트를만들어이컴포넌트를계속해서재사용가능 주소검색기능, 한글처리기능, 데이터베이스연결기능등을공통컴포넌트로개발 JSTL, EL, 커스텀태그등을활용한개발용이성 JSTL (Java Standard Tag Library) EL (Expression Language) 커스텀태그 (Custom Tag) 웹어플리케이션개발을용이하게하고동적웹사이트개발시간을대폭적으로단축시켜주는용도로활용이가능 25/26 제 1 장

서버자원의효율적관리 4. 왜 JSP 인가? 최초요청시에해당페이지에대해컴파일을통하여서블릿이구성되고메모리로적재 이후요청들에대해서는이미적재되어있는서블릿에서바로응답 서버의자원을효율적으로활용하면서동시에응답속도도상당히빠르다. JSP 는다른언어에비해느리게처리되는편이아니다. 웹사이트의응답속도는언어자체의영향보다는서버의관리기술및로직처리의적정성및효율성에더많은의존도가있다. 26/26 제 1 장