개발/JSP Servlet

웹 프로그래밍과 JSP

kkap999 2021. 12. 4. 16:02
728x90

웹 프로그래밍은 동적 웹 프로그래밍(JSP)과 정적 웹 프로그래밍(초기 웹 프로그래밍)으로 구분할 수 있다.

 

1. 정적 웹 프로그래밍 ( Static Web Programming)

 - 웹 서버(Apache)에 미리 보여줄 HTML, CSS, img, JavaScript 등의 파일을 정해놓고, 사용자가 요청할 경우 전달하는 방식

 - 사용자는 페이지가 변경되지 않는 한 고정된 웹 페이지를 보게된다.

 - UI 구성이나 이벤트 처리 등에 사용

 - 구성요소: 웹 서버, 클라이언트, HTTP, HTML, JavaScript, CSS

 

 * 문제점: 환율, 주가와 같은 실시간 정보를 처리하기 위해서는 관리자가 HTML 코드를 수시로 업데이트해줘야 한다.

      → 이와 같은 이유로 요새는 많이 사용하지는 않지만, 디자인이나 이벤트를 처리하는 용도로는 중요하게 사용된다.

 

2. 동적 웹 프로그래밍 ( Dynamic Web Programming )

 - 처음에는 CGI(Common Gate Interface)로 동적 방식을 제공하였다.

                   *대표적인 언어로 펄(Perl)이 있다.

 * CGI 동작방식의 특징

   - 초기 웹 프로그램에서 사용하는 방식

   - 프로세스 방식으로 실행        ┐

   - 서버의 부하가 심함           : 정보 요청시마다 WAS가 해당 기능을 수행하는 프로세스를 메모리에 생성

 

CGI는 이러한 동작방식 때문에 다음과 같은 문제점이 발생한다.

  • 같은 동작을 사용하더라도 각 경우마다 처음부터 메모리에 로드해서 수행
  • 초기엔 사용자나 기능이 많지 않아서 문제가 없었으나 규모가 커짐에 따라 메모리에 과부하가 발생

     →이러한 문제점들을 해결하기 위해 JSP, ASP, PHP가 등장

 

3. JSP 프로그램의 특징

JSP는 기본적으로 스레드 방식으로 실행하기 때문에 CGI보다 효율적이다.

 - 클라이언트의 요구를 처리하는 기능이 최초 한 번만 메모리에 로드된다.

 - 동일한 기능을 요구할 시, 해당 프로세스를 재사용한다.

 - 속도/메모리 모두 good

 

참고 도서: [이병승, 길벗] 자바 웹을 다루는 기술