코드프레소 백엔드 개발자 양성 과정

JSP의 정의와 구성 요소

JSP가 무엇인지 알아본다.

H Lee
3 min readMar 11, 2020
Photo by Lex Photography from Pexels

JavaServer Pages의 약자인 JSP가 정확히 무엇인지 알아보고 작동 과정과 구성 요소 또한 살펴보겠다.

등장 배경

웹 프로그래밍 초기에는 개발자가 서블릿을 이용하여 비즈니스 로직과 화면 기능까지 모두 구현했다. 하지만 인터넷을 이용하는 사람들이 많아짐에 따라 웹 페이지의 구성이 복잡해지면서, 업무 방식과 지원 기술에 변화가 생기기 시작했다.

현재 서비스들에는 세분화된 화면 기능을 전담하는 웹 디자이너라는 직책이 있을 뿐만 아니라, 기존과 같이 서블릿의 응답 기능으로만 화면 처리를 하는 일은 없다. 개발자들 만큼 자바에 능수능란하지 않은 디자이너들이 자바 코드를 이용해 화면 표시를 구현해내는 일이 쉽지만은 않았을 것이다.

이런 점을 보완하기 위해 만들어진 기술인 자바서버 페이지는 아래와 같은 특징을 지녔다.

  • 서블릿의 비즈니스 로직 처리 기능과 화면 기능을 분리해준다.
  • 기존의 자바 코드 기반 서블릿과는 달리 HTML, CSS, 자바스크립트를 기반으로 JSP 요소를 첨가해 사용한다.
  • 기능 분리를 통해 개발자와 디자이너의 분업을 가능케 한다.
  • 개발을 마친 후 재사용, 유지 및 보수를 용이하게 해준다.

작업 과정

JSP로 작업을 하는 데에는 크게 세 가지 단계를 거친다.

첫째, JSP 파일은 변환 단계를 거쳐야 한다. 서블릿에서는 자바 코드를 이용해 HTML을 설정했던 반면, JSP에서는 HTML, CSS, 자바스크립트 등의 다양한 요소가 화면을 구현하도록 짜여 있다. 브라우저는 이런 JSP 요소들을 변환 없이는 인식하지 못 하므로 톰캣 컨테이너는 JSP 파일을 자바 파일로 변환한다.

둘째, 컨테이너는 변환된 자바 파일을 클래스 파일로 컴파일한다. 여기서 부터는 기존의 자바 언어로만 짜인 소스 코드를 컴파일 하는 단계와 동일하다.

셋째, 컨테이너는 그 클래스 파일을 실행하여 결과적으로 HTML, CSS, 자바스크립트 파일를 브라우저로 전송한다. 브라우저는 그것을 받아 화면에 출력한다.

구성 요소

JSP 페이지를 구성하는 요소로는 다음과 같은 것들이 있다.

  • 디렉티브 태그 : JSP 페이지의 전반적인 설정 정보를 지정하기 위해 사용되는 태그이다.
  • 스크립트 요소 : JSP 페이지에서 동적인 기능을 구현하는 태그이다.
  • 표현 언어 : 복잡한 자바 코드가 들어가는 표현식을 대체하기 위해 JSP 2.0부터 등장한 데이터 출력 기능이다. 요즘에는 스크립트 요소보다 더 자주 쓰인다.
  • 내장 객체 : 내장 변수라고도 부르며, 표현 언어에서 데이터를 참조하거나 매개변수를 처리하기 위해 사용하는 객체이다.
  • 액션 태그 : 화면 디자이너로 하여금 자바 코드를 사용하지 않고 객체 생성부터 속성값 설정까지 할 수 있게 해주는 스크립트 기능이다.
  • 커스텀 태그 : JSP에서 가장 자주 사용되는 기능을 개발자가 직접 태그로 만들 수도 있고, JSTL 라이브러리나 스트러츠 프레임워크, 스프링 프레임워크에서도 유용한 태그를 미리 생성해 배포한다.

지금까지 JSP의 기본 개념과 요소들에 대해 알아보았다. 개발 프로젝트를 어느 정도 진행하고 나서 책을 다시 보니 감회도 새롭고 처음 책으로만 봤을 때보단 이해가 잘 간다. 하지만 뒷단 개발을 마치고 앞단과 연결할 때가 아직도 좀 낯설어 더 자세히 공부해야겠다.

참고 : 자바 웹을 다루는 기술 (이병승)

--

--

No responses yet