Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags more
Archives
Today
Total
관리 메뉴

개발공부 일지

학원수업_53day [JSP,Servlet(20day) - AJAX 비동기적처리 (GET, POST)/ HandlerInterceptor ] 본문

학원수업/Web(HMTL,CSS,JSP,Servlet)

학원수업_53day [JSP,Servlet(20day) - AJAX 비동기적처리 (GET, POST)/ HandlerInterceptor ]

짜몽- 2022. 10. 19. 09:28

FrontControllerServlet        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)은 대괄호([])로 둘러쌓아 표현한다.