본 강의에 들어가기 전

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

JavaGeneralProgramming.PDF

14-Servlet

Data Provisioning Services for mobile clients

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

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

J2EE Concepts

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

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

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

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

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

TCP/IP Model

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

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

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

KYO_SCCD.PDF

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

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

Intro to Servlet, EJB, JSP, WS

제11장 프로세스와 쓰레드

Spring Boot

Data Provisioning Services for mobile clients

Microsoft PowerPoint - 4강.pptx

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

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

<4D F736F F F696E74202D20C1A632C8B8C7D1B1B9BDBAC7C1B8B5BBE7BFEBC0DAB8F0C0D32D496E E D56432E BC8A3C8AF20B8F0B5E55D>

중간고사

<4D F736F F F696E74202D2031C0E52E4A535020B9D C6574C0BB20C8B0BFEBC7D120B5BFC0FB20C0A520C7C1B7CEB1D7B7A1B9D620BCD2B0B32

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

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

Network Programming

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

PowerPoint 프레젠테이션

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

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

Spring Boot/JDBC JdbcTemplate/CRUD 예제

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

PowerPoint Template

Web Service Computing

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

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

Microsoft PowerPoint - 03-TCP Programming.ppt

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

PowerPoint 프레젠테이션

ThisJava ..

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

ibmdw_rest_v1.0.ppt

JAVA PROGRAMMING 실습 08.다형성

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

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,

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

0. 들어가기 전

chapter1,2.doc

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

MVVM 패턴의 이해

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

Secure Programming Lecture1 : Introduction

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

서현수

[Brochure] KOR_TunA

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

百見不如一打 Servlet& JSP Ecipse & Oracle

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

오버라이딩 (Overriding)

<C4FBC1EEB7CE20C1A4B8AEC7D5BDC3B4D95FC1A4B4E42E687770>

PowerPoint Presentation

No Slide Title

슬라이드 1

No Slide Title

PowerPoint Presentation

2009년 상반기 사업계획

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

JAVA Bean & Session - Cookie

슬라이드 1

PowerPoint Presentation

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

PowerPoint 프레젠테이션

PowerPoint Presentation

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

Flex Builder 2 & 차트

MySQL-Ch05

PowerPoint Template

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

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Design Issues

슬라이드 1

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

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

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

Oracle Magazine 2003 summer

Portal_9iAS.ppt [읽기 전용]

데이터베이스_오라클_부록(최종).indd

Transcription:

웹서버프로그래밍 2

JSP 개요

01. JSP 개요 (1) 서블릿 (Servlet) 과 JSP(Java Server Page) 서블릿은자바를이용한서버프로그래밍기술 초기웹프로그래밍기술인 CGI(Common Gateway Interface) 를대체하기위해개발되었으나, 느린처리속도, 많은메모리요구, 불편한화면제어등의한계로 PHP, ASP 등서버스크립트언어등장 JSP 는 PHP 와유사한형태로 HTML 을중심으로자바프로그램과의유기적인연결을지원 01 public class HelloWorldServlet extends HttpServlet { 02 public void doget(httpservletrequest request, 03 HttpServletResponse response) 04 throws ServletException, IOException { 05 response.setcontenttype("text/html; charset=euc_kr"); 06 PrintWrite out = response.getwriter(); 07 out.println("<html><head><title> 로그인 </TITLE></HEAD>"); 08 out.println("<body><h2>hello World : 헬로월드 </H2>"); 09 out.println(" 오늘의날짜와시간은 : "+new 10 java.util.date()); 11 out.println("</body></html>"); 12 } 13 } 01 <%@ page contenttype="text/html;charset=utf-8" %> 02 <HTML> 03 <HEAD><TITLE>Hello World</TITLE></HEAD> 04 <BODY> 05 <H2>Hello World!</H2> 06 오늘의날짜와시간은 : <%= new java.util.date() %> 07 </BODY> 08 </HTML> 3

01. JSP 개요 (2) JSP 의특징 자바의모든기능을사용할수있음 서블릿으로컴파일된후메모리에서처리되기때문에많은사용자의접속도원활하게처리가능 JSP 또는다른서블릿간의데이터를쉽게공유 빈즈 (Beans) 라고하는자바컴포넌트를사용가능 커스텀태그를만들어사용할수있으며, JSTL(JSP Standard Tag Library) 과같은태그라이브러리를이용가능 스트러츠, 스프링 @MVC 등다양한프레임워크와결합하여개발가능 4

01. JSP 개요 (3) 요구되는프로그래밍기술웹프로그래밍기술 HTML JavaScript CSS Java 프로그래밍기술 Java JDBC Servlet 추가프로그래밍기술 Database XML Mobile Programming Framework 5

01. JSP 개요 (4) JSP 전체동작서버에서실행한결과를웹브라우저에전달 Web Browser JSP 페이지요청 HTML 페이지응답 Web Server Servlet Container Servlet Container 서블릿이존재하면바로실행 서블릿은자바소스로작성된클래스파일구조없는경우 JSP 를서블릿코드로변환한후실행 컴파일된클래스파일은소스변경전까지메모리상주하면서서비스제공 6

01. JSP 개요 (5) 서블릿과 JSP 기술변천 7

02. 서블릿 (1) 서블릿 (Servlet) 이란? 서블릿은자바플랫폼에서컴포넌트를기반으로하는웹애플리케이션개발의핵심기술 JSP 는서블릿기반의웹프로그래밍기술로내부적으로 JSP 는서블릿으로변환되어실행 서블릿의장점 자바를기반으로하므로자바 API 를모두사용가능 운영체제나하드웨어에영향을받지않으므로, 한번개발된애플리케이션은다양한서버환경에서도실행가능 웹애플리케이션에서효율적인자료공유방법제공 다양한오픈소스라이브러리와개발도구활용가능 8

02. 서블릿 (2) 웹애플리케이션개발에서블릿사용시이점 MVC 패턴을쉽게적용가능하며, 컨테이너와밀접한서버프로그램구현가능 MVC 패턴을적용할때콘텐츠와비즈니스로직을분리할수있으며컨트롤러와뷰가역할을분담함으로써, 웹디자이너와개발자간작업원활 리스너, 필터등고급프로그래밍기법활용가능 스프링등오픈소스프레임워크의기본기술 9

02. 서블릿 (3) 서블릿컨테이너 서블릿을실행하기위한서버소프트웨어 웹서버와서블릿컨테이너 10

02. 서블릿 (4) 서블릿개발과실행과정 11

02. 서블릿 (5) 서블릿동작과정 일반적인애플리케이션처럼버튼을누르면시작되고, 처리를마치면종료되는구조가아님서버에서컨테이너에의해실행되면서생명주기를가지며, 특정이벤트와상태가존재하는구조서블릿개발은해당생명주기메소드를오버라이딩하거나 doget(), dopost() 와같은사용자요청처리메소드를구현하는것 init() 은서블릿실행시한번만실행되는메소드 service() 는사용자요청시매번호출되는메소드 destroy() 는서블릿종료시실행되는메소드 12

02. 서블릿 (6) 서블릿구조와 API 서블릿은일반적인자바클래스구조를가짐 일반자바소스의구조이므로컴파일과정필요 서블릿은컨테이너에의해실행되므로개발자가임의로프로그램하는것이아니라특정클래스를상속받아야만구현할수있는구조임 서블릿프로그램을위해서블릿클래스의상관관계나 API 의기본구조를이해해야함 일반적으로서블릿은 java.servlet.httpservlet 클래스를상속해서구현함 13

02. 서블릿 (7) javax.servlet.http.httpservlet 동작구조 GenericServlet 에비해 HTTP 프로토콜지원이포함되어일반적인웹프로그램에적합 HttpServlet 도 javax.servlet.genericservlet 을상속받고있음 사용자요청에따라 GET, POST 방식으로구별해처리하지만경우에따라서는구분없이처리하기도함 URL 요청은 HTTP 프로토콜에서는 GET /index.html 과같이서버에전달됨 HTTP 프로토콜에는 GET, POST, PUT, HEAD, DELETE, OPTIONS, TRACE 와같은요청이정의되어있으며서블릿에도각각 doget(), dopost() 와같은대응메소드가존재함 14

03. JSP 개발환경개요 JSP 개발환경을구축하려면여러개발툴을상호연동하여설치해야함 JSP 는자바로구현되므로자바개발환경필요 : JDK http://www.oracle.com 작성한코드를웹서버에서실행하려면 JSP 운영환경필요 : Apache Tomcat http://tomcat.apache.org 자바를이용한편리한개발을위해통합개발환경필요 : Eclipse http://www.eclipse.org 15

Spring 16

POJO Plain Old Java Object : 평범한자바객체 클래스상속을강제하지않음 Servlet의경우 HttpServlet 상속받아야함 public HelloServlet extends HttpServlet { } 인터페이스구현을강제하지않음 Annotation 사용을강제하지않음 public HelloController { } 17

MVC (1) MVC 개념 애플리케이션코드를역할별로 Model, View, Controller 로나눈패턴 이패턴의주목적은 Business logic 과 Presentation logic 을분리한것 Model 애플리케이션으로표현하려는도메인영역을자바클래스로표현한것 예 : 온라인서점애플리케이션의 Book, BookShelf, Staff 등 View 사용자에게제공할화면 (Presentation logic) 담당 예 : 사용자에게보이는화면, 책의위치를보여주는약도 Controller 사용자로부터요청을받아해당요청을처리하는데필요한로직을수행하고그결과에해당하는 Model 을필요로하는 View 로제공해주는역할 예 : 사용자의요청을받아 Book 객체목록을만들고그목록을 searchresult.jsp 뷰로보여주라는일수행 18

MVC (2) Spring MVC 요청 & 응답 DispatcherServlet HelloController Hello.jsp 19