SlideShare a Scribd company logo
CODE SQUAD - ROACH
SPRINGINTERCEPTOR
- Servlet 이 생긴 이유


- Spring 이 Servlet 을 발전시켜나간 과정


- DispatcherServlet


- Spring Request Life Cycle


- Interceptor


- 실습 진행


- Q&A


- 종료
목차
- 웹 서버를 운용하기 위해서는 기본적으로 Client 의 요청을 정상적으로 처리(Process) 해준 뒤, 알맞은
RESPONSE 를 전달해주어야 한다.
WEBSERVER?
PROCESS HTTP RESPONSE
HTTP REQUEST
- 그래서 중간에 SERVLET 이라는 일종의 요청을 분석하는 프로세스를 둔뒤에, 해당 요청을 분석하여,
알맞은 PROCESS 로 처리할 수 있도록 도와줍니다.
SERVLET
HTTP REQUEST SERVLET PROCESS HTTP RESPONSE
- 기존에 존재했던 SERVLET 구조는 아래 그림과 비슷했습니다.
ORIGINALSERVLET
HTTP
REQUEST
SERVLET CONTROLLER
HTTP
RESPONSE
HTTP
REQUEST
SERVLET CONTROLLER
HTTP
REQUEST
SERVLET CONTROLLER
1
2
3
SERVLET
HTTP
RESPONSE
SERVLET
HTTP
RESPONSE
SERVLET
- 아래와 같이 XML 이 URL 하나당 Servlet 을 Mapping 해줘야 한다는 단점이 있었습니다.


- 어플리케이션이 복잡해질수록 코드의 길이는 점검 길어졌을 겁니다.


-
SERVLETMAPPINGXML
- 그래서 위와 같은 상황을 타파하고자, Servlet 하나에서 알맞은 Controller 를 찾는 방식을 택하게 됩니다.
FRONTCONTROLLERSERVLET
HTTP
REQUEST
CONTROLLER
HTTP
REQUEST
FRONT CONTROLLER


SERVLET
CONTROLLER
HTTP
REQUEST
CONTROLLER
1
2
3
Dispatch
Dispatch
Dispatch
- 응답 방식도 아래와 같습니다.
RESPONSE
HTTP


RESPONSE
CONTROLLER
HTTP
RESPONSE
FRONT CONTROLLER


SERVLET
CONTROLLER
HTTP
RESPONSE
CONTROLLER
1
2
3
- 위에서 우리가 보았던 FRONT COTROLLER SERVLET 을 SPRING 은 DispatcherServlet 이라고
명명합니다. 🎉


- Dispatcher servlet 은 알맞게 요청을 처리해주는 controller 를 찾기 위함 그리고 알맞은 응답을 하
기 위해서 몇가지 전략을 설정합니다.
DISPATCHERSERVLET
INTERCEPTOR
- 아래 그림을 보면 우리가 CAN INTERCEPT 부분에서 뭔가 가로채서 PRE-PROCESS 를 진행하고
CONTROLLER 로 넘길 수 있다는 생각을 해볼수 있습니다.
HTTP
REQUEST
CONTROLLER
HTTP
REQUEST
FRONT CONTROLLER


SERVLET
CONTROLLER
HTTP
REQUEST
CONTROLLER
1
2
3
CAN INTERCEPT!!
CAN INTERCEPT!!
CAN
INTERCEPT!!
SPRINGREQUESTLIFECYCLE
- 인터셉터는 11 페이지에서 본 그림과 같이, CONTROLLER 를 가기전 CONTROLLER 에서 처리가 되
고 난 후에 개입이 가능합니다. 어떻게 보면 Handler AOP 라고 볼 수 있습니다.
INTERCEPTOR
HTTP
REQUEST CONTROLLER
HTTP
REQUEST
FRONT CONTROLLER


SERVLET
CONTROLLER
HTTP
REQUEST
CONTROLLER
1
2
3
if exist interceptor
if exist
interceptor
if exist interceptor
INTERCEPTOR
INTERCEPTOR
INTERCEPTOR
pre-processing
pre-processing
pre-processing
- Spring docs 공식 문서에 의하면 INTERCEPTOR 를 사용하기 위해서는 HandlerInterceptor 를 반
드시 implements 해야 한다고 합니다.


- interceptor 는 메소드를 아래와 같이 보유하고 있습니다.


- preHandle(..) : Before the actual handler is run


- postHandle(..) : After the Handler is run


- afterCompletion(..) : After the Complete request has
fi
nished


- 백문이 불여일타(김영한님의 말씀) 라는 말이 있듯이 이제 실습과정으로 가봅시다!
HOWTOUSEINTERCEPTORINSPRINGBOOT!
실습진행
- Filter


- Spring MVC VS Spring Boot


- Filter 에서 예외가 발생했을때 VS Interceptor 에서 예외가 발생했을때
더공부하면좋은것들
Q&A
감사합니다👏

More Related Content

PDF
Semantic Versioning
PPTX
Mule esb How to convert from Json to Xml in 5 minutes
PPTX
Puppet At Twitter - Puppet Camp Silicon Valley
PDF
Speed up rspec tests - part 1
PPTX
Put kajakken på hylden - og få sexede windows services
PPTX
Initialize database in Mule part2
PPTX
UNIT-3 Servlet
PDF
AjaxAnywhere (Reloaded) library
Semantic Versioning
Mule esb How to convert from Json to Xml in 5 minutes
Puppet At Twitter - Puppet Camp Silicon Valley
Speed up rspec tests - part 1
Put kajakken på hylden - og få sexede windows services
Initialize database in Mule part2
UNIT-3 Servlet
AjaxAnywhere (Reloaded) library

Similar to 테크톡1 by roach: Spring Interceptor (20)

PDF
Caching the uncacheable in Varnish - SREday London 2024.pdf
PPTX
201904 websocket
PPTX
CSE Rover Technology seminar topic PPT.pptx
PPTX
java Servlet technology
PDF
An introduction to HTTP/2 & Service Workers for SEOs
PDF
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
PPT
Basics Of Servlet
PDF
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
PPT
PPT
Server-side Technologies in Java
PPT
Java Servlets
PPT
An Introduction To Java Web Technology
PPTX
J servlets
PPT
Web Tech Java Servlet Update1
DOCX
Servlet
PDF
How to debug slow lambda response times
DOCX
J2EE-assignment
PPTX
ADP - Chapter 2 Exploring the java Servlet Technology
DOCX
TY.BSc.IT Java QB U3
Caching the uncacheable in Varnish - SREday London 2024.pdf
201904 websocket
CSE Rover Technology seminar topic PPT.pptx
java Servlet technology
An introduction to HTTP/2 & Service Workers for SEOs
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
Basics Of Servlet
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Server-side Technologies in Java
Java Servlets
An Introduction To Java Web Technology
J servlets
Web Tech Java Servlet Update1
Servlet
How to debug slow lambda response times
J2EE-assignment
ADP - Chapter 2 Exploring the java Servlet Technology
TY.BSc.IT Java QB U3
Ad

Recently uploaded (20)

PPTX
Institutional Correction lecture only . . .
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
Basic Mud Logging Guide for educational purpose
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Cell Structure & Organelles in detailed.
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Institutional Correction lecture only . . .
VCE English Exam - Section C Student Revision Booklet
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Computing-Curriculum for Schools in Ghana
Basic Mud Logging Guide for educational purpose
Supply Chain Operations Speaking Notes -ICLT Program
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Anesthesia in Laparoscopic Surgery in India
Cell Structure & Organelles in detailed.
GDM (1) (1).pptx small presentation for students
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
O7-L3 Supply Chain Operations - ICLT Program
FourierSeries-QuestionsWithAnswers(Part-A).pdf
TR - Agricultural Crops Production NC III.pdf
Cell Types and Its function , kingdom of life
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Ad

테크톡1 by roach: Spring Interceptor

  • 1. CODE SQUAD - ROACH SPRINGINTERCEPTOR
  • 2. - Servlet 이 생긴 이유 - Spring 이 Servlet 을 발전시켜나간 과정 - DispatcherServlet - Spring Request Life Cycle - Interceptor - 실습 진행 - Q&A - 종료 목차
  • 3. - 웹 서버를 운용하기 위해서는 기본적으로 Client 의 요청을 정상적으로 처리(Process) 해준 뒤, 알맞은 RESPONSE 를 전달해주어야 한다. WEBSERVER? PROCESS HTTP RESPONSE HTTP REQUEST
  • 4. - 그래서 중간에 SERVLET 이라는 일종의 요청을 분석하는 프로세스를 둔뒤에, 해당 요청을 분석하여, 알맞은 PROCESS 로 처리할 수 있도록 도와줍니다. SERVLET HTTP REQUEST SERVLET PROCESS HTTP RESPONSE
  • 5. - 기존에 존재했던 SERVLET 구조는 아래 그림과 비슷했습니다. ORIGINALSERVLET HTTP REQUEST SERVLET CONTROLLER HTTP RESPONSE HTTP REQUEST SERVLET CONTROLLER HTTP REQUEST SERVLET CONTROLLER 1 2 3 SERVLET HTTP RESPONSE SERVLET HTTP RESPONSE SERVLET
  • 6. - 아래와 같이 XML 이 URL 하나당 Servlet 을 Mapping 해줘야 한다는 단점이 있었습니다. - 어플리케이션이 복잡해질수록 코드의 길이는 점검 길어졌을 겁니다. - SERVLETMAPPINGXML
  • 7. - 그래서 위와 같은 상황을 타파하고자, Servlet 하나에서 알맞은 Controller 를 찾는 방식을 택하게 됩니다. FRONTCONTROLLERSERVLET HTTP REQUEST CONTROLLER HTTP REQUEST FRONT CONTROLLER SERVLET CONTROLLER HTTP REQUEST CONTROLLER 1 2 3 Dispatch Dispatch Dispatch
  • 8. - 응답 방식도 아래와 같습니다. RESPONSE HTTP RESPONSE CONTROLLER HTTP RESPONSE FRONT CONTROLLER SERVLET CONTROLLER HTTP RESPONSE CONTROLLER 1 2 3
  • 9. - 위에서 우리가 보았던 FRONT COTROLLER SERVLET 을 SPRING 은 DispatcherServlet 이라고 명명합니다. 🎉 - Dispatcher servlet 은 알맞게 요청을 처리해주는 controller 를 찾기 위함 그리고 알맞은 응답을 하 기 위해서 몇가지 전략을 설정합니다. DISPATCHERSERVLET
  • 10. INTERCEPTOR - 아래 그림을 보면 우리가 CAN INTERCEPT 부분에서 뭔가 가로채서 PRE-PROCESS 를 진행하고 CONTROLLER 로 넘길 수 있다는 생각을 해볼수 있습니다. HTTP REQUEST CONTROLLER HTTP REQUEST FRONT CONTROLLER SERVLET CONTROLLER HTTP REQUEST CONTROLLER 1 2 3 CAN INTERCEPT!! CAN INTERCEPT!! CAN INTERCEPT!!
  • 12. - 인터셉터는 11 페이지에서 본 그림과 같이, CONTROLLER 를 가기전 CONTROLLER 에서 처리가 되 고 난 후에 개입이 가능합니다. 어떻게 보면 Handler AOP 라고 볼 수 있습니다. INTERCEPTOR HTTP REQUEST CONTROLLER HTTP REQUEST FRONT CONTROLLER SERVLET CONTROLLER HTTP REQUEST CONTROLLER 1 2 3 if exist interceptor if exist interceptor if exist interceptor INTERCEPTOR INTERCEPTOR INTERCEPTOR pre-processing pre-processing pre-processing
  • 13. - Spring docs 공식 문서에 의하면 INTERCEPTOR 를 사용하기 위해서는 HandlerInterceptor 를 반 드시 implements 해야 한다고 합니다. - interceptor 는 메소드를 아래와 같이 보유하고 있습니다. - preHandle(..) : Before the actual handler is run - postHandle(..) : After the Handler is run - afterCompletion(..) : After the Complete request has fi nished - 백문이 불여일타(김영한님의 말씀) 라는 말이 있듯이 이제 실습과정으로 가봅시다! HOWTOUSEINTERCEPTORINSPRINGBOOT!
  • 15. - Filter - Spring MVC VS Spring Boot - Filter 에서 예외가 발생했을때 VS Interceptor 에서 예외가 발생했을때 더공부하면좋은것들
  • 16. Q&A