Upload
Download free for 30 days
Login
Submit Search
Servlet jsp 13장
0 likes
441 views
J
JeongBong Kim
1 of 15
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
More Related Content
PDF
(C#,닷넷구조체강좌)구조체 개요 및 간단한 예제_닷넷,C#, WPF, 자마린실무교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PPTX
PHP 7의 새로운 특징과 기능 요약
정아 손
PPT
자바와 사용하기2
destinycs
PPT
헷갈리는 자바스크립트 정리
은숙 이
(C#,닷넷구조체강좌)구조체 개요 및 간단한 예제_닷넷,C#, WPF, 자마린실무교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
(스프링초보자를위한)스프링 컨텍스트 설정과 관련된 어노테이션
탑크리에듀(구로디지털단지역3번출구 2분거리)
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
탑크리에듀(구로디지털단지역3번출구 2분거리)
(C#,멀티쓰레드강좌)쓰레드, STA, MTA개요, 간단한 멀티쓰레드 예제_닷넷,C#,WPF,자마린실무강좌
탑크리에듀(구로디지털단지역3번출구 2분거리)
[국비지원교육/재직자/실업자환급교육/IT실무학원추천/스프링교육추천]#5.스프링프레임워크 & 마이바티스 (Spring Framework, M...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PHP 7의 새로운 특징과 기능 요약
정아 손
자바와 사용하기2
destinycs
헷갈리는 자바스크립트 정리
은숙 이
What's hot
(20)
PDF
스프링컨트롤러예외처리,@ExceptionHandler, @ControllerAdvice
탑크리에듀(구로디지털단지역3번출구 2분거리)
PPTX
Easy gameserver
진상 문
PDF
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
PPT
Servlet3
Sukjin Yun
PPTX
Servlet Architecture
JU Chae
PDF
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - OkHttp
NAVER D2
PDF
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
JavaScript Patterns - Chapter 3. Literals and Constructors
Hyuncheol Jeon
PDF
자료구조 복습 및 트리기초
Lee Geonhee
PPT
Xunittestpatternchapter11
duaa83
PDF
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
자바모델 클래스에 날개를달자_롬복(Lombok)
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PPTX
One-day-codelab
WebFrameworks
PDF
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PPTX
ECMAScript 6의 새로운 것들!
WooYoung Cho
PDF
Spring Boot 2
경륜 이
PPTX
스파르탄Js in sidejs4
Jin-Hyun Park
PDF
Spring Boot 1
경륜 이
PDF
#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
탑크리에듀(구로디지털단지역3번출구 2분거리)
스프링컨트롤러예외처리,@ExceptionHandler, @ControllerAdvice
탑크리에듀(구로디지털단지역3번출구 2분거리)
Easy gameserver
진상 문
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
Servlet3
Sukjin Yun
Servlet Architecture
JU Chae
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - OkHttp
NAVER D2
(국비지원/실업자교육/재직자교육/스프링교육/마이바티스교육추천)#13.스프링프레임워크 & 마이바티스 (Spring Framework, MyB...
탑크리에듀(구로디지털단지역3번출구 2분거리)
JavaScript Patterns - Chapter 3. Literals and Constructors
Hyuncheol Jeon
자료구조 복습 및 트리기초
Lee Geonhee
Xunittestpatternchapter11
duaa83
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
자바모델 클래스에 날개를달자_롬복(Lombok)
탑크리에듀(구로디지털단지역3번출구 2분거리)
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
One-day-codelab
WebFrameworks
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
ECMAScript 6의 새로운 것들!
WooYoung Cho
Spring Boot 2
경륜 이
스파르탄Js in sidejs4
Jin-Hyun Park
Spring Boot 1
경륜 이
#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
탑크리에듀(구로디지털단지역3번출구 2분거리)
Ad
Similar to Servlet jsp 13장
(20)
PPTX
4-1. javascript
JinKyoungHeo
PPTX
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Javajigi Jaesung
PPTX
E government framework
HyungKuIm
PDF
Start IoT with JavaScript - 6.함수
Park Jonggun
PDF
스프링 3.0 & RESTful
JavaCommunity.Org
KEY
Catalyst Framework 살펴보기
corund
PDF
[15]Android Kotlin을 통한 개발 전략
NAVER Engineering
PDF
[오픈소스컨설팅]Spring MVC
Ji-Woong Choi
PPTX
[112]rest에서 graph ql과 relay로 갈아타기 이정우
NAVER D2
PPTX
[스프링 스터디 3일차] @MVC
AnselmKim
KEY
vine webdev
dcfc1997
PDF
okspring3x
Kenu, GwangNam Heo
PPTX
Pinpoint spring_camp 2015
Woonduk-Kang
PPTX
제2회 한글형태소분석기 기술 세니마 발표(solr 활용 입문) by 김지훈
jihoon kim
PDF
Jsp convert to Servlet
JU Chae
PPTX
HTTP web server 구현
Javajigi Jaesung
PDF
[Study]HeadFirst JSP&servlet chapter5
Hyeonseok Yang
PDF
Ksug2015 jpa4 객체지향쿼리
Younghan Kim
PDF
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
PDF
MVVM Pattern for Android
taeinkim6
4-1. javascript
JinKyoungHeo
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Javajigi Jaesung
E government framework
HyungKuIm
Start IoT with JavaScript - 6.함수
Park Jonggun
스프링 3.0 & RESTful
JavaCommunity.Org
Catalyst Framework 살펴보기
corund
[15]Android Kotlin을 통한 개발 전략
NAVER Engineering
[오픈소스컨설팅]Spring MVC
Ji-Woong Choi
[112]rest에서 graph ql과 relay로 갈아타기 이정우
NAVER D2
[스프링 스터디 3일차] @MVC
AnselmKim
vine webdev
dcfc1997
okspring3x
Kenu, GwangNam Heo
Pinpoint spring_camp 2015
Woonduk-Kang
제2회 한글형태소분석기 기술 세니마 발표(solr 활용 입문) by 김지훈
jihoon kim
Jsp convert to Servlet
JU Chae
HTTP web server 구현
Javajigi Jaesung
[Study]HeadFirst JSP&servlet chapter5
Hyeonseok Yang
Ksug2015 jpa4 객체지향쿼리
Younghan Kim
[215]네이버콘텐츠통계서비스소개 김기영
NAVER D2
MVVM Pattern for Android
taeinkim6
Ad
Servlet jsp 13장
1.
필터와 래퍼 Servlet&JSP 13장
2.
구현은 다 했는데… •
자꾸만 요구사항이 변한다. • 이번에는 모든 사용자에 대해서 정보를 추적하라고… • 어떻게?
3.
구현 변화 • 많고
많은 서블릿 정보를 다 수정할 수 있겠지 • 너무 귀찮다. • 어떻게 하지?
4.
필터 • 자바 컴포넌트 •
서블릿으로 요청이 넘어가기 전에 요청을 가로채거나 • 서블릿에서 뷰로 응답이 넘어가기 전에 응답을 가로채거나
5.
설정 • 모듈식으로 DD에
설정한다. <filter> <filter-name>BeerReq</filter-name> <filter-class>com.example.web.BeerReqFilter</filter- class> <init-param> <param-name>LogFileName</param-name> <param-value>UserLog.txt</param-value> </init-param> </filter> 얘는 없어도 됨
6.
URL과 필터 매핑 <filter-mapping> <filter-name>BeerReq</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> 얘가
앞에 filter-name 하고 같아야 함
7.
서블릿 이름과 필터
매핑 ! <filter-mapping> <filter-name>BeerReq</filter-name> <servlet-name>AdviceServlet</servlet-name> </filter-mapping> 얘가 앞에 filter-name 하고 같아야 함
8.
요청 디스패쳐로는? ! <filter-mapping> <filter-name>BeerReq</filter-name> <url-pattern>*.do</url-pattern> <dispatcher>REQUEST</dispatcher> <— REQ
—> <dispatcher>INCLUDE</dispatcher> <— INC —> <dispatcher>FORWARD</dispatcher> <— FOR —> </filter-mapping>
9.
Filter 실행 순서 •
URL -> servlet-name 순으로 • 디테일 한 것부터 매칭됨
10.
필터를 만들자 package com.example.web; ! import
java.io.IOException; ! import javax.servlet.*; import javax.servlet.http.HttpServletRequest; ! public class BearRequestFilter implements Filter{ private FilterConfig fc; public void init(FilterConfig config) throws ServletException { this.fc = config; } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { HttpServletRequest httpReq = (HttpServletRequest) req; String name = httpReq.getRemoteUser(); if(name != null) { fc.getServletContext().log("User " + name + "is updating"); } chain.doFilter(req, resp); } public void destroy() { } }
11.
응답 필터 • 이전
것이 요청 필터임 • 필터는 Request를 가로챌 수도 있지만 Response를 가 로챌 수도 있음 • doFilter 메소드 이후에 response를 가로채는 로직을 사 용할 수 있음
12.
Is it OK? •
출력은 필터를 기다려주지 않고 떠나가버림림 • 그러므로 doFilter 이후에 Response를 낚아채는 코드를 작성해도 이미 출력해버림 • 그럼 어떻게?
13.
Servlet Wrapper • HttpsServletResponse를
직접 구현하는건 무리 • Wrapper 클래스를 구현함 • Wrapper 클래스는 원래 response객체를 wrapping해 서, 들어오는 요청을 이 객체로 위임함 • ServletRequestWrapper/ HttpServletRequestWrapper/ ServletResponseWrapper/ HttpServletResponseWrapper
14.
Wrapper public void doFilter(ServletRequest
req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { HttpServletRequest httpReq = (HttpServletRequest) req; String name = httpReq.getRemoteUser(); if(name != null) { fc.getServletContext().log("User " + name + "is updating"); } CompressionResponseWrapper wrappedResp = new CompressionResponseWrapper(response); chain.doFilter(req, wrappedResps); }
15.
Compression… public class CompressionResponseWrapper
extends HttpServletResponseWrapper{ @Override public ServletOutputStream getOutputStream() throws IOException { return super.getOutputStream(); } } ! 이 클래스 내에서 재정의 할 함수들을 재정의하면 됨
Download