servlet / jsp 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차 web application technologies...

44
Servlet / JSP 전 전 전

Upload: david-bennett

Post on 12-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet / JSP

전 혜 영전 혜 영

Page 2: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

0. 목차 Web Application Technologies

Servlet Server

Simple Servlet

Servlet / HTML Form

Deployment Descriptor

Servlet Context

MVC Parrern

Cookie / Session

Error Handling

Page 3: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Web Application Technologies

Page 4: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Client-Server Architecture

Page 5: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

HTTP C-S Architecture

Page 6: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

CGI Programs on the Web Server

Page 7: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

기존 CGI Programs

Page 8: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlets on the Web Server

Page 9: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet Program

Page 10: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

The Model2 Architecture

Page 11: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

J2EE Architecture

Page 12: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet Engine

Page 13: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet Server Programs

JDK 설치 JAVA_HOME=C:\J2SDK1.X Path=.;%JAVA_HOME\bin classpath=.;C:\....\X.jar

Servlet Server TOMCAT(http://jakarta.apache.org) RESIN(http://www.caucho.com) Home 경로 추가 servlet.jar 경로 classpath 에 추가

Page 14: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

TOMCAT

./Tomcat/bin\startup.bat

Page 15: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

TOMCAT Configuration

Tomcat bin

startup.bat, shutdown.bat conf

server.xml, web.xml webapps

ROOT WEB-INF

Classes web.xml

html, jsp work

Page 16: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Resin

./resin\bin/httpd.exe

Page 17: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Resin

Page 18: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Resin Configuration

bin httpd.exe

conf resin.conf, app-default.xml

doc WEB-INF

classes work

html, jsp lib

resin.jar webapps

config.xml

Page 19: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Simple Servlet

Page 20: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

The NetServer Architecture

Page 21: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

The Generic Servlet API

Page 22: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Generic Servlet Codeimport javax.servlet.GenericServlet;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import java.io.PrintWriter;import java.io.IOException;public class HelloServlet extends GenericServlet { public void service(ServletRequest request, ServletResponse response) throws IOE

xception {

PrintWriter out = response.getWriter();

out.println(“Hello, World!!”); out.close(); }}

Page 23: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Hypertext Transfer Protocol

Page 24: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

HTTP(Hypertext Transfer Protocol)

request/reponse header entity body HTTP 동작 방식

GET POST HEAD PUT DELETE TRACE OPTIONS

Page 25: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

GET url HTTP/1.1

< 헤더 >요청에 대한 정보

< 몸체 : body >

GET/POST Request

POST url HTTP/1.1

< 헤더 >요청에 대한 정보

< 몸체 : body >

요청의 일부로 전송되는 정보

Page 26: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

GET 소량의 데이타 전송 HTTP 의 헤더로 데이타 전송 URL 창에 보내는 데이타가 보임 URL 창에 http://www.babo.com 이라고

요청하는 것 자체가 GET 방식 ( default ) POST

HTTP 의 몸체로 데이타 전송 대량의 데이타 ( 예 , 파일전송 ) 전송시 URL 창에 데이타가 안보이기에 보안에 좋음

Page 27: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Web Container Architecture

Page 28: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

SequenceDiagram- HTTP GetRequest

Page 29: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

The Http Servlet API

Page 30: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

HttpServlet Codeimport javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.PrintWriter;import java.io.IOException;public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

response.setContentType("text/html;charset=euc-kr"); PrintWriter out = response.getWriter();

out.println("<HTML>"); out.println("<HEAD>"); out.println("<TITLE>Hello Servlet</TITLE>"); out.println("</HEAD>"); out.println("<BODY BGCOLOR='white'>"); out.println("<B>Hello, World</B>"); out.println("</BODY>"); out.println("</HTML>"); out.close(); }}

Page 31: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet Life Cycle

Page 32: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet / HTML Form

Page 33: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

FORM tag

action : 웹 서버에 전달되어 처리될 CGI프로그램 주소

method : get/post enctype : 인코딩 타입 target : CGI 프로그램이 처리후 결과를

보여줄 위치<form ..>

<input type=“” value=“”></form>

Page 34: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

HTML Form Components

Page 35: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet API

Page 36: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Deployment Descriptor

Page 37: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

web-app icon display-name description distributable context-param filter filter-mapping listener servlet servlet-mapping session-config mime-mapping welcome-file-list error-page taglib resource-env-ref resource-ref security-constraint login-config security-role env-entry ejb-ref ejb-local-ref

Filter icon filter-name display-name description filter-class init-param

param-name param-value description

filter-mapping filter-name url-parrern servlet-name

servlet icon servlet-name display-name description servlet-class jsp-file init-param

param-name param-value

servlet-mapping servlet-name url-pattern

Page 38: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Initialization Parameters(web.xml)

<servlet> <servlet-name>simpleServlet</servlet-name> <servlet-class>ServletTest</servlet-class> <init-param> <param-name>dbDriver</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </init-param> </servlet>

Page 39: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Initialization Parameters(servlet.java)

public class ServletTest extends HttpServlet{private String driver;public void init(){

Driver=getInitParameter(“dbDriver”);}

public void doGet(HttpServletRequest, httpServletResponse) throws ServletException, IOException{…Out.println(driver);..

}}

Page 40: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet Config

Page 41: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Servlet Context

Page 42: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

MVC Parrern

Page 43: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Cookie / Session

Page 44: Servlet / JSP 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차  Web Application Technologies  Servlet Server  Simple Servlet  Servlet / HTML Form  Deployment Descriptor

Error Handling