servlet / jsp 전 혜 영전 혜 영 전 혜 영전 혜 영. 0. 목차 web application technologies...
TRANSCRIPT
Servlet / JSP
전 혜 영전 혜 영
0. 목차 Web Application Technologies
Servlet Server
Simple Servlet
Servlet / HTML Form
Deployment Descriptor
Servlet Context
MVC Parrern
Cookie / Session
Error Handling
Web Application Technologies
Client-Server Architecture
HTTP C-S Architecture
CGI Programs on the Web Server
기존 CGI Programs
Servlets on the Web Server
Servlet Program
The Model2 Architecture
J2EE Architecture
Servlet Engine
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 에 추가
TOMCAT
./Tomcat/bin\startup.bat
TOMCAT Configuration
Tomcat bin
startup.bat, shutdown.bat conf
server.xml, web.xml webapps
ROOT WEB-INF
Classes web.xml
html, jsp work
Resin
./resin\bin/httpd.exe
Resin
Resin Configuration
bin httpd.exe
conf resin.conf, app-default.xml
doc WEB-INF
classes work
html, jsp lib
resin.jar webapps
config.xml
Simple Servlet
The NetServer Architecture
The Generic Servlet API
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(); }}
Hypertext Transfer Protocol
HTTP(Hypertext Transfer Protocol)
request/reponse header entity body HTTP 동작 방식
GET POST HEAD PUT DELETE TRACE OPTIONS
GET url HTTP/1.1
< 헤더 >요청에 대한 정보
< 몸체 : body >
GET/POST Request
POST url HTTP/1.1
< 헤더 >요청에 대한 정보
< 몸체 : body >
요청의 일부로 전송되는 정보
GET 소량의 데이타 전송 HTTP 의 헤더로 데이타 전송 URL 창에 보내는 데이타가 보임 URL 창에 http://www.babo.com 이라고
요청하는 것 자체가 GET 방식 ( default ) POST
HTTP 의 몸체로 데이타 전송 대량의 데이타 ( 예 , 파일전송 ) 전송시 URL 창에 데이타가 안보이기에 보안에 좋음
Web Container Architecture
SequenceDiagram- HTTP GetRequest
The Http Servlet API
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(); }}
Servlet Life Cycle
Servlet / HTML Form
FORM tag
action : 웹 서버에 전달되어 처리될 CGI프로그램 주소
method : get/post enctype : 인코딩 타입 target : CGI 프로그램이 처리후 결과를
보여줄 위치<form ..>
<input type=“” value=“”></form>
HTML Form Components
Servlet API
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
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>
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);..
}}
Servlet Config
Servlet Context
MVC Parrern
Cookie / Session
Error Handling