자바(Java)/JAVA 2EE

웹 어플리케이션을 개발할 때 사용하는 Java 2 EE 기술

본클라쓰 2010. 12. 5. 09:25

 

 Java2 EE 기술은 웹 어플리케이션을 만드는 기술을 말한다. 웹 어플리케이션은 일반적으로 HTTP 프로토콜을 사용하며, 서버에서 실행되는 서버 어플리케이션으로 사용자의 요청에 대해 동적인 웹 페이지를 생성해 주는 어플리케이션을 말한다.

 

 여기서 웹 페이지란 HTML, XHTML, XML 등 마크업 언어로 작성된 문서를 말한다. 웹 페이지는 정적 웹 페이지와 동적 웹 페이지로 구분하는데, 정적 웹 페이지는 단순히 HTML, XHTML, XML 등 마크업 언어로만 작성된 페이지를 말하며, 동적 웹 페이지는 서버 스크립트 언어를 사용하여 페이지를 동적으로 구성하는 것을 말한다.

 

 정적인 웹 페이지는 마크업 언어만 알면 쉽게 작성이 가능하다. 하지만 동적 웹 페이지는 서버 스크립트를 사용하여 동적으로 마크업 언어를 생성하여 페이지를 구성한다. 따라서 페이지를 프로그래밍하여 다양하게 작성할 수 있다.

 

 웹 어플리케이션은 서버 측에서 동작하는 프로그램을 작성하는 것을 말하며, 사용자의 요청에 따라 서버측에서 요청에 해당하는 로직을 수행한 후 응답을 생성하여 사용자의 요청에 응답을 돌려주는 작업을 수행한다. 아래의 사진을 보자.

 

[출처: http://download.oracle.com/javaee/6/tutorial/doc/geysj.html]

 

 

 Java2 EE는 아래와 같이 구성되어 있다.

  1. 사용자의 요청과 응답을 처리하는 웹 컨포넌트
  2. Java 실행환경
  3. 데이터베이스

 J2EE의 핵심은 자바 실행환경과 웹 컨테이너이다. 웹 컨테이너는 자바로 작성된 코드를 실행하여 동적인 웹 페이지를 제작하는 어플리케이션으로 개발자가 작성한 소스 코드를 웹 컨테이너의 배포 경로에 위치시키고, 컨테이너에 등록하면 사용자 요청에 대해 컨테이너가 소스 코드를 해석해 결과를 보여준다.

 

 웹 컨테이너가 읽고 해석하는 것은 서블릿(Servlet)코드인데, 서블릿은 자바 코드와 동일한 방식으로 프로그램을 작성하며 웹 컨테이너가 자바 코드를 읽고 컴파일하여 실행시키는 방식으로 구동된다.

 

 따라서 Java 2 EE의 핵심은 서블릿(Servlet)이고 서블릿을 바탕으로 표현에 중점을 둔 언어들이 JSP, JSTL, JSF 등이 있다. JSP의 경우는 HTML 문서안에 프로그램 코드를 작성한 후 사용자가 해당 JSP페이지를 요청하면 JSP 컨테이너는 해당 페이지를 서블릿으로 변환한 후 컴파일하여 사용자에게 결과를 응답하는 방식을 말한다.