📝 JSP
🖥️ 1. 정적 / 동적 페이지
1-1. 정적 페이지
- image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들을 의미한다.
- 웹 서버에서 요청에 알맞은 파일을 반환하며, 항상 동일한 페이지를 반환한다. (말 그대로 정적인 콘텐츠)
1-2. 동적 페이지
- 들어온 요청에 맞게 동적으로 만들어진 컨텐츠를 의미한다.
- 데이터베이스, 서버 내 로직 등을 활용해 만들어진 컨텐츠를 반환한다.
🖥️ 2. 서블릿 (Servlet)
WebServer
에서 HTTP 요청
을 받아 Static Contents를 제공하는 서버
- HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스하는 기능을 담당한다.
- 데이터베이스 접속 기능, 여러개의 트랜잭션 관리 등 수행
- 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술
- 서블릿이란, 자바를 사용하여 웹을 만들기 위해 필요한 기술
🖥️ 3. 요청순서
- 사용자(클라이언트)가 URL을 입력하면
HTTP Request
가 Servlet Container로 전송한다.
- 요청을 전송 받은 Servlet Container는
HTTPServletRequest
, HTTPServletResponse
객체를 생성한다.
web.xml
을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한 요청인지를 찾는다.
- 해당 Servlet에서 service 메소드를 호출한 후 클라이언트의 get, post 여부에 따라 doGet() 또는 doPost()를 호출한다.
- doGet() 또는 doPost() 메소드는 동적 페이지를 생성한 후 HTTPServletResponse 객체에 응답을 보낸다.
- 응답이 끝나면 HTTPServletRequest, HTTPServletResponse 두 객체를 소멸시킨다.