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

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

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

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

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

14-Servlet

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

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

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

KYO_SCCD.PDF

본 강의에 들어가기 전

Microsoft PowerPoint - 7강.pptx

04장

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

JavaGeneralProgramming.PDF

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

PowerPoint Presentation

J2EE Concepts

제11장 프로세스와 쓰레드

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

Data Provisioning Services for mobile clients

PowerPoint Presentation

PowerPoint Presentation

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

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

JAVA PROGRAMMING 실습 08.다형성

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

중간고사

Design Issues

Microsoft PowerPoint - Chap6_cmpl

PowerPoint Presentation

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

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

JAVA Bean & Session - Cookie

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

12-file.key

gnu-lee-oop-kor-lec06-3-chap7

PowerPoint Presentation

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

Microsoft PowerPoint - 4강.pptx

JAVA PROGRAMMING 실습 09. 예외처리

JUNIT 실습및발표

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

Microsoft PowerPoint - 04-UDP Programming.ppt

Data Provisioning Services for mobile clients

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

Microsoft PowerPoint - 03-TCP Programming.ppt

Network Programming

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

rmi_박준용_final.PDF

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >

PowerPoint Presentation

슬라이드 1

Data Provisioning Services for mobile clients

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

PowerPoint 프레젠테이션

PowerPoint Presentation

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

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

쉽게 풀어쓴 C 프로그래밊

어댑터뷰

Microsoft PowerPoint 웹 연동 기술.pptx

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Presentation

PowerPoint Presentation

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

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

Cluster management software

TCP/IP Model

17장 클래스와 메소드

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

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

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

PowerPoint Template

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

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

chapter6.doc

PowerPoint Presentation

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

PowerPoint Presentation

PowerPoint 프레젠테이션

Java Agent Plugin Guide

Microsoft PowerPoint - CSharp-10-예외처리

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

슬라이드 1

PowerPoint 프레젠테이션

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

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추

PowerPoint 프레젠테이션

Microsoft PowerPoint - 06-Chapter09-Event.ppt

JVM 메모리구조

gnu-lee-oop-kor-lec10-1-chap10

JAVA PROGRAMMING 실습 02. 표준 입출력

교육자료

Transcription:

속성 & 리스너 JSP & Servlet

2/39 Contents 학습목표 클라이언트요청에의해서블릿이실행될때에컨테이너에의해제공되는내장객체의종류와역할, 그리고접근범위특성등을알아본다. 웹컴포넌트사이의데이터전달을위한내장객체에서의속성설정과이에따른이벤트처리방법에대해알아본다. 내용 서블릿의초기화환경을표현하는 ServletConfig 객체 웹애플리케이션의실행환경을표현하는 ServletContext 객체 세션정보를유지하는 HttpSession 객체 내장객체에서의속성설정 내장객체에서의이벤트처리

3/38 1. 서블릿초기화파라미터 (1) 서블릿초기화파라미터 - 개요 정의 : 서블릿의초기화작업에필요한데이터를의미 사용목적 : 유지보수관점에서변경가능한파라미터를 DD(Deployment Descriptor) 에읽어들어사용하도록함 서블릿소스변경부담을줄임 예 : 로그파일명, DB 테이블명 & 사용자명등 전달방법 : 컨테이너가서블릿클래스를로딩할때에 DD 파일에서초기화파라미터를읽어 ServletConfig 객체를생성 서블릿초기화시에매개변수로전달

4/38 1. 서블릿초기화파라미터 (2) 서블릿초기화파라미터 - 정의및접근방법

5/38 1. 서블릿초기화파라미터 (3) 서블릿초기화파라미터 로딩 서블릿초기화할때단한번만서블릿초기화파라미터를읽는다

6/38 1. 서블릿초기화파라미터 (4) 서블릿초기화파라미터 로딩

7/38 1. 서블릿초기화파라미터 (5) 서블릿초기화파라미터 서블릿에게로전달 생성된 ServletConfig 객체를서블릿의 init() 메소드호출시에매개변수 로제공

8/38 1. 서블릿초기화파라미터 (6) 서블릿초기화파라미터 ServletConfig 인터페이스 서블릿초기화파라미터사용 컨텍스트정보 ( 서블릿설정정보 ) 접근

9/38 1. 서블릿초기화파라미터 (7) 서블릿초기화파라미터 가져오기 서블릿에서초기화파라미터가져오기 ServletConfig config = getservletconfig(); String email = config.getinitparameter( admemail ); String email = getservletconfig().getinitparameter( admemail ); HttpServletRequest 메소드 String email = getinitparameter( admemail ); (or String email = this.getinitparameter( admemail ); )

10/38 1. 서블릿초기화파라미터 (8) 서블릿초기화파라미터 예제 (1)

11/38 1. 서블릿초기화파라미터 (9) 서블릿초기화파라미터 예제 (2)

12/38 1. 서블릿초기화파라미터 (10) 서블릿초기화파라미터 예제 (3) <servlet> <servlet-name>agreement-servlet</servlet-name> <servlet-class>agreementservlet</servlet-class> <init-param> <param-name>file_name</param-name> <param-value>agreement.txt</param-value> </init-param> </servlet> 서블릿의초기화파라미터 파라미터의이름 파마미터의값

13/38 1. 서블릿초기화파라미터 (11) 서블릿초기화파라미터 예제 (4) [ 예제 6-4] 인사말을출력하는서블릿클래스 서블릿의초기화파라미터사용 import javax.servlet.http.*; import javax.servlet.*; import java.io.*; import java.util.*; public class GreetingServlet extends HttpServlet { private PrintWriter logfile; public void init() throws ServletException { String filename = getinitparameter( FILE_NAME ); try { logfile = new PrintWriter(new FileWriter(filename, true)); } catch (IOException e) { throw new ServletException(e); } } public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String name = request.getparameter( NAME ); String greeting = 안녕하세요, + name + 님. ; if (logfile!= null) { GregorianCalendar now = new GregorianCalendar(); logfile.printf( %TF %TT - %s %n, now, now, name); } response.setcontenttype( text/html;charset=euc-kr ); PrintWriter out = response.getwriter(); out.println( <HEAD><TITLE> 인사하기 </TITLE></HEAD> ); } out.println( <BODY> ); out.println(greeting); out.println( </BODY> ); out.println( </HTML> ); } public void destroy() { if (logfile!= null) logfile.close(); }

14/38 1. 서블릿초기화파라미터 (12) 서블릿초기화파라미터 하나의서블릿클래스를이용하여두개이상의서블릿으로등록가능 [ 예제 6-4] 를등록하는기존의엘리먼트 [ 예제 6-4] 를등록하는새로운엘리먼트

15/38 2. 컨텍스트초기화파라미터 (1) 컨텍스트초기화파라미터 - 개요 정의 : 웝애플리케이션의실행환경및초기화파라미터데이터를의미 사용목적 : 서블릿초기화파라미터와사용목적및방법은동일 서블릿초기화파라미터는해당서블릿만접근가능 컨텍스트초기화파라미터는웹애플리케이션을구성하는모든컴포턴트가접근가능 전달방법 : 컨테이너가웹애플리케이션을시작할때에 DD 파일에서컨텍스트초기화파라미터를읽어 ServletContext 객체를생성 제일먼저생성되는내장객체 서블릿 ( 또는 JSP) 초기화시에 ServletConfig 객체에 ServletContext 객체의접근자가등록되어전달

16/38 2. 컨텍스트초기화파라미터 (2) 컨텍스트초기화파라미터 정의방법 DD 파일내에 <context-param> 엘리먼트를이용하여정의

17/38 2. 컨텍스트초기화파라미터 (3) 컨텍스트초기화파라미터 접근방법 ServletContext 객체접근자및메소드를이용하여접근

18/38 2. 컨텍스트초기화파라미터 (4) 컨텍스트초기화파라미터 서블릿초기화파라미터와의비교 (1)

19/38 2. 컨텍스트초기화파라미터 (5) 컨텍스트초기화파라미터 서블릿초기화파라미터와의비교 (2)

20/38 2. 컨텍스트초기화파라미터 (6) 컨텍스트초기화파라미터 서블릿초기화파라미터와의비교 (3) 웹애플리케이션은오직하나의 ServletContext 으로전체웹애플리케이션에서정보를공유

21/38 2. 컨텍스트초기화파라미터 (7) 컨텍스트초기화파라미터 ServletContext 인터페이스

22/38 2. 컨텍스트초기화파라미터 (8) 컨텍스트초기화파라미터 ServletContext 객체접근 서블릿에서의 ServletContext 객체접근 ServletContext context = getservletconfig().getservletcontext(); ServletContext context = this.getservletcontext(); 컨텍스트초기화파라미터접근 String param = context.getinitparameter( init_param_name ); 서블릿초기화파라미터접근메소드이름과동일 반환되는파라미터값은 String 타입

23/38 2. 컨텍스트초기화파라미터 (9) 컨텍스트초기화파라미터 서블릿실행환경정보접근 (1) 동작중인웹서버정보접근 String str = context.getserverinfo(); 웹서버의종류를리턴하는메서드 서비스되는서블릿규격버전정보접근 int num1 = context.getmajorversion(); 서블릿의메이저버전을가져오는메서드 int num2 = context.getminorversion(); 서블릿의마이너버전을가져오는메서드

24/38 2. 컨텍스트초기화파라미터 (10) 컨텍스트초기화파라미터 서블릿실행환경정보접근 (2) 웹애플리케이션의 URL 경로명과실제배포경로명접근 String apppath = context.getcontextpath(); 웹애플리케이션의 URL 경로명을리턴하는메서드 String absolutepath = context.getrealpath( /sub1/intro.html ); 웹애플리케이션내에서의파일경로명

25/38 2. 컨텍스트초기화파라미터 (11) 컨텍스트초기화파라미터 컨텍스초기화파라미터설정및접근 JSP 에서의컨텍스트초기화파라미터접근 [ 예제 6-9] 웹애플리케이션의초기화파라미터를읽는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 웹애플리케이션의초기화파라미터 </TITLE></HEAD> <BODY> 데이터베이스이름 : <%= application.getinitparameter( DB_NAME ) %> <BR> </BODY> </HTML> [ 그림 6-22] 웹애플리케이션의초기화파라미터지정방법 [ 그림 6-23] 예제 6-9 의실행결과

26/38 2. 컨텍스트초기화파라미터 (12) 컨텍스트초기화파라미터 log() 메소드활용 ServletContext 인터페이스의 log() 메서드를이용하면로그파일에메시지를기록할수있다. 호출할시에파라미터로로그메시지를넘겨주어야한다. context.log( 인사하기 JSP 페이지가호출되었습니다. ); 로그메시지 톰캣의설치디렉터리아래의 logs라는이름의서브디렉터리안의 localhost.yyyy-mm-dd.log라는이름의파일에로그메시지를기록한다.

27/38 3. 컨테이너제공객체 (1) 컨테이너제공객체 (1) 서블릿실행시에컨테이너가제공하는이미만들어진 (built-in) 객체들 서블릿 API 객체 서블릿 API를이용하여접근가능한객체 5개종류의객체 ServletContext 객체 ServletConfig 객체 HttpSession 객체 HttpServletRequest 객체 HttpServletResponse 객체

28/38 3. 컨테이너제공객체 (2) 컨테이너제공객체 (2) 종류생성시기접근범위 (scope) 특징 ServletContext 웹애플리케이션시작 ( 배포 ) 시점 웹애플리케이션의모든컴포넌트 웹애플리케이션실행환경정보및초기화파라미터제공 ServletConfig 서블릿클래스로딩시점 해당서블릿 ( 또는 JSP) 만 서블릿초기화파라미터제공 HttpSession 연속된클라이언트요청의시작시점 연속된클라이언트요청에의해실행되는컴포넌트 서블릿요청에의해생성 HttpServletRequest 클라이언트요청도착시점 클라이언트요청에의해실행되는서블릿 ( 또는 JSP) 클라이언트요청데이터접근 HttpServletResponse 클라이언트요청도착시점 클라이언트요청에의해실행되는서블릿 ( 또는 JSP) 클라이언트응답데이터접근

29/38 4. 속성 (Attribute) (1) 속성 (Attribute) - 개요 3 개의서블릿 API 객체 (ServletContext, HttpSession, HttpServletRequest) 중하나에설정해놓은 ( 바이딩- binding) 객체 게시판의게시물 과비교가능 이름 (String)/ 값 (Object) 의쌍으로저장 속성의생존범위 (Scope) 에유의 클라이언트요청을처리하는컴포넌트간또는웹애플리케이션을구성하는컴포넌트간에데이터교환을가능하게함.

30/38 4. 속성 (Attribute) (2) 속성 (Attribute) 파라미터와비교 속성은파라미터가아닙니다!...

31/38 4. 속성 (Attribute) (3) 속성 (Attribute) 세가지생존범위 (Scope) Context, Session, Request Scopes Context Scope :

32/38 4. 속성 (Attribute) (4) 속성 (Attribute) 세가지생존범위 (Scope) Session Scope :

33/38 4. 속성 (Attribute) (5) 속성 (Attribute) 세가지생존범위 (Scope) Request Scope :

34/38 4. 속성 (Attribute) (6) 속성 (Attribute) API ServletContext, HttpSession HttpServletRequest 인터페이스에속성관련메소드를제공 Object getattribute(string name) void setattribute(string name, Object value) void removeattribute(string name) Enumeration getattributenames()

35/38 4. 속성 (Attribute) (7) 속성 (Attribute) API

36/38 4. 속성 (Attribute) (8) 속성 (Attribute) 고려사항 (1) 속성은스레드 - 안전 (thread-safe) 하지못한경우가있다. Context 속성은스레드안전하지못하다.

37/38 4. 속성 (Attribute) (9) 속성 (Attribute) 고려사항 (2) Context 생존범위는스레드안전하지못하다.

38/38 4. 속성 (Attribute) (10) 속성 (Attribute) 고려사항 (3) Context 생존범위는스레드안전하지못하다.

39/38 4. 속성 (Attribute) (11) 속성 (Attribute) 고려사항 (4) 해결책 #1 : 서블릿메소드의동기화 Context 속성의스레드 - 안전을보장못함

40/38 4. 속성 (Attribute) (12) 속성 (Attribute) 고려사항 (5) 해결책 #1 : 서블릿메소드의동기화

41/38 4. 속성 (Attribute) (13) 속성 (Attribute) 고려사항 (6) 해결책 #2 : Context 객체동기화 (Context 에 Lock 을건다 ) Context 속성의스레드 - 안전을보장함

42/38 4. 속성 (Attribute) (14) 속성 (Attribute) 고려사항 (7) Session 속성도스레드안전하지못하다 동일클라이언트가동시에하나이상의요청을보내는경우

43/38 4. 속성 (Attribute) (15) 속성 (Attribute) 고려사항 (8) 해결책 : Session 객체의동기화 HttpSession 에대한동기화로 Session 속성의스레드 - 안전을보장할수있음

44/38 4. 속성 (Attribute) (16) 속성 (Attribute) 고려사항 (9) Request 속성은스레드 - 안전하다 클라이언트요청에의해생성된스레드만이 request 속성을접근할수있기때문

45/38 4. 속성 (Attribute) (17) 속성 (Attribute) Request 디스패칭 (1) 서블릿에는다른컴포넌트에게 Request 를전달하기위해 RequestDispatcher 를사용한다.

46/38 4. 속성 (Attribute) (18) 속성 (Attribute) Request 디스패칭 (2)

47/38 4. 속성 (Attribute) (19) 속성 (Attribute) Request 디스패칭 (3) RequestDispatcher 획득방법

48/38 4. 속성 (Attribute) (20) 속성 (Attribute) 정리

49/38 5. 리스너 (Listener) (1) 리스너 (Listener) 개요 생존범위와관련된 3 개의개체 (ServletContext, HttpSession, ServletRequest) 에서발생하는이벤트를처리하는클래스 서블릿과 JSP 와별도의클래스로정의 DD 파일에등록 컨테이너가이벤트가발생할때에리스너를호출하여실행. 관련이벤트 생존범위관련객체의초기화및소멸 속성 (Attribute) 등록, 수정, 제거 서블릿실행과관련하여 8 종류의리스너가존재

50/38 5. 리스너 (Listener) (2) 리스너 (Listener) 종류 (1)

51/38 5. 리스너 (Listener) (3) 리스너 (Listener) 종류 (2)

52/38 5. 리스너 (Listener) (4) 리스너 (Listener) ServletContextListener (1) 웹애플리케이션이시작할때에 DB Connection 객체를생성하여모든컴포넌트가공유할수있는방법이없을까?

53/38 5. 리스너 (Listener) (5) 리스너 (Listener) ServletContextListener (2) 컨텍스트리스너를이용하여해결 컨텍스트초기화시 ( 애플리케이션배포 ) 사용 ServletContext 로부터컨텍스트초기화파라미터로딩 DB 연결을위해초기화파라미터검색명 ( lookup name ) 사용 DB Connection 객체를속성 (Attribute) 에저장 컨텍스트종료시 ( 애플리케이션서비스종료 ) 사용 DB 연결종료

54/38 5. 리스너 (Listener) (6) 리스너 (Listener) ServletContextListener (3) 컨텍스트리스너를이용하여해결 DD 파일에등록하여컨테이너가이벤트발생시에호출할수있도록함

55/38 5. 리스너 (Listener) (7) 리스너작성튜토리얼 (1) 간단한 ServletContextListener 를작성하고실행시키는실습 리스너가컨텍스트초기화파라미터에서개의품종을읽어와 Dog 클래스의객체를생성하고 ServletContext 에서속성으로묶어둠으로써서블릿등에서 Dog 객체를접근하여사용하도록함. 튜토리얼전체과정

56/38 5. 리스너 (Listener) (8) 리스너작성튜토리얼 (2) 3 개의클래스작성 속성 (Attribute) 클래스 Dog 클래스 Dog.java 컨텍스트리스너클래스 MyServletContextListener.java 테스트서블릿클래스 ListenerTester.java DD 파일 DD 파일등록 리스너클래스와서블릿클래스를 DD 파일에등록 배포및테스트

57/38 5. 리스너 (Listener) (9) 리스너작성튜토리얼 (3) Dog 클래스 Dog.java

58/38 5. 리스너 (Listener) (10) 리스너작성튜토리얼 (4) 컨텍스트리스너클래스 MyServletContextListener.java

59/38 5. 리스너 (Listener) (11) 리스너작성튜토리얼 (5) 서블릿클래스 ListenerTester.java

60/38 5. 리스너 (Listener) (12) 리스너작성튜토리얼 (6) 배포기술자 (DD 파일 ) 작성

61/38 5. 리스너 (Listener) (13) 리스너작성튜토리얼 (7) 컴파일, 배포, 테스트

62/38 5. 리스너 (Listener) (14) 리스너작성튜토리얼 (8) 컨텍스리스너실행과정이해

63/38 5. 리스너 (Listener) (15) 리스너작성튜토리얼 (9) 컨텍스리스너실행과정이해

64/38 5. 리스너 (Listener) (16) 리스너작성튜토리얼 (10) 컨텍스리스너실행과정이해

65/38 5. 리스너 (Listener) (17) 리스너작성튜토리얼 (11) 컨텍스리스너실행과정이해

JSP & Servlet