Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP(JavaServer Pages)란 무엇인가? JSP가 CGI보다 선호되는 이유

JSP(JavaServer Pages)는 동적 콘텐츠를 지원하는 웹 페이지를 개발하기 위한 기술입니다. 개발자는 특수한 JSP 태그를 사용해 HTML 페이지 안에 자바 코드를 직접 삽입할 수 있으며, 이러한 태그는 대부분 <%로 시작하여 %>로 끝납니다.

JSP 컴포넌트는 일종의 자바 서블릿으로, 자바 웹 애플리케이션에서 사용자 인터페이스(UI) 역할을 수행하도록 설계되었습니다. 웹 개발자는 HTML 또는 XHTML 코드, XML 요소, 그리고 내장된 JSP 액션과 명령어를 하나의 텍스트 파일로 결합하는 형태로 JSP를 작성합니다.

JSP를 활용하면 웹 폼을 통해 사용자 입력을 수집하고, 데이터베이스나 다른 소스의 레코드를 화면에 출력하며, 웹 페이지를 동적으로 생성할 수 있습니다.

JSP 태그는 데이터베이스에서 정보를 조회하거나 사용자 환경설정을 등록하는 것은 물론, JavaBeans 컴포넌트에 접근하고, 페이지 간 제어 흐름을 전달하며, 요청(request)과 페이지 사이에 정보를 공유하는 등 다양한 용도로 활용됩니다.

왜 JSP를 사용할까요?

JavaServer Pages는 CGI(Common Gateway Interface)로 구현된 프로그램과 본질적으로 같은 목적을 수행합니다. 하지만 JSP는 CGI에 비해 여러 가지 뚜렷한 장점을 제공합니다.

  • 뛰어난 성능: JSP는 동적 요소를 HTML 페이지 자체에 직접 삽입할 수 있어, 별도의 CGI 파일을 두는 방식보다 처리 속도가 훨씬 빠릅니다.

  • 사전 컴파일 방식: JSP는 서버가 처리하기 전에 항상 먼저 컴파일됩니다. 반면 CGI/Perl은 페이지가 요청될 때마다 서버가 인터프리터와 대상 스크립트를 매번 로드해야 하는 부담이 있습니다.

  • 강력한 엔터프라이즈 API 지원: JSP는 자바 서블릿 API 위에 구축되었기 때문에, 서블릿처럼 JDBC, JNDI, EJB, JAXP 등 강력한 엔터프라이즈 자바 API를 모두 활용할 수 있습니다.

  • 서블릿과의 유연한 연동: JSP 페이지는 비즈니스 로직을 담당하는 서블릿과 함께 사용할 수 있으며, 이는 자바 서블릿 템플릿 엔진이 지원하는 모델이기도 합니다.

마지막으로, JSP는 기업용 애플리케이션을 위한 완전한 플랫폼인 Java EE의 핵심 구성 요소입니다. 따라서 JSP는 가장 단순한 애플리케이션부터 가장 복잡하고 까다로운 엔터프라이즈급 시스템까지 폭넓게 활용될 수 있습니다.