MY MEMO

[AJAX] AJAX와 Servlet 개념잡기 본문

STUDYING/WEB

[AJAX] AJAX와 Servlet 개념잡기

l_j_yeon 2017. 6. 13. 17:57

AJAX란?

 : AJAX란 비동기 JavaScript와 XML , 서버측 Scripts와 통신하기 위한 XMLHttpRequest객체를 사용,  서버측으로 다양한 형식(JSON, XML, HTML 및 일반 텍스트 형식 등)의 정보를 주고 받음,  AJAX의 강력한 특징은 페이지 전체를 리프레쉬 하지 않고서도 수행 되는 "비동기성", 이러한 비동기성을 통해 사용자의 Event가 있으면 전체 페이지가 아닌 일부분만을 업데이트 가능

출처 : https://developer.mozilla.org/ko/docs/AJAX/Getting_Started


장점


: 고속으로 화면 전환

: 서버 처리를 기다리지 않고 비동기 요청

: 수신하는 데이터 양을 줄이고 client에게 처리 위임 가능


단점


: Ajax를 사용할 수 없는 browser가 존재

: httpclient기능이 한정

: 페이지 이동없는 통신으로 인한 보안문제

: 지원하는 charset이 한정

: script로 작성 -> debugging이 용이하지 않다

: 요청이 남발하면 서버에 부하 ↑

: 동일-출처 정책으로인해 다른 도메인과는 통신이 불가능


Servlet이란?


 : 클라이언트의 요구를 받아 그에 대한 처리를 한 후, 결과를 되돌려주는 서버 모듈

 : Servlet은 웹에서 JAVA 프로그래밍을 구현하기 위해 탄생

 : JAVA 로 구현된 CGI(Common Gateway Interface)

 : HTTP protocol 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속하여 개발된다.

 : HTML 변경시 Servlet을 재컴파일 해야 하는 단점

 : 웹 애플리케이션 확장이 용이하고 플랫폼에 독립적인 개발이 가능


Servlet Container란?

 : Servlet은 Container에 의해서 실행되고, 관리



서블릿 컨테이너(Servlet Container)

 - 서블릿 구조에서의 가장 큰 특징.

 - 서블릿을 서버에서 실행하기 위한 서버 프로그램. 

   웹 서버는 서블릿 자체를 실행하지 못하므로 JVM을 내장한 컨테이너라는 서블릿 실행환경이 필요하다. 


동작 과정

1) 웹 서버는 클라이언트 요청을 컨테이너로 전달한다. 컨테이너는 서블릿이 메모리에 있는지 확인하고 없을시

   클라이언트 요청을 처리할 스레드를 생성해서 처리한다.

2) 서블릿은 JDBC를 이용해 데이터베이스에 접근할 수 있고, 별도로 제작된 자바 클래스를 통해 다양한 기능을 구현한다.

3) 서블릿에서 수행된 결과는 HTML 형식으로 클라이언트에 전달된다.


출처: http://unabated.tistory.com/entry/서블릿이란 [랄라라]

Comments