본문 바로가기

언어공부/JSP(JavaServerPage)

JSP - 웹 프로그래밍과 JSP

JSP - 웹 프로그래밍과 JSP

 

웹 프로그래밍이란 웹 서버가 웹 브라우저에 응답으로 전송할 데이터를 생성해주는 프로그램을 작성하는 것이다. 웹 서버의 종류에 따라 웹 프로그래밍을 할 때 사용할 기술이 달라진다. 아파치 웹 서버를 이용하면 PHP를 이용, 윈도우의 IIS 웹 서버를 사용하면 ASP.net이라는 기술을 이용해서 웹 프로그래밍을 할 수 있다. JSP 역시 웹 프로그래밍을 할 때 사용되는 기술이다.

 

JSP는 동적 페이지를 작성하는데 사용되는 자바의 표준 기술로서 HTML 응답을 생성하는데 필요한 기능을 제공하고 있다. 물론 HTML 뿐만 아니라 XML, JSON, 바이너리 파일 등도 응답으로 생성할 수 있지만 주로 HTML 응답을 생성하는 목적으로 사용한다.

 

JSP를 이용하려면 톰캣 같은 서버 프로그램이 필요하다. 단순 웹 서버가 정적인 HTML파일이나 이미지를 제공하는 것과 달리 이들 서버는 웹을 위한 연결, 프로그래밍 언어, 데이터베이스 연동과 같이 어플리케이션을 구현하는데 필요한 기능을 제공하고 있다. 그래서 웹 어플리케이션 서버(Web Application Server), 줄여서 WAS라고 부른다. WAS는 웹 브라우저로부터 요청이 오면 알맞은 프로그램을 찾아 실행하고, 프로그램의 실행 결과를 응답으로 전송한다.

 

  • 웹 서버 : 클라이언트로 부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹페이지를 정적으로 처리해 반환 ( 종류 : 아파치, 인터넷 정보 서버(IIS))
  • 웹 어플리케이션 서버 (WAS) : HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트웨어 엔진) 동적 서버 콘텐츠를 수행하며 주로 데이터베이스 서버와 같이 서비스를 수행. (종류 : 웹로직, 제우스, 톰캣)

WAS는 클라이언트의 요청이 오면, 알맞은 프로그램을 실행해서 응답을 생성한다.

 

* JavaEE, JSP, 서블릿

JEE(Java Enterprise Edition)은 자바를 이용해서 어플리케이션을 개발하는데 필요한 표준을 정의한 것으로 JSP, 서블릿, JSTL, JPA 등 여러 표준으로 구성되어 있다. (==SE+톰캣) JSP는 서블릿을 기반으로 동작하기 때문에, JSP 버전마다 해당하는 서블릿 버전이 정의되어 있다. JSP2.3버전은 서블릿 3.1버전을 기반으로 하고 있으며, 톰캣 8버전이 이 둘을 지원한다.

 

JSP와 서블릿은 자바 언어 기반으로 멀티쓰레드(Multi Thread)에 의해 사용자 요구를 처리한다. 서블릿은 자바코드에 의존적이지만 JSP는 비교적 덜 의존적이다. JSP와 서블릿은 같은 처리 구조를 가진다.