JAVA 8 번역 사이트 : http://insukcho.blogspot.kr/
0714.zip
0715-우편번호찾기.zip
0716-csv,xml 불러오기.zip
0717-Jason.zip
0721-파라미터넘기기.zip
Ajax
1. Ajax 방식
1) Asynchronus JavaScript And Xml
2) 기존방식
a. Web Server 가 Web Browser 를 통해 Request 된다.
b. Web Serve 는 JSP/PHP/ASP 등의 서버측 기술을 이용해서 사용자의 request 를 처리한다.
c. 처리 결과를 HTML 문서로 생성해서 Web Server 는 Web Browser 에게 Response 한다.
d. Web Server 로 부터 Response 를 받은 Web Browser 는 HTML 코드를 분석한 뒤, 다시 화면에 Rendering 한다.
3) Ajax 방식
a. ActiveX 나 Browser 의 Plug-in 기술을 사용하지 않는다.
b. 사용자에게 즉각적인 반응과 Refresh 를 하지 않고도 보다 풍부한(Rich) UI 를 제공
c. 특정 브라우저에 종속적인 기술을 사용하지 않는다.
2. 필요한 기술들
1) XMLHttpRequest : Web Server 와 통신한다. 사용자의 요청을 서버에 전달하고, 웹 서버로 부터 받은 결과를 사용자(웹 브라우저)에 전달. XHR
2) DOM : 문서의 구조, 폼 등의 정보, 화면의 동적 구성
3) CSS : 웹 문서의 스타일
4) JavaScript : 사용자의 이벤트 처리, 서버전송, 서버로 부터의 응답을 DOM 이나 CSS 에게 전달
5) XML, JSON : 서버로 부터 전달되는 데이터 포맷
3. 작성 순서
1) 사용자가 이벤트를 발생하면 JavaScript 는 DOM 을 사용해서 사용자가 사용하는 객체에 대한 정보를 얻고, XHR 객체를 생성해서 서버에 요청을 전달한다.
2) 웹서버에서는 클라이언트의 요청을 처리한다.
3) 웹 서버는 처리결과를 단순 텍스트, XML , 그리고 JSON 형식으로 변환해서 발송
4) 웹 브라우저는 서버로부터 전송된 텍스트 형식의 데이터를 XHR 이 수신하여 JavaScript 에게 알리고, 그 응답을 DOM 이나 CSS를 이용해서 화면에 렌더링한다.
4. Ajax 방식과 기존 방식의 차이점
1) Web Browser가 아니라 XHR 객체가 웹 서버와 통신한다.
2) 웹 서버의 결과가 HTML 형식이 아니라, 단순 텍스트나 CSV, XML , JSON 형식이다.
3) page 의 이동이 아닌 결과를 화면에 반영한다.
XMLHttpRequest Object
1. XHR 을 지원하는 주요 브라우저 버전
1) MSIE 5.0+
2) Safari 1.2
3) FF 1.0 +
4) Opera 8+
5) Netscape7
6) Konqueror 3+
2. XHR 프로그래밍 순서
1) XHR 객체 생성하기
2) 웹 서버에 요청 전송하기
3) 웹 서버로부터 도착한 응답 처리하기
3. XHR 객체 생성하기
1)MSIE 6 이하버전용 new ActiveXObject("Microsoft.XMLHTTP")
2)MSIE 6, 7 버전용 new ActiveXObject("Msxml2.XMLHTTP");
3)MSIE 8+, 비 MS 브라우저용 new XMLHttpRequest();
4. 웹 서버에 요청 전송하기
1) open(method, url, 동기/비동기여부)
a. method : get, post
b. url : WAS page 경로(jsp/php/asp)
c. 동기/비동기여부 : true(비동기, 기본값), false(동기)
2) send() : WAS 에 요청 전송하기
a. GET 방식요청
xmlObj.open("get", "test.jsp?id=javaexpert&passwd=123456", true)
xmlObj.send("") or xmlObj.send(null);
b. POST 방식 요청
xmlObj.open("post", "test.jsp", true);
xmlObj.send("id=javaexpert&passwd=123456");
5. 서버 응답 처리하기
1) onreadystatechange : 웹 서버로부터 응답(response)가 도착하면 특정한 JavaScript 함수를 호출하는 기능의 property
6. readyState property
1) 0 : UNINITIALIZED : 객체가 생성되고 아직 초기화되지 않은 상태(open() 호출전)
2) 1 : LOADING : open () 후 send() 전
3) 2 : LOADED : send() 후, 서버로 부터 아직 데이터와 헤더가 도착하지 않은 상태
4) 3 : INTERACTIVE : 데이터의 일부만 수신한 상태
5) 4 : COMPLETED : 서버로부터 모든 데이터가 완전히 수신 완료된 상태
7. status property
1) 서버로부터의 응답 상태 코드
200, 404, 405, 500
2) statusText : 응답코드의 스트링
8. 서버로 부터 응답받은 데이터의 형식
1) 단순텍스트 : responseText
2) CSV : responseText
3) JSON : responseText
4) XML : responseXML
9. 동기식과 비동기식의 차이
1) open() 의 마지막 파라미터로 결정
2) true : 비동기방식(기본값)
false : 동기방식
3) 비동기식 : send() 호출한뒤, 바로 다음의 코드가 실행되는 것을 의미
4) 동기식 : send() 호출한 뒤, 서버와의 통신이 완전히 완료된 후, 다른 메소드를 호출한다는 의미
10. 서버로 한글 보내기
1) 클라이언트 : encodeURIComponent() 함수 사용
2) 서버 : new String(getBytes("ISO8859_1"), "utf-8")