ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP | JSP 개요 및 특징
    JAVA/JSP 2020. 2. 14. 17:39

    JSP

    Java Server Pages
    자바를 기반으로 하며 서블릿보다는 자바 코드에 덜 의존적인 웹 프로그래밍 언어


    JSP 개요

    • 서블릿과 동일한 처리 구조를 가짐
    • 서블릿 기술을 확장한 것이며
      웹 상에서 100% 순수 자바만으로 서버 사이드 모듈을 개발하기 위한 기술
    • 페이지의 요청이 발생하면 최초 한 번만 자바 코드로 변환된 후 서블릿 클래스로 컴파일 됨
      즉, JSP는 실행시 서블릿으로 변환됨
    • 코드를 수정하지 전까지는 재변환 작업이 일어나지 않기 때문에
      수행 속도에서 서블릿과 큰 차이는 없음
    • JSP는 주로 사용자용 화면인 뷰(View)의 구현에 사용
    • 서블릿과 마찬가지로 서버 사이드에서 DB와 연동하여 화면에 데이터 표시 가능
    • JSP 웹 프로그래밍을 위해서는 웹 서버, 웹 애플리케이션 서버, 웹 컨테이너 필요

    JSP 특징

    Java를 기반으로 만들어졌기 때문에 자바 언어의 특징을 그대로 가짐

    • 객체 지향적
    • 플랫폼에 독립적
    • 네트워크 지향적
    • 높은 보안성
    • 멀티 쓰레드 지원
    • 코드가 친근함

    ※ 자바는 J2SE(Standard Edition), J2EE(Enterprise Edition),
    J2ME(Micro Edition)로 나누어져 개발되는데 JSP는 J2EE를 구성하는 기술 중 하나임


    JSP 요청 처리 과정

    1. 웹 클라이언트에서 jsp 파일 요청

    2. 서버에서 서블릿 컨테이너 검색

    3. 서블릿 객체가 없다면 JSP 파일을 자동 컴파일
      JSP파일을 서블릿을 위한 자바파일(.java)로 변경하고 자바 코드를 서블릿 클래스로 컴파일

    4. 컴파일된 서블릿 파일을 클라이언트에 응답

    ※ 결국 jsp도 서블릿으로 만들어짐


    J2EE 구성

    컨테이너(container)가 관리하는 컴포넌트 그룹(container-managed component)과
    서비스 API(service API)그룹으로 나누어짐

    Container

    • 여러 가지 컴포넌트를 가지며
      컴포넌트들이 제공하는 각종 서비스를 관리하는 런타임 환경 제공
    • 프로그래밍에서 가장 중요한 요소는 재사용 가능한 비즈니스 로직을
      작성할 수 있게 도와주는 컴포넌트
    • 웹 컨테이너는 서블릿과 JSP에 대한 실행 환경 제공
    • EJB 컨테이너는 Enterprise JavaBean에 대한 실행 환경 제공

    Container 구성 기술

    1. Servlet: 서버 쪽에서 실행되는 프로그램
    2. JSP: 컴포넌트를 웹 페이지에 내장시켜 통합시킬 수 있음
      HTML, Java, JavaBean 컴포넌트 등을 하나의 웹 페이지 내에 포함
    3. EJB(Enterprise Java Beans): 비즈니스 로직을 구현한 각종 컴포넌트들을
      서버에 분산시켜 놓고, 지속성 있는 데이터를 객체 지향적으로 표현 가능

    Service API

    • 실제로 사용하는 각종 서비스 환경 제공
    • JDBC: J2EE 구성요소로, DataSource나 분산 트랜잭션 지원과 같은 향상된 기능 제공
    • XML(eXtensible Markup Language): J2EE에서 디플로이먼트 디스크립터(deployment descriptors)를 작성하는 포맷, 디플로이먼트 디스크립터는 J2EE 앱 환경 설정시 사용
    • JNDI(Java Naming and Directory Interface): 기업형 네이밍과 디렉토리 서비스에 접근할 수 있게 하는 API, 분산 환경에 있는 서버들 간에 객체 공유 방법 제공

    우리가 앞으로 공부하게 될 웹 프로그래밍 언어인 JSP의 개요와 특징에 대해 간략히 살펴보았습니다.

    자세히는 아니더라도 JSP가 대충 어떤 역할을 하는 언어인지에 대해서 파악하는 것은
    앞으로의 공부에 있어 도움이 될 것이라고 생각합니다.

    요즘에는 JSP 대신 Ajax 등의 기술로 데이터만 XML 형식으로 웹 브라우저에 전송하고
    실질적인 처리는 JavaScript로 하는 경우도 많다고 하니 참고하시기 바랍니다.

    'JAVA > JSP' 카테고리의 다른 글

    JSP | Page Diretives_<%@ page %>  (0) 2020.02.18
    JSP | Script 3대 요소 & Comment 주석  (0) 2020.02.17
    JSP | JSP 환경 설정  (0) 2020.02.14
    JSP | Servlet 서블릿 개요  (0) 2020.02.14
    JSP | 웹 프로그래밍의 이해  (0) 2020.02.14

    댓글

Designed by Tistory.