본문 바로가기
뒤끝 (Back-End)

[JSP] Servlet과 JSP

728x90

CSI(Common Gateway Interface) : 동적 페이지를 위한 기술, 웹 서버와 동적 컨텐츠 생성을 맡은 프로그램 사이에서 정보를 주고받는 인터페이스, 초기 웹 프로그래밍에 사용됨, 프로세스 단위로 실행되기 때문에 사용자 증가 시 급격한 성능 저하

확장 CGI : 전통적인 CGI 방식의 단점 보완, 매번 프로세스 생성 방식에서 동일한 프로그램에 대해서는 여러 개의 스레드 방식으로 처리하므로 시스템의 부하를 줄임

구분 설명
CGI 동적 컨텐츠 처리를 위한 가장 전통적인 방법
CGI용 프로그램은 CGI 규약만 지키면 어떤 언어라도 가능
프로세스 기반 프로그램으로 시스템의 효율성 측면에서 시스템에 많은 부하
확장 CGI Servlet / JSP Java 언어 기반
플랫폼에 대해 독립적임과 동시에 컴파일된 파일을 재컴파일 없이 즉시적인 이식이 가능
웹서버 : Apache, IIS
PHP C언어와 비슷한 문법을 사용, 리눅스터럼 소스가 공개되어 있음
웹서버 : Apache, IIS
ASP 비주얼 베이직 언어의 문법 중 일부를 사용
ActiveX 컴포넌트로 접근 가능

 

서블릿(Servlet) : 서블릿 규약에 따라 제작된 클래스로 서버에서 웹 페이지 등을 동적으로 생성하거나 전송되는 데이터 처리를 수행하기 위해 Java로 작성된 프로그램을 의미함, 서블릿을 실행하기 위해서는 먼저 환경을 구축해야 하며 서블릿 실행 환경을 구축하기 위해서는 아파치 톰캣(Apache Tomcat) 등 서블릿 컨테이너(웹 컨테이 너)가 필요함

웹 컨테이너 : 웹 서버의 컴포넌트 중 하나로 Java 서블릿과 상호작용을 수행하며 웹 컨테이너는 서블릿의 생명주기를 관리, 사용자 요청 URL과 특정 서블릿을 맵핑하여 URL 요청이 올바르게 접근할 수 있도록 권한을 보장함, 순수 서블릿을 처리하는 경우 서블릿 컨테이너라고 하지만 서블릿 컨테이너를 포함한 JSP, HTTP 서버의 기능도 함께 포함하기 때문에 웹 컨테이너라고도 부름

JSP : 웹 프로그래밍 언어들 중의 하나 동적인 페이지를 생성하기 위한 서버측 스크립트 언어, 서블릿의 단점을 보완하기 위해 스크립트 방식을 도입, HTML 파일 내에 Java 언어를 삽입한 문서

  • 빈즈 자바 컴포넌트를 사용 가능
  • 최초 서블릿 컴파일 후 메모리에서 처리 -> 사용자 접속이 많아도 원활하게 처리
  • 다른 서블릿 간의 간편한 데이터 공유 -> page, request, session, application 범위 지정
  • 자바언어 기반 -> 객체지향적, 플랫폼 독립적, 네트워크 지향적, 뛰어난 보안성, 멀티 스레드 등

 

 

 

 

 

서블릿으로 구현한 예

 

 

 

 

 

 

 

JSP으로 구현한 예

 

 

 

728x90