[JAVA] Servlet(서블릿)과 JSP의 차이

[JAVA] Servlet(서블릿)과 JSP의 차이

Servlet과 JSP는 같다
  • 더 정확하게 말하면, JSP라는 서버사이드 자체 스크립트 언어라는것이 존재하지 않는다
    • 사실은 JSP가 서블릿이다

Servlet이란?

  • 서버사이드에 Java라는 서버가 있고, 그 속에서 움직이는 프로그램을 개발하는 구조로 되어 있다
  • Java서버에서는 그 안에서 프로그램을 작동시키기 위한 구조가 준비되어 있다.
  • 그리고 그 구조에 따라 프로그램을 만들고 포함해 두었다.
  • 사용자가 그 프로그램에 할당된 URL에 접근하면, Java서버는 그 프로그램을 실행하도록 되어 있다.
  • 이 "Java서버에서 움직이는 작은 프로그램"이 서블릿이다


JSP란?

  • 서블릿은 결국 Java프로그램이기 때문에, 만드는 것도 좀 힘들다.
    • 모두 Java로 코딩해야 한다
  • 단지 내부의 처리뿐만 아니라 클라이언트에 표시되는 HTML 코드도 모두 Java코드를 사용해야 한다
    • HTML을 모두 println으로 만드는 상상을 해보자.. 끔찍
  • 그래서 더 편한 서버 사이드 Java를 사용할 수 있도록 하는것이 JSP이다
  • Java서버는 JSP코드를 읽어 들여, 그것을 서블릿 소스 코드로 변환한다.
  • HTML 태그등도, 모든  println으로 쓰여지도록 변환하는 것이다.
  • 그렇게 생성된 서블릿 소스 코드를 컴파일하고, 서블릿을 생성하여 그것을 호출한다.
  • 즉, JSP가 서블릿이 되는것이다


Servlet과 JSP의 차이

  • 같다고는 하지만, 접하는 사용자에게 상당한 차이가 있다.
  • JSP는 HTML안에 처리를 포함하기 때문에, HTML 페이지에 뭔가를 추가하는 경우에는 매우 편리
    • Frontend에 적합
  • 반대로 서블릿은 HTML으로 자세하게 출력하지 않아도 되는곳에 활용하면 편하다
    • Backend에 적합


출처



댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?