Java

[Java] 자바(Java), 자바스크립트(Javascript), JSP(Java Server Page) 차이점과 서블릿(Servlet)

yujinius 2024. 4. 3. 17:10

자바(Java) vs 자바스크립트(Javascript) vs JSP(Java Server Page) 차이

  • 자바(Java)
    • 응용소프트웨어를 개발하는 데 사용되는 범용 언어
  • 자바스크립트(Javascript)
    • 컴파일 없이 HTML 페이지에 소스 형태로 내장되어 웹 브라우저에 의해 번역되어 실행되는 스크립트 언어
    • 웹 브라우저에서 키나 마우스 입력을 받아 메뉴를 보여주거나 색을 바꾸는 등 HTML 페이지에 동적인 변화를 주는 보조적인 역할을 함
  • JSP(Java Server Page)
    • 웹 서버에서 실행되는 스크립트 언어
    • JSP 프로그램은 실행 전에 컴파일되어 서블릿(Servlet)이라고 불리는 자바 코드로 변환되어 실행됨 

 

JSP(Java Server Pages) vs 서블릿(Servlet) 차이

  • 모두 자바를 기반으로 하는 서버 측 웹 애플리케이션 개발을 위한 기술
    • 서블릿(Servlet)
      • 자바 클래스로 이루어진 웹 애플리케이션의 컴포넌트
      • 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side에서 돌아가는 Java Program
      • 주로 HTTP 요청을 처리하고 동적으로 웹 페이지를 생성하는 데 사용
      • 개발자는 자바 코드에서 HTML을 생성(하나의 클래)하여 응답을 작성
      • 웹 개발을 위해 만든 표준
      • 데이터 프로세싱(Controller)에 좋음 => DB와 통신, Business Logic 호출, 데이터를 읽고 확인하는 작업 등에 유용
      • Servlet이 수정된 경우 Java 코드를 컴파일(.class 파일 생성)한 후 동적인 페이지를 처리하기 때문에 전체 코드를 업데이트하고 다시 컴파일한 후 재배포하는 작업이 필요 (개발 생산성 저하)
    • JSP(Java Server Pages)
      • HTML 내에 자바 코드를 포함하는 웹 페이지
      • Java 언어를 기반으로 하는 Server Side 스크립트 언어
      • JSP 페이지는 서블릿으로 변환되어 서블릿과 동일한 방식으로 처리됨
      • HTML 코드 안에 Java 코드 작성
      • Servelt을 보완하고 기술을 확장한 스크립트 방식 표준
        • Servlet의 모든 기능 + 추가적인 기능
      • presentation(view)에 좋음 => 요청 결과를 나타내는 HTML 작성하는데 유용
      • JSP가 수정된 경우 재배포할 필요가 없이 WAS가 알아서 처리(쉬운 배포)
    • JSP는 주로 프레젠테이션 로직(사용자 인터페이스)을 처리하고, 서블릿은 비즈니스 로직 및 데이터 액세스와 같은 보다 복잡한 로직을 처리하는 데 사용