본문 바로가기

JSP

JSP(JavaServer Pages)란?

 

 

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 주요 특징
  1. Java 기반
    • java 언어로 실행, Java Servlet의 확장된 형태로 동작
    • 모든 jsp는 내부적으로 servlet으로 변환되어 실행됨
  2. 동적 웹 콘텐츠 생성
    • html 코드에 동적으로 데이터를 삽입 or 요청에 따라 다른 html을 생성
  3. 태그 기반 문법 지원
    • java 코드를 <% %> 태그 안에 삽입하거나
    • JSTL(JavaServer Pages Standard Tag Library)을 사용하여 프로그래밍의 복잡성을 줄임
  4. MVC 패턴 지원
    • JSP는 보통 View 역할, 컨트롤러(Controller)는 Servlet 또는 Spring 같은 프레임워크가 담당

 

동작 과정

  1. 클라이언트가 hello.jsp 요청
  2. JSP 컨테이너가 JSP 파일을 읽음
  3. Generate(변환) : JSP 컨테이너가 Servlet (.java) 파일을 생성함
  4. .java 파일은 .class 파일로 컴파일됨
  5. Execute(실행) : HTML 파일을 생성하여 JSP 컨테이너에 전달
  6. JSP는 HTTP 프로토콜을 통해 HTML 페이지를 클라이언트에게 전달

 

 

 

 

'JSP' 카테고리의 다른 글

jQuery를 이용한 AJAX  (0) 2024.12.02
JSP 기본 문법  (0) 2024.12.01