JSP (JavaServer Pages)
HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구
JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행
→ 생성된 데이터를 웹페이지와 함께 클라이언트로 응답
웹 어플리케이션 (Web Application)
웹에서 실행되는 응용프로그램, 인터넷에서 하는 여러 서비스를 총칭
사용자가 필요한 요청을 하고 서버에서는 이에 해당하는 요청을 수행한 뒤 요청한 데이터를 응답
웹 브라우저 (Web Browser)
클라이언트에서 요청을 하고 전달받은 페이지를 볼 수 있는 환경 (크롬, IE, ...)
웹 서버 (Web Server)
클라이언트로부터 요청받아 서버에서 리소스를 클라이언트에 전달
→ 주로 정적 콘텐츠를 담당
웹 애플리케이션 서버 (Web Application Server)
= WAS
서버 단에서 필요한 기능을 수행하고 그 결과를 웹서버에 전달
데이터베이스
서비스에 필요한 데이터를 보관, 갱신 등 관리
자바 서블릿 (Java Servlet)
웹 페이지를 동적으로 생성하기 위한 서버측 프로그램 : 서블릿
자바 언어 기반 서블릿
WAS 위에서 컴파일되고 동작함
JSP와 서블릿
- 하는 일은 동일함
- 서블릿 ≫ 자바 코드 내에 HTML 코드가 있음
- 읽고 쓰기가 불편
- 자바 코드로 구현, 컴파일, 배포
- JSP ≫ HTML 내부에 JAVA 소스코드가 들어감
- HTML, java, 특수 태그를 함께 사용할 수 있도록 하여 간편함
≫ JSP로 작성된 프로그램은 서버로 요청 시 서블릿(Servlet) 파일로 변환되어 JSP 태그를 분해하고 추출하여 순수한 HTML 파일을 변환함 !!
≫ Servlet + JSP 형태로 각각의 역할을 나누어 개발하는 방식
: JSP는 사용자에게 결과를 보여주는 View 역할 + Servlet은 사용자의 request를 받아 분석하고 비즈니스층과 통신하여 처리한 결과를 다시 사용자에게 응답하는 Controller의 역할
JSP 주요 특징
- Java 기반
- java 언어로 실행, Java Servlet의 확장된 형태로 동작
- 모든 jsp는 내부적으로 servlet으로 변환되어 실행됨
- 동적 웹 콘텐츠 생성
- html 코드에 동적으로 데이터를 삽입 or 요청에 따라 다른 html을 생성
- 태그 기반 문법 지원
- java 코드를 <% %> 태그 안에 삽입하거나
- JSTL(JavaServer Pages Standard Tag Library)을 사용하여 프로그래밍의 복잡성을 줄임
- MVC 패턴 지원
- JSP는 보통 View 역할, 컨트롤러(Controller)는 Servlet 또는 Spring 같은 프레임워크가 담당
동작 과정
- 클라이언트가 hello.jsp 요청
- JSP 컨테이너가 JSP 파일을 읽음
- Generate(변환) : JSP 컨테이너가 Servlet (.java) 파일을 생성함
- .java 파일은 .class 파일로 컴파일됨
- Execute(실행) : HTML 파일을 생성하여 JSP 컨테이너에 전달
- JSP는 HTTP 프로토콜을 통해 HTML 페이지를 클라이언트에게 전달
'JSP' 카테고리의 다른 글
jQuery를 이용한 AJAX (0) | 2024.12.02 |
---|---|
JSP 기본 문법 (0) | 2024.12.01 |