웹 애플리케이션과 서블릿의 관계, 웹 애플리케이션 구동 과정, 서블릿 구동 과정, 서블릿 만들기
Table - DAO - Handler
Handler -> DAO -> Table
사용자 입력 -> DAO 를 사용해 처리 -> 사용자에게 결과 출력
Dao 는 데이터를 처리한다. 테이블 한 개에 대해 owner 를 갖지만 하나의 dao가 하나의 테이블에 대해 명령을 수행할 때 다른 테이블의 데이터를 가져오기 위해 viewer 가 될 수 있다.
1개의 dao만 owner가 되어야한다 -> 유지보수가 쉬워진다.
웹 애플리케이션과 서블릿의 관계
PMS <- 웹 애플리케이션
로그인, 로그아웃, 게시글 등록, 게시글 조회, 프로젝트 생성, 회원 변경
서블릿 = 작은 서비스 조각
웹 애플리케이션 구동 과정
HTTP Client (web browser) 1. 웹 서버에 요청 / 1. 웹 서버에 요청
HTTP Server (web server) -web application server 3.클라이언트에게 응답한다 / 2. 서블릿컨테이너에 요청 전달 / 6.클라이언트에게 응답한다
Application Server (Servlet Container) -web application server / 3. servlet 을 통해 작업을 실행한다 / 5. 웹 서버에 작업 결과 전달
HTML
css
Java Script
= static resource (콘텐트가 변하지 않는 자원) 실행x
클라이언트 쪽에서 실행하는 코드 = 작성하는 개발자를 프론트엔드 개발자(front-end developer) 로 지칭한다.
2.웹 서버가 읽는다
Servlet 4. 작업 수행 = HTML 생성
Servlet
Servlet
= dynamic resource (실행할 때 마다 콘텐트가 변할 수 있는 자원) 실행o
서버 쪽에서 실행하는 프로그램코드 (자바, sql) = 작성하는 개발자를 백엔드 개발자(back-end developer) 로 지칭한다.
서블릿 구동 과정
요청 전달 -> servlet container -> servlet
- 객체를 찾는다 -> 없다면 객체를 생성하여 init() 호출한다.
객체가 작업할 때 사용할 도구 준비 - service() 호출 -> 클라이언트가 요청한 작업을 수행
요청이 들어올 때 마다 이 작업을 수행한다.
서버 종료 또는 웹 애플리케이션 종료 -> servlet container -> servlet
- 생성한 모든 servlet 객체에 대해 destroy() 호출한다.
서블릿 만들기
HTML , css, JavaScript 의 역할
HTML - 화면에 출력할 내용을 구성
CSS - 콘텐트가 출력될 모양을 설정
JavaScript - 콘텐트의 동작 제어