[js]데이터 처리 및 클라이언트 저장 방식(동기∙비동기 호출)

2024. 9. 23. 11:31·JAVACSCRIPT
목차
  1. 데이터 처리 및 클라이언트 저장 방식
  2. 웹서버와 클라이언트사이의 통신방식
  3. 동기호출
  4. 비동기호출
반응형


db서버(sql)의 데이터를 꺼내서 아래 파일들로 가공한 후에 클라이언트(ex.chrome) 컴퓨터에 어떻게 저장할것인가/?

이때 가공할때 java//jsp/spring에서 가공하는데 이때 이용되는 서버가 was서버
오라클의데이터를 가지고와서 자바가 바꾸고 html/css/javascript/png/mp4에 넣어줌
웹서버(text(csv),html,xml,json)을 html로 많이 바꿈

데이터 처리 및 클라이언트 저장 방식

DB 서버에서 데이터를 가져와 WAS 서버에서 가공한 후, 웹서버를 통해 클라이언트에 저장한다.
이때, Java, JSP, Spring 등의 기술을 활용하여 데이터를 가공하고, 다양한 형식(HTML/CSS, JavaScript, PNG, MP4)으로 변환하여 클라이언트에 전달한다.
 

데이터 흐름

  1. DB 서버:
  2. Oracle 데이터베이스에서 SQL 쿼리를 통해 필요한 데이터를 조회한다. 이 단계에서는 데이터베이스의 테이블과 요소들의 관계를 이해하고, 필요한 필드를 선택하는 것이 중요하다.
  3. WAS 서버:
  4. Tomcat을 통해 Java/JSP/Spring으로 데이터를 가공한다. 가공 과정에서는 데이터를 변환하거나 필터링하고, 필요한 경우 다른 서비스와 통신하여 데이터를 보완한다.
  5. 웹서버:
  6. 가공된 데이터를 다양한 형식으로 변환하여 클라이언트에 전송한다. 이 과정에서 HTML, CSV, XML, JSON 등 다양한 포맷으로 데이터를 변환할 수 있다.
  7. 클라이언트:
  8. Chrome 브라우저에서 데이터가 수신되고, 이를 기반으로 웹 페이지가 렌더링된다. 필요에 따라 사용자는 데이터를 파일 형식으로 저장할 수 있다.
db 서버~>was서버~>웹서버~>클라이언트
sqltomcat(가상서버) 브라우저(chrome)
Oracle,
MySQL  
java/jsp/spring text(csv), html, xml, json, .css, .js, .png, .mp4javascript, html/css, .png, .mp4

 

웹서버와 클라이언트사이의 통신방식

통신방식
( data 를 주고받는 방식 )
html js5 jquerynode.js js6
동기호출( synchronous )<a>, <form>location.href=" " $.ajax()axios()fetch() + ...
비동기 호출 ( asynchronous ) XHR: 
XMLHttpRequest() 객체
$.ajax(), $.get(), $.post(), $.load(), $.getJSON()axios()fetch()
라이브러리jQuery, Ext.js, Angular.js, React.js, Vue.js, Svelte 

동기호출

동기 호출 방식에서는 클라이언트가 서버에 요청을 보내면, 서버가 응답을 반환할 때까지 클라이언트는 대기한다.
페이지 전부가 변경된다.

비동기호출

:페이지 이동하지 않고 서버의 data(ex.oracle)를 받아와서 페이지의 일부분만 바꾸는 기술.
☕클라이언트가 서버에 요청을 보내고, 서버의 응답을 기다리지 않고 다른 작업을 계속할 수 있다
 ex)회원정보 중복확인



📍예제(ajax)


      
const btnGetDataEl = document.querySelector('#btnGetData');
const div1El = document.querySelector('#div1');
btnGetDataEl.addEventListener('click', function() {
const xhr = new XMLHttpRequest();
let loc='data/data.xml'
xhr.open('GET', loc, false)
xhr.send();
let result=xhr.responseText;
alert(result);
div1El.innerHTML=result;
})
data.xml
0.00MB


      
const xhr = new XMLHttpRequest();

1.xhr 객체를 준비한다.



      
xhr.open('GET', loc, false)

2.요청을 준비한다: get방식
false:동기 방식 호출 - data가 도착할 때까지 기다린다.
true:비동기 방식 호출
호출 이후에 다른 작업을 하다가 data가 도착하면 응답(data)을 처리

Request Method : GET


      
xhr.send();

3.호출한다.

통신 상태를 체크 - 비동기 방식은 이벤트(onreadystatechange, 준비상태) 사용
통신의 상태를 감시
0: new XMLHttpRequest();
1: open
2: send;
3: 첫번째 data가 도착하기 시작했다.
4: 모든 data 가 도착했다
ex) xhr.readyState==4 : 모든 데이터가 로드되었음
ex) xhr.status==200 : 요청이 성공적으로 완료되었음


      
let result=xhr.responseText;
div1El.innerHTML=result;

4.도착한 data를 처리한다.

반응형

'JAVACSCRIPT' 카테고리의 다른 글

[jquery]비동기호출 - $.get()  (0) 2024.09.25
[jquery] ajax()  (0) 2024.09.25
[json] json 사용하기  (0) 2024.09.21
[jquery]jquery 사용하기  (3) 2024.09.19
[js]request.getParameter  (0) 2024.09.18
  1. 데이터 처리 및 클라이언트 저장 방식
  2. 웹서버와 클라이언트사이의 통신방식
  3. 동기호출
  4. 비동기호출
'JAVACSCRIPT' 카테고리의 다른 글
  • [jquery]비동기호출 - $.get()
  • [jquery] ajax()
  • [json] json 사용하기
  • [jquery]jquery 사용하기
라텐느
라텐느
이제 막 개발을 시작한 초보가 개인공부를 하는 공간입니다.
  • 라텐느
    괴발개발
    라텐느
    • 개발자 (154)
      • HTML|CSS (14)
      • JAVA (29)
      • JAVACSCRIPT (15)
      • SQL (16)
      • 기타 (5)
      • JSP (2)
      • SPRING (13)
      • SPRING BOOT (6)
      • Git&GitHub (1)
      • 시행착오 (2)
      • 개발일지 (35)
        • GreenMiniProject1 (12)
        • GreenMiniProject2 (9)
        • GreenFinalProject (14)
      • Flutter (5)
      • 자격증 (0)
        • SQLD (1)
      • AWS (2)
      • Linux (1)
      • 자료구조&알고리즘 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 태그
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    개발자
    javascript
    부트캠프
    link
    일지
    태그
    오블완
    java
    SQL
    input
    JS
    링크
    CSS
    AJAX
    JQuery
    티스토리챌린지
    tag
    HTML
    db
    자기계발
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
라텐느
[js]데이터 처리 및 클라이언트 저장 방식(동기∙비동기 호출)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.