AJAX
- Asynchronous JavaScript and XML 이란 용어로써 2005년 2월 제시 제임스 카렛이 처음 사용하면서 알려지게 되었음
- 서버로부터 데이터를 가져와 전체 페이지를 새로 고치지 않고 일부만 로드할 수 있게 하는 기법으로 비동기식 요청을 보내는데 필요한 기술을 말함
동기식/비동기식이란?
동기식은 서버와 클라이언트가 동시에 통신하여 프로세스를 수행 및 종료까지 같이함. 만약 서버에서 호출된 결과까지의 시간이 지연이 생길 경우 웹에서는 아무런 작동 없이 기다려야함. 새로운 콘텐츠를 추가, 불러오기 위해서는 페이지를 리로드 하거나 이동해야함.
이에 반해 비동기식은 페이지 리로딩 없이, 동기식의 서버요청 사이사이 추가적인 요청과 처리가 가능함.
- 실시간 검색어 로딩
- 검색어자동 완성
- 아이디 중복체크 등...
단점
- 한 페이지에 지속적으로 사용시 리소스가 계속 쌓여 페이지가 느려질 수 있다.
- 페이지내 복잡도가 기하급수적으로 증가, 에러 발생시 디버깅이 어려움
클라이언트와 서버의 동기식 처리

- 클라이언트와 서버가 서로를 기다려주면서 같이 가는 상태
- 요청/응답을 기다리는 대기상태가 발생한다
- 요청 응답 처리할 때마다 URL이 달라진다
- 지금까지 이렇게 만들어왔음
클라이언트와 서버의 비동기식 처리

- 요청에 대한 응답을 기다리지 않고 각자 업무를 처리
- URL창에 드러나지 않고 내부적으로 업무처리가 일어남
- 페이지 이동 없이 서버와 통신할 수 있다는 것이 가장 큰 장점이다
- 활용 사례

- 검색포탈에서 검색창에 검색어를 입력할 때마다 연관검색어를 실시간으로 보여줌

- 아이디 중복체크(아이디를 입력하자마자 서버와 통신해서 결과값을 보여줌). url변경 X

비동기 처리가 가능해지면서 응답 포멧이 단순 HTML이 아닌 다른 데이터 타입을 전달할 수 있게 되었다 (JSON,XML등)
다이나믹 웹프로젝트 설정 + 기본설정



지역서버 생성


지역서버 설정


-Duser.language=en -Duser.region=US

초기페이지 jsp 작성
