정적 컨텐츠 vs 동적 컨텐츠
정적 콘텐츠(static)는 변화가 없는 콘텐츠를 말합니다. 보통 HTML, CSS, JS와 같이 미리 서버에 저장해두고 서버가 요청을 받으면 그저 응답만 해주면 되는 것들로 구성되어 있습니다. 이것은 곧 어느 사용자에게든지 동일하게 결과값을 보여주게 됩니다.
동적 콘텐츠(dynamic)는 누가, 언제, 어떻게 서버에 요청했는지에 따라 결과값을 다르게 보여주는 형식입니다. 즉, 사용자가 맞춤형 콘텐츠를 제공할 수 있게 되는 것이죠. 예를 들면 유투브의 추천 영상이라던지, 이 콘텐츠를 제일 잘 활용하는 웹 서비스는 넷플릭스입니다.
왜 JSP가 필요할까?
웹 기반의 언어로 가장 먼저 개발된 HTML(HyperText Markup Language)는 텍스트 기반의 웹 문서 작성이나 정적인 데이터들을 처리하는 데에는 편하지만 동적인 데이터를 처리할 수는 없습니다. 따라서 이러한 한계점을 극복하기 위해 개발된 기술들이 CGI, ASP, PHP, JSP 등의 기술입니다.
JSP의 특징
- 강력한 이식성: "Write once, Run Anywhere"
- 서버 자원의 효율적인 사용: 프로세스 기반 X 스레드 기반 O
- 간편한 MVC 패턴 적용
- JSTL, 커스텀 태그 등을 이용한 개발 용이성
Servlet의 개요
-
서블릿 등장 배경:
-
1. 브라우저는 HTML 형식의 문서만을 표시가능
-
2. 동적인 웹 페이지의 표시의 한계
-
3. 웹 서버측에서 사용자의 요구에 따라 자동으로 생성된 HTML 형식의 페이지를 생산하는 기술이 개발됨. 그 중 자바 진영의 기술이 "Servlet"
-
-
서블릿이란?
서블릿은 단적으로 말하자면 웹 서버상에서 실행되는 자바의 클래스 파일 -> 자바의 모든 API 사용가능, 강력한 객체 지향성
-
서블릿 작동 방식
- 클라이언트가 요청(request) 보냄
- 웹 서버가 요청에 해당하는 서블릿 클래스 파일 실행
- 서블릿 클래스에서 요청을 처리해 결과물(HTML 형식의 페이지)을 생성
- 웹 서버가 그 페이지를 클라이언트에 전송
-
JSP와 Servlet
그렇다면 JSP를 사용하는데 서블릿이 필요한가? 라는 의문이 들 수도 있다. 사실 JSP로 요청이 전송되어 오면 컨테이너는 JSP 파일을 서블릿 형태의 자바 코드로 자동 변환한 후 서블릿의 라이프사이클을 거치면서 클라이언트의 요청을 처리해 준다. 결국 JSP에 대한 요청도 서블릿의 요청 처리 방식으로 처리해 주는 것이다.
참고:
JSP 2.3 & Servlet 3.1 교재
'웹 프로그래밍 > Servlet & JSP' 카테고리의 다른 글
웹 URL, 웹 애플리케이션 위치 및 구조, web.xml (0) | 2021.03.10 |
---|---|
웹 서버와 웹 애플리케이션 서버의 차이점 (0) | 2021.03.10 |
웹 문서(정적 컨텐츠, 동적 컨텐츠), 웹 애플리케이션, 웹 서비스 (0) | 2021.03.10 |
웹에서의 자바 기술 및 Servlet과 JSP의 차이점 (0) | 2021.03.10 |
HTTP 프로토콜 (0) | 2021.01.23 |
댓글