목록웹프로그래밍 (48)
bdfgdfg
DOM(Document Object Model) DOM은 HTML요소, 그 요소의 속성들을 트리구조로 나타내며, 해당 DOM에 접근하여 조작할 수 있도록 API를 제공하는 인터페이스. -> 즉 JS언어를 이용하여 웹 페이지의 요소들에 접근해 조작할 수 있는 인터페이스라고 보면 된다. -> JS에서는 document객체를 이용하여 접근이 가능하다. DOM 요소에 접근하는 여러가지 방법 1. getElementByID - 특정 태그의 속성인 ID가 가지는 값을 기준으로 HTML 요소를 반환. (한개) let element = document.getElementById('idSelect'); console.log(element); 2. getElementsByClassName - 특정 태그들의 속성인 clas..
자바스크립트의 비동기 처리방식 자바스크립트는 기본적으로 싱글쓰레드기반의 언어. 그렇기에 비동기 작업을 요청하고, 작업이 완료되어 콜백함수등의 처리를 할 때 별도의 쓰레드가 등장해 작업을 처리하는게 아닌, 하나의 쓰레드가 모든 작업을 처리하게 된다. -> 요청한 비동기 작업자체는 외부에서 처리는 하지만 그 결과를 받고, 어떻게 처리할지는 자바스크립트의 쓰레드가 담당. -> 이는 동시성 문제를 고려하지 않아도 된다는 장점이 있음. -> 또한 자바스크립트에서 비동기방식의 처리는 새로고침없이 데이터를 읽어올 수 있음. Call Stack: 자바스크립트의 쓰레드가 가진 스택영역 Web API: 웹 브라우저에서 제공하는 API로 AJAX나 Timeout등의 비동기 작업을 실행 Task Queue: Callback ..
서블릿은 하나의 URL과 매핑해서 사용자의 요청에 대한 처리를 할 수 있다. 다만, 모든 요청에 대해 서블릿을 만들기에는 너무 많은 서블릿클래스와 유지보수가 어려워짐. 이럴때 MVC패턴을 적용한 FrontController 기법을 이용할 수 있다. - FrontController를 하나만 두고, 요청을 분기한다. a.jsp --> web.xml --> Front-Controller --> c.jsp ↑↓ Controller(~~~Action) ↑↓ DAO, DTO ↑↓ DB 하나의 FrontController에서 초기화 단계에 요청에 대한 URL을 Action(비즈니스 로직처리->모델영역)과 함께 묶어서 저장. -> 그렇기에 기본적으로 FrontController는 모든 요청을 우선 받아들임. 샘플 코드..
클라이언트-서버간의 데이터 송수신 기본적으로 클라이언트와 서버간의 데이터를 송신을 위해서는 내가 어떠한 형태의 데이터를 보내건 byte Array에 담아서 데이터를 송신해야한다. 이러한것을 직렬화(Serialization)이라고함. 반대로, 상대방측이 byteArray에 담긴 데이터를 보냈고, 이 byteArray가 어떤 형식이었다는것을 서로가 약속한다면 그것을 읽어들이는 측에서는 약속을 토대로 byteArray에 담긴 데이터를 해석하면 된다. 이를 역직렬화(Deserialization)이라고 한다. -> 그래서 프로토콜(protocol)이 중요하다. 서로가 데이터를 주고받을 때 어떻게 해석할래?가 주요관건 HTTP메시지도 마찬가치다. 웹 환경에서는 이 HTTP라는 프로토콜을 통해서 서로가 데이터를 해석..