[JSP] 웹 서버와 도우미 어플리케이션( CGI )
- 프로그래밍 정보
- 2010. 6. 27.
반응형
현재 꾸준히 계속하여 HTTP 프로토콜, 요청과 응답,
클라이언트가 서버와 통신하는 구조 등을 포스팅 하고 있습니다.
2010/06/27 - [Programing/JSP & Servlet] - HTTP 응답 - MIME 타입 ( 컨텐츠 타입 )
2010/06/27 - [Programing/JSP & Servlet] - GET 방식과 POST 방식 !
2010/06/24 - [Programing/JSP & Servlet] - HTTP 요청과 응답의 구성요소
2010/06/24 - [Programing/JSP & Servlet] - 브라우저에서 HTTP 헤더(Header) 정보 보기.
2010/06/24 - [Programing/JSP & Servlet] - 웹 서버와 클라이언트가 하는 일?
2010/06/27 - [Programing/JSP & Servlet] - GET 방식과 POST 방식 !
2010/06/24 - [Programing/JSP & Servlet] - HTTP 요청과 응답의 구성요소
2010/06/24 - [Programing/JSP & Servlet] - 브라우저에서 HTTP 헤더(Header) 정보 보기.
2010/06/24 - [Programing/JSP & Servlet] - 웹 서버와 클라이언트가 하는 일?
읽기전에 손가락 한번 클릭~ >_<
고마워요 ~ Chu ~ ♥
이제는 웹서버가 하는 일과 그걸 도와주는 역할을 하는 CGI 에 대해 포스팅 하겠습니다.
웹 서버가 할 수 없는 두가지의 일!
웹서버는 기본적으로 정적인 페이지만을 서비스 합니다.
단지 요청된 파일이나 자료를 찾아서 클라이언트로 넘겨주는 일만을 하는 것이지요.
그렇기 때문에 , 웹 서버는 요청이 있기 전까지 존재하지않던 페이지 ( 동적인 페이지 ) 를 서비스 할 수 없습니다.
아래는 웹서버가 할 수 없는 두가지의 일입니다.
1. 동적인 컨텐츠 생성 : 웹 서버는 정적인 페이지를 제공하는 일을 합니다.
하지만 도우미(Helper) 어플리케이션의 도움을 받아(사용하여)
실시간 || 동적인 페이지를 제공할 수 있습니다.
2. 데이터 처리 : 웹 서버는 데이터를 넘겨 받는다 하여도 처리하지 못합니다.
결국 도우미 어플리케이션에 의해 파라미터를 넘기게 되고
응답하도록 만듭니다.
이런 역할을 하는 ( 동적인 페이지를 생성하여 주는 ) 도우미 어플리케이션을
CGI ( Common Gateway Interface ) 라고 부릅니다.
클라이언트와 서버, 도우미 어플리케이션의 동작 구조
쉽게 이해하기 위하여 직접 그림으로 표현해 봤습니다 ^^;
이 시점에서 웹 서버가 받은 페이지는 정적인 페이지입니다.
하지만 그걸 받은 클라이언트는 이것이 동적인 페이지라고 생각하게되죠.
테스트 코드
따라서 동적인 페이지를 서비스 하려면 결국 도우미 어플리케이션의 도움을 받아야 합니다.
그것이 여기에선 서블릿이 됩니다 ^^
우선 JSP 페이지는 제외한 상태에서 서블릿만 이용하여
동적인 페이지를 서비스 해보는 테스트 코드를 만들어 보았습니다.
서블릿 코드입니다.
아직 현재 서블릿의 기능등을 포스팅 하지 않았기 때문에 우선은 이렇게 생겼구나..
( 자바와 똑같구나! )
라고 생각만 하시고 여기에선 어떻게 동적 페이지를 서비스 하는지만 확인하세용!
웹 컨테이너 (톰켓)을 스타트 한 뒤 테스트 하게되면
이제 멋지게도 동작하는 현재 시간을 표시해주는 동적인 페이지가 나온답니다 ^^
짝짝짝!!!
모두 끝낫다구요?
아니죠~
지금은 테스트를 위하여 서블릿 코드에다가 하드코딩으로 HTMl 코드를
println 출력문으로 작성하였습니다 ( 헉헉..힘들었습니다;;; )
실제 이게 좋진 않겠죠? 여러 오류들도 많이 날 수 있거니와,
코드도 너무나도 길어지겠죠.
따라서 JSP 라는것을 쓰면 되는데요,
유명한 기본입문서인 Head First Servlet & JSP 에 나오는 말을 인용하면
" HTML 안에다 자바 코드를 넣을 수 있는 것이 JSP 다! " 라고 표현 했습니다.
이 말은 맞는 말이긴 하지만, 제 개인적인 견해는 약간은 모순이 있다고 보여집니다.
극단적으로 JSP = Java + HTML 으로만 인식을 심어줄 수도 있기 때문입니다.
어쨋든,
위의 테스트코드처럼 자바 클래스 안에다가 HTML 코딩하는것이 아니라 그 반대로 하는것이지요!
약간 길어졌습니다만,
어쨋든 도우미 어플리케이션 ( 여기에선 서블릿 ) 의 기능을 알아보았습니다.
간단하죠?
그럼 뿅!
반응형