CS/웹 프로그래밍(JSP)

동적 웹프로그래밍

yglee730 2021. 4. 12. 22:57
728x90

동적 웹프로그래밍이란?

정적인 문제를 해결하기 위해 동적으로 변화하는 데이터를 처리하고 표시하기 위해서 개발된 것

ex) CGI, ASP, PHP, JSP

 

CGI(Common Gateway Interface)

-웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약

-CGI는 C/C++등의 프로그래밍 언어를 숙달되게 사용할 줄 알아야 함.

-해당 애플리케이션이 생성한 텍스트을 조금이라도 변경해야하는 작업을 수행할 때마다,

 실행파일을 다시 컴파일 해야한다는 단점을 갖고 있다

 

ASP(Active Server Page)

- VB언어를 기반으로 스크립트방식으로 동적인 웹 페이지를 작성할 수 있도록 지원하는 기술

- ASP는 ActiveX라는 제공된 컴포넌트를 사용할 수 도 있고, 이것을 직접 개발하기 위한 기능도 제공함.

- ASP의 치명적인 단점은 특정 플랫폼과 특정 웹 서버에서만 동작한다는 점이다.(Windows)

 

PHP

- PHP는 ASP와는 달리 특정 플랫폼에서만 동작하지 않는다.

- PHP는 C 언어를 기반으로 만들어진 서버에서 실행되는 스크립트언어로

  기존의 C언어에 익숙한 개발자들이 보다 쉽게 접근할 수 있다는 장점

- 컴포넌트를 사용할 수 없을 뿐만 아니라, 보안에 취약한 점을 가지고 있어서

   PHP기반으로 만들어진 웹사이트들이 해킹의 목표가 되고 있다는 단점

 

Servlet 과 JSP(Java Server Page)

- JSP와 Servlet은 자바기반으로 만들어진 웹 프로그래밍 언어이다.

- Servlet이 자바코드에 의존적이라면 JSP는 덜 의존적이라 프로그래밍하기가 더 쉽고 편하다.

   JSP와 Servlet은 같은 처리구조를 가진다.

- JSP는 실행시 Servlet으로 변환된다. 단 한번만 서블릿으로 변경되면

  코드를 수정하기 전까지 재 변환작업이 일어나지 않기 때문에

  수행속도 JSP나 서블릿간에 별차이가 없다.

 

웹 어플리케이션의 구성요소

기능

웹 브라우저

웹에서 클라이언트이며, 사용자의 작업창이라 할 수 있다. 모든 사용자의 요청은 웹 브라우저를 통해서 웹 서버로 전달된다.

웹 서버

웹 브라우저의 요청을 받아들이는 곳으로, 웹 브라우저가 요청한 작업의 결과도 웹 브라우저에게 응답을 담당하는 곳이다. 또한 요청된 페이지의 로직의 수행 및 데이터베이스와의 연동을 위해 웹 어플리케이션 서버에 이들의 처리를 요청하는 작업을 수행한다.

웹 어플리케이션 서버(WAS)

웹 브라우저가 요청한 작업에 필요한 프로그래밍 로직의 처리 및 데이터베이스와의 연동을 처리하는 부분이다. 이때 처리결과를 웹 브라우저로 응답하기 위해서 처리결과를 웹 서버로 보낸다.

데이터베이스

데이터의 저장소로 웹에서 발생한 데이터는 모두 이곳에 저장된다. 게시판의 글들, 회원의 정보 등을 예로 들 수 있다. 사용자의 입장에서 가장 안쪽에 있기 때문에 데이터베이스 서버를 Back-end Server라고도 부른다.