JSP (Java Server Pages)

dlrmawn·2023년 12월 13일

CS

목록 보기
6/7

JSP (Java Server Pages)

Java 기반의 서버 측 웹 프로그래밍 언어
JSP는 동적으로 웹 페이지를 생성하는 데 사용되며, HTML 코드 안에 Java 코드를 포함할 수 있습니다.
이를 통해 동적인 웹 페이지를 구축할 수 있습니다.


동적으로 웹 페이지를 생성하는 이유는 뭘까?

  1. 사용자 맞춤형 콘텐츠 제공: 사용자의 요구나 상황에 따라 맞춤형 콘텐츠 제공 가능.
  1. 실시간 업데이트: 데이터베이스나 외부 소스에서 정보를 가져와 실시간으로 업데이트 가능.
  1. 인터랙티브한 기능 제공: 사용자와의 상호작용에 응답하여 동적으로 변경되는 요소 제공.
  1. 다양한 디바이스 지원: 다양한 디바이스에 대응하여 동적으로 레이아웃을 조정 가능.
  1. 개인화와 추천 시스템: 사용자의 행동 기반으로 개인화된 추천이나 콘텐츠 제공 가능.
  1. 보안 및 권한 관리: 로그인 상태, 사용자의 역할 및 권한에 따라 다르게 콘텐츠 제공 가능.



JSP를 사용하는 이유?

  1. 동적 콘텐츠 생성: 서버 측에서 Java 코드를 사용하여 동적으로 웹페이지를 생성할 수 있음.
  1. HTML과의 쉬운 통합: HTML과 Java 코드를 쉽게 혼합하여 웹페이지를 작성할 수 있음.
  1. 간단한 문법: 간결한 문법을 통해 빠르게 웹 애플리케이션을 개발할 수 있음.
  1. Java 생태계와 통합: Java 언어를 기반으로 하여 Java 생태계의 다양한 라이브러리 및 프레임워크와 쉽게 통합 가능.
  1. 재사용 가능한 컴포넌트: JavaBeans 등을 사용하여 재사용 가능한 코드 블록을 정의하여 모듈화 가능.



JSP 특징

  1. 서버 측 스크립팅:

    • JSP 페이지는 주로 HTML 코드로 이루어져 있으며, 서버 측에서 실행되는 Java 코드를 포함할 수 있습니다.
    • <% %> 태그를 사용하여 Java 코드를 삽입할 수 있습니다.
  2. JSP 태그:

    • JSP 페이지에서 사용되는 여러 종류의 태그가 있습니다. 예를 들면, <%@ %> 지시자는 페이지 속성을 정의하고, <%! %> 태그는 멤버 변수와 메서드를 선언할 때 사용됩니다.
  3. JavaBeans:

    • JSP 페이지에서는 JavaBeans를 사용하여 재사용 가능한 코드 블록을 정의할 수 있습니다. 이를 통해 코드의 모듈화와 유지보수성을 향상시킬 수 있습니다.
  4. 표현 언어(EL, Expression Language):

    • EL은 JSP 페이지에서 데이터를 표시하고 조작하는 데 사용되는 간단한 표현 언어입니다. ${}로 시작하는 문법을 사용하여 변수, 속성, 메서드 등을 참조할 수 있습니다.
  5. 액션 태그:

    • 액션 태그는 JSP에서 특정한 동작을 수행하는 데 사용됩니다. 예를 들어, 데이터베이스 연동, 조건문 처리, 반복문 등의 작업을 수행할 수 있습니다.
  6. 생명 주기:

    • JSP 페이지는 서블릿으로 변환되어 실행됩니다. JSP 페이지의 생명 주기는 초기화, 서비스, 소멸과 같은 단계로 구성됩니다.

간단한 JSP 예시:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>JSP Example</title>
</head>
<body>
    <% String message = "Hello, JSP!"; %>
    <h1><%= message %></h1>
</body>
</html>

Java 코드를 사용하여 변수를 선언하고 출력


JSP 동작원리

  1. 클라이언트 요청:

    • 클라이언트(웹 브라우저 등)에서 특정 JSP 페이지를 요청합니다.
  2. 서버에서의 처리:

    • 서버는 JSP 파일을 서블릿으로 변환합니다. JSP 파일은 실제로 서블릿 클래스로 컴파일되어 실행됩니다.
    • 변환된 서블릿은 Java 코드로 이루어져 있으며, 초기화, 서비스, 소멸과 같은 생명 주기 메서드가 포함됩니다.
  3. 서블릿 실행:

    • 클라이언트 요청이 들어오면 해당 JSP에 대한 서블릿이 실행됩니다.
    • JSP 파일의 Java 코드 부분이 실행되면서 동적인 데이터 처리, 데이터베이스 연동, 비즈니스 로직 처리 등이 이루어집니다.
  4. HTML 생성:

    • 서블릿이 실행되면서 생성된 결과는 HTML 형태로 변환되어 클라이언트에게 응답됩니다.
    • 서버에서 동적으로 생성된 HTML은 클라이언트에게 전송되고, 브라우저에서 렌더링되어 화면에 표시됩니다.
  5. 클라이언트 응답:

    • 클라이언트는 받은 HTML을 렌더링하여 사용자에게 동적으로 생성된 웹 페이지를 보여줍니다.
  6. 종료:

    • 서블릿의 생명 주기가 끝나면 해당 JSP 페이지의 서블릿 인스턴스도 소멸됩니다.








참고
면접을 위한 cs 전공지식 노트

profile
수정해야 할 내용 있으면 메일 부탁드립니다! ⍥

0개의 댓글