Anything Is Possible

JSP(Java Server Pages) 의 정의, 장단점

취업준비/면접준비

JSP란 무엇일까?

Java Server Pages의 약자이며,

HTML 코드에 자바 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.

JSP가 실행되면 자바 서블릿(Servlet)으로 변화되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고

그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.

위와 같이 정의만 보고는 이해하기가 쉽지 않기 때문에 몇가지 개념을 알고 가자!


 

  • 웹 어플리케이션
  • 자바 서블릿
  • JSP 와 서블릿

웹(Web)

웹이란 인터넷 기반의 정보기술로 World Wid Web의 줄입말로 쓰이며 WWW 라고도 한다.

전세계에 거대한 네트워크 망을 통해 정보를 공부하며 정보의 흐름은 양방향성을 가진다.


웹 어플리케이션(Web Application)

웹 어플리케이션은 웹에서 실행되는 응용프로그램을 뜻하며 인터넷을 통한 은행업무, 인터넷쇼핑 등등 인터넷에서 하는 여러 서비스를 총칭하며 사용자가 필요한 요청(Request)를 하고 서버에서는 이에 해당하는 요청을 수행하고 그리고 요천한 데이터를 응답(Response)한다.

웹 어플리케이션이 위와 같이 동작하기 위한 몇가지 구성요소가 있다.

웹 브라우저(Web Browser) : 클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경을 말한다.  ( 크롬, IE, Safari, Firefox 등.. )

웹 서버(Web Server)  : 클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다. 주로 정적컨텐츠롤 담당한다.

웹 어플리케이션 서버 ( Web Application Server ) : 줄여서 was 라고도 부르며 서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.

데이터베이스 : 서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.


자바 서블릿(Java Servlet)

서블릿이란 웹페이지를 동적으로 생성하기 위해 서버측 프로그램을 말한다.

이는 자바 언어를 기반으로 만들어지며 웹 어플리케이션 서버(Web Application Server) 위에서 컴파일 되고 동작한다.


JSP 와 서블릿

JSP 와 서블릿의 차이점은 결과적으로 하는 일은 동일하지만

JSP 는 HTML 내부에 JAVA 소스코드가 들어감으로 인해 HTML 코드를 작성하기 간편하다는 장점이 있으며

서블릿은 자바 코드내에 HTML 코드가 있어서 읽고 쓰기가 굉장히 불편하기 때문에 작업의 효율성이 떨어진다. 

하지만 웹을 공부할때 JSP 와 서블릿은 함께 배운다,

그건 왜 때문일까..?

JSP 로 작선된 프로그램은 서버로 요청시 서블릿(Servlet) 파일로 변환되어 JSP 태그를 분해하고 추출하여 다시 순수한 HTML를 변환한다.

(출처: https://javacpro.tistory.com/43 [버물리의 IT공부])


 아래 이미지 참고!(출처:velog.io/@dlsdk2526/JSP와-서블릿)

 


JSP 의 장단점 

풀네임 : Java Server Page

구현언어 : Java

오픈소스 : X

벤더 : 오라클 Oracle

프레임워크 : Spring

WAS : Tomcat

장점 : 객체지향 설계로 큰 프로젝트에서 강점을 보인다. 주축이 되는 강력한 프레임워크가 존재한다. 벤더가 거대 기업이고, 한국에서 굉장히 많이 쓰이고 있다.

단점 : 각종 모듈을 설치해야 해서 가벼운 프로젝트에 어울리지 않고, 프레임워크를 잘 사용하지 않으면 개발이 힘들 수 있다. 또한 2019년 부터 기업사용자는 비용이 발생한다는 공식적인 발표가 있다.