Categories
자바

JSP 실행환경

웹 컨테이너

웹 서버에는 HTML을 클라이언트로 보내는 HTTP Server, JSP/Servlet을 실행하는 엔진, 엔진과 JSP/Servlet를 실행하는데 필요한 라이브러리 등을 포함한 웹 컨테이너가 있다. 엔진은 JSP/Servlet을 실행해 결과물인 HTML을 만든다. 커넥터 (connector)는 HTML을 HTTP Server로 보내 웹 브라우저가 응답하게 한다. Tomcat 웹 서버에는 카탈리나(catalina) 컨테이너, 자스퍼 엔진, 컨테이너와 HTTP Server를 연결하는 코요테(coyote) 커넥터가 있다. 웹 프로그래밍에는 웹 컨테이너가 반드시 있어야 한다. HTTP Server는 자바로, Apache HTTP Server 는 C로 만들어졌다는 점도 알아두자. 클라이언트에서 서버로 요청할 때 요청경로와 데이터를 함께 보낼 수 있다. 이 데이터는 ‘키=값’형태로 전송되며 파라미터라고 한다. 웹 서버에서 파라미터를 받을 때는 String 값 = reuest.getParameter(“키”); 로 받는다. ‘키’의 이름으로 ‘값’을 받아 요청을 처리한다. 파라미터의 ‘키’와 ‘값’은 모두 String이다. 데이터베이스에서 id가 ‘cust003’인 행을 삭제하고 싶다면 다음 처럼 요청에 파라미터를 함께 보낸다. pagecentric01_comp01/custusercontrol.jsp?command=delete&id=cust003 서버는 id를 이용하여 요청한 행을 삭제한다. 요청 중 상세내용을 확인하기 위해 command를 받고, if문에서 command가 삭제, 삽입, 변경인지 확인하고 요청별 로 처리한다. 서블릿은 “Servlet = Server + let”이며, ‘let’는 컨테이너에서 실행되는 프로그램이다. 다시 말해 서블릿은 웹 서버(Tomcat)의 컨테이너(카탈리나)에서 실행되는 웹 프로그래밍이다. 요청 또는 요청과 동반하는 파라미터를 서블릿에서 받아 요청 을 처리하고 결과를 HTML로 만든다. 웹 브라우저는 응답으로 보내진 HTML을 받 아서 화면에 출력한다. ‘let’가 붙은 다른 프로그램도 있다. 애플릿은 applet = application + let로 컴파일된 프로그래밍이 웹 브라우저의 컨테이너에서 실행되는 애플리케이션이며, 애플릿은 클라이언트사이드 프로그래밍이다. 미들릿은 midMobile Information Device Profile+let를 말하며 모바일 정보기기 프로파일을 사용하는 애플리케이션으 로 핸드폰 컨테이너에서 실행된다. JSP/Servlet은 웹 프로그래밍이다. 웹 프로그래밍은 컨테이너가 반드시 필요하며, 프로그래밍을 엔진에서 실행하여 원하는 결과를 생성한다. 결과물은 HTML로 만들어서 웹 브라우저에 응답한다. 서블릿의 ‘let’는 서블릿이 컨테이너에서 실행되 는 프로그래밍이라는 점을 알려준다. ‘let’가 붙은 애플리케이션은 컨테이너의 명 령에 따라 생성, 초기화, 실행, 소멸 등 정해진 행동을 한다. 이렇게 하는 것을 라이프사이클이라고 한다. 컨테이너는 요청에 따라 정해진 메서드를 호출한다. 요청을 처음으로 받으면 서블릿을 생성한다. 초기화 메서드를 호출하여 생성된 서블릿을 실행하는 데 필요한 데이터나 값을 얻는다. 실행 메서드를 호출 하여 요청을 처리하고 결과를 응답해준다. 두 번째 요청부터는 실행 메서드만 호출한다. 더 이상 요청이 없다면 소멸 메서드를 호출하여 자원을 회수하고, 서블릿의 객체를 제거한다. 컨테이너는 초기화와 소멸 메서드를 한번만 호출한다. 요청에 따라 필요한 로직을 실행하려면 아래와 같이 service( ) 메서드 바디에 프로그래밍하면 된다. public void service(request, response) //실행로직 요청을 받으면 컨테이너는 서블릿의 service( ) 메서드를 호출하여 로직을 실행한다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다