2013년 3월 7일 목요일

[JSP] 웹 어플리케이션

지금까지 자바를 이용해 프로그래밍을 해보고 html과 css를 활용하여 웹을 만들었다. 그리고 자바스크립트와 jQuery를 이용하여 이벤트를 통해 클라이언트 측 브라우저에서 서버로 요청을 하고 요청에 의한 데이터를 클라이언트 측에서 잘 출력하기 위한 과정을 진행해보았다. 즉, 클라이언트 측에서 데이터를 전달하고 전달받은 데이터 출력부분을 살펴보았단 뜻이다.

그렇다면 지금부터는 서버측에서 요청받은 데이터의 처리와 다양한 작업을 하는 것이 순서일 것이다. 서블릿과 JSP는 이 서버에서 요청받은 데이터를 처리하고 응답하는 웹 어플리케이션이라고 할 수 있다.

서블릿 : 자바 기반의 웹 프로그래밍 기술로써 자바 언어의 모든 기능을 사용해 웹 어플리케이션을 제작할 수 있다. 또한 스레드 기반으로 데이터를 처리해 줌으로써 빠른 속도를 자랑한다. 그러나 서블릿은 프로그램을 구현하는데는 좋지만 화면을 출력하는 부분에 있어서는 어려움이 많다. 이러한 문제점을 개선한 것이 JSP이고 JSP는 내부적으로 서블릿 기술에 기반하고 있다.

JSP : 서블릿 기반의 서버 스크립트 언어로써 오늘날 가장 대표적인 웹 프로그래밍 기술이다. 서블릿의 단점인 화면상의 출력을 보완해 줄 수 있다. JSP 역시 자바 기반의 언어이므로 자바의 모든 기능을 사용할 수 있다.

우선 웹 어플리케이션은 무엇일까?
웹을 기반으로 실행되는 프로그램을 의미한다.

우리가 즐겨 사용하는 웹의 동작 순서를 보자.
1. 사용자가 원하는 웹사이트에 접속하기 위해 url을 주소창에 입력한다. 클라이언트에서 서버로 요청을 하는 과정이다.

2. 해당 웹 서버에는 요청을 받아들여 요청에 해당하는 응답을 하게 된다. 이때 웹 서버는 클라이언트의 요청에 대한 데이터 처리를 위해 웹 어플리케이션 서버와 연동이 이루어진다.

3. 웹 어플리케이션 서버에서 처리한 데이터를 웹 서버가 받아서 클라이언트측에 보내줌으로써 클라이언트 브라우저에서 결과화면을 볼 수 있다.

웹 서버와 웹 어플리케이션 서버는 무엇을까? 웹 서버는 대표적으로 Apache와 마이크로소프트의 IIS가 있다. 웹 서버의 역할은 클라이언트의 요청을 받아 적절한 응답을 하는 것이다. 이때 클라이언트로부터 데이터에 대한 처리를 요청하게 될때 JSP가 톰캣이라는 웹 어플리케이션에 의해 서블릿 자바코드로 변환이 이루어지고 컴파일 된다.

즉, 적절한 응답을 위한 데이터처리와 로직을 웹 어플리케이션 서버에서 처리한다. BEA사의 웹로직, IBM의 웹스파이어 SUN의 iPlanet 등이 있고 국산으로는 제우스가 있다. 이들 웹 어플리케이션을 Was라 부른다.

 여기서는 톰캣이라는 Was프로그램을 이용하여 웹 어플리케이션 서버를 구현할 것이다. 톰캣은 자바코드로 비지니스 로직을 서블릿과 JSP로 처리하기 위한 컨테이너이다. 웹 어플리케이션 서버의 일종인 톰켓은 상용화가 목적이 아니면 누구나 무료로 사용할 수 있다. JSP가 서블릿 형태로 변환하여 순수한 자바코드로 컴파일하게 되는데 톰캣은 서블릿과 JSP와 같은 자바코드를 완벽하게 지원한다. 그리고 J2EE 자바환경을 사용한다. J2EE는 서블릿과 JSP와 같은 웹 어플리케이션 서버를 구현하기 위해서 사용하는 자바기술환경이다.

이클립스를 하면서 중요한 부분은 폴더 구성이다. JSP가 들어가야할 디렉토리, 서블릿이나 라이브러리들이 포함될 디렉토리 경로에 대해 잘 파악해 두도록하자.


서블릿의 생명주기(Life Cycle)
서블릿 요청 -> JSP -> 서블릿 자바소스 코드 -> 서블릿 클래스 파일 -> 서블릿 객체 생성(처음에 한번만 Init()수행) -> 서블릿 응답(Doget(), Dopost())



댓글 없음:

댓글 쓰기