개발공부 일지
학원수업_53day [JSP,Servlet(20day) - AJAX 비동기적처리 (GET, POST)/ HandlerInterceptor ] 본문
학원수업_53day [JSP,Servlet(20day) - AJAX 비동기적처리 (GET, POST)/ HandlerInterceptor ]
짜몽- 2022. 10. 19. 09:28FrontControllerServlet HandlerMapping Controller
(요청 진입점,공통정책) (컨트롤러생성전담) 컨트롤러, 캡슐화
인코딩, 예외처리, 보안(인증체크), 데이터수집-타겟,마케팅
CheckLoginInterceptor → 인증이 필요한 세비스를 태생으로 비인증 상태일 경우 로그인 폼으로 이동
interceptor 는 세미프로젝트에서 제외한다.
* HnadlerInterceptor
(이후 spring 에서 수업할 내용, 이번에는 예습 차원에서 본다)
Front Controller Design Pattern 의 공통 정책 적용 효과를 확인한다.
개별 컨트롤러들에서 따로 인증체크 로직을 구현하는 중복 작업을 피하고
Front Controller 차원에서 별도의 HandlerInterceptor (ex-CheckLoginInterceptor) 생산성과 유지보수성을 향상시킨다
생산성 : 중복 작업을 하지 않아도 된다. 서비스 수가 증가 되어도 즉 컨트롤러가 늘어나도 추가 구현이 필요없다
유지보수성 : 인증 체크 로직이 업데이트시에 개별 컨트롤러들을 다 변경하는 것이 아니라
인증 체크 로직을 담당하는 Handler Interceptor 영역만 변경하면 된다
client -- FrontContrllerServlet - HandlerMapping (컨트롤러 객체 Factory) -- Controller
- HandlerInterceptor ( 인증체크)
CallBack 콜백함수란?
이름 그대로 나중에 호출되는 함수를 말한다.
콜백 함수는 코드를 통해 명시적으로 호출하는 함수가 아니라, 개발자는 단지 함수를 동록하기만 하고,
어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수를 말한다.
즉 콜백함수는 콜백함수라는 유니크한 문법적 특징을 가지고 있는 것이 아니라, 호출방식에 의한 구분이다.
콜백 함수는 일반적으로 다른 함수에 넘기거나 객체의 프로퍼티로 사용한다.
드물게는 배열에 넣어서 쓸 때도 있다.
항상 그런건 아니지만 보통의 콜백함수는 익명함수로 사용한다.
중요한 점은 콜백함수는 그냥 일반적인 함수이다.
우리는 비동기적 프로그래밍을 하기 위해서는, 비동기적으로 콜백함수를 호출하는 함수에게 비동기적으로 호출되기를 원하는 코드를 콜백함수에 담아서 전달해야 한다.

* Ajax *
비동기 자바스크립트 통신 - **페이지 로딩없이** 필요한 데이터 요청해서 응답 받는다
Asynchronous JavaScript And Xml
동기적 통신 - 클라이언트가 요청하면 서버가 응답할 때까지 대기
비동기적 통신 - 클라이언트가 요청, 클라이언트는 자신의 작업을 수행하다가 서버가 응답하면 업데이트
XML 과 JSON
- Ajax 통신시 사용하는 데이터 형식
구조화된 데이터 (상품리스트, 보유주식) ( 구조화된 데이터 : ArrayList, map 등) 를 송수신하기 위해 사용한다
2005~ 초기에는 xml로 주로 통신했으나 최근에는 JSON 으로 통신을 한다
JSON ( JavaScript Obejct Notation )
- 자바스크립트 객체 표기법
- Ajax 통신시 구조화된 데이터를 통신하는 용도로 사용된다
경량이고 높은 생산성이 장점이다
1. JSON 데이터는 이름과 값의 쌍으로 이루어진다
2. JSON 데이터는 쉼표(,)로 나열된다.
3. 객체(object)는 중괄호({})로 둘러쌓아 표현한다
4. 배열(array)은 대괄호([])로 둘러쌓아 표현한다.


'학원수업 > Web(HMTL,CSS,JSP,Servlet)' 카테고리의 다른 글
| 학원수업_55day [JSP,Servlet(22day) - FrontController, Ajax / JSON (0) | 2022.10.20 |
|---|---|
| 학원수업_54day [JSP,Servlet(21day) - JSON / Ajax (0) | 2022.10.19 |
| 학원수업_52day [JSP,Servlet(19day) - 회원가입 구현 / Interceptor / Ajax 기초 ] (0) | 2022.10.17 |
| 학원수업_51day [JSP,Servlet(18day) - 로그인,로그아웃, 회원 수정] (0) | 2022.10.14 |
| 학원수업_50day [JSP,Servlet(17day) - Front Controller 3 / Command Pattern] (0) | 2022.10.13 |