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년 부터 기업사용자는 비용이 발생한다는 공식적인 발표가 있다.
'취업준비 > 면접준비' 카테고리의 다른 글
스프링 프레임워크(Spring Framework)의 탄생배경, 장단점 (0) | 2021.03.21 |
---|---|
프레임워크와 라이브러리 차이점(Framework & Library) (0) | 2021.03.16 |
의존성 주입(Dependency Injection) (0) | 2021.03.15 |
관심사 분리 (Separation of Concerns, SoC) (0) | 2021.02.22 |