-
JSP | 웹 프로그래밍의 이해JAVA/JSP 2020. 2. 14. 17:26
웹 프로그래밍의 이해
간단한 내용을 웹 페이지에 표시할 때는 HTML 태그만으로도 충분하지만
데이터가 실시간으로 변화하는 것을 처리하거나 저장하기에는 불충분함이렇게 동적으로 변화하는 데이터를 처리하고 표시하기 위해
웹 프로그래밍 언어가 개발됨- CGI, ASP, PHP, JSP 등이 웹 프로그래밍 언어에 포함됨
우리가 공부할 것은 JSP - 웹 프로그래밍은 기본적으로 클라이언트(Client) / 서버(Server) 방식으로 이루어짐
- 클라이언트가 특정 페이지를 웹 서버에 요청하면
웹 서버가 이를 처리한 후 결과를 다시 클라이언트에게 응답하는 구조
웹 애플리케이션의 구조 및 구성 요소
웹 애플리케이션이란 웹을 기반으로 실행되는 프로그램을 의미하며
웹 프로그래밍을 통해 구현함
웹 애플리케이션 처리 과정
- 웹 브라우저가 웹 서버에 특정 페이지 요청
- 웹 서버가 웹 브라우저의 요청을 받아서 요청된 페이지의 로직 및
데이터베이스와의 연동을 위해 웹 애플리케이션 서버에 이들의 처리를 요청 - 웹 애플리케이션 서버는 데이터베이스와의 연동이 필요한 경우 이를 수행
- 로직 및 데이터베이스 작업의 처리 결과를 웹 서버에 전송
- 웹 서버가 웹 브라우저에 결과 응답
웹 애플리케이션 구성 요소 및 기능
구성 요소 기능 웹 브라우저 웹에서 클라이언트이며 사용자의 작업창이라고도 함
ex) IE, Chrome, Safari, FireFox etc.웹 서버 웹 브라우저의 요청을 받아들이며 작업의 결과를 웹 브라우저에 응답하기도 하는 곳
요청된 페이지의 로직 및 DB와의 연동을 위해 애플리케이션 서버에 이들의 처리를 요청하는 작업을 수행
ex) Apache(아파치), IIS(Internet Information Server)웹 애플리케이션 서버(WAS) 요청된 페이지의 로직 및 DB와의 연동을 처리하는 부분
영어권에서는 그냥 애플리케이션 서버라고 함
ex) WebLogic, WebSphere, Apache Tomcat데이터베이스(DB) 데이터 저장소로 웹에서 발생한 모든 데이터가 저장되는 영역
게시판의 글이나 회원 정보 등이 저장됨
ex) Oracle, MySQL※ Apache Tomcat: Jakarta Project에서 무료로 제공하는 웹 컨테이너
웹 애플리케이션 서버 기능을 갖고 있지만
JSP와 서블릿을 서비스해주는 웹 컨테이너로 주로 사용되기 때문에
보통 웹 컨테이너로 불림
웹 애플리케이션 처리 방식
CGI 방식과 웹 애플리케이션 서버(WAS) 방식이 있음
기본적인 처리 구조는 같으나
웹 서버가 웹 애플리케이션 프로그램을 사용하는 방식에 차이가 있음
CGI 방식
Common Gateway Interface
- 웹 서버가 웹 애플리케이션을 직접 호출하는 구조
- 1개의 요청에 대해 1개의 프로세스가 생성되어 요청을 처리한 뒤 종료됨
즉 1000명의 사용자가 요청하면 1000개의 프로세스 생성 - 동시 접속자가 많은 경우 시스템에 과부하를 초래
- 현재 일부의 UNIX 플랫폼을 제외하고는 CGI 방식을 사용하지 않음
※ 프로세스(Process): 메모리 할당을 받은 프로그램 즉,실행 중인 프로그램을 의미
WAS 방식
Web Application Server
- 웹 서버가 애플리케이션 프로그램을 직접 처리하지 않고,
웹 애플리케이션 서버가 처리하도록 넘기는 방식 - 여러 명의 사용자가 동일한 페이지를 요청할 때 오직 한 개의 프로세스만 할당
사용자의 요청을 쓰레드(Thread) 방식으로 처리함 - 프로세스가 하나만 생성되기 때문에 메모리 절약 가능
- CGI 방식에 비해 더 많은 사용자에게 서비스를 제공할 수 있으며
전체적으로 성능도 향상되어 보다 안정적인 웹 서비스 제공 가능 - JSP 역시 WAS 방식을 취함
웹 앱 구현 방식
실행 코드 방식과 스크립트 코드 방식이 있음
앞으로는 애플리케이션을 앱으로 줄여서 작성
실행 코드 방식
- 미리 컴파일된 실행 츠로그램을 사용자 요청에 따라 실행
- CGI 방식
스크립트 코드 방식
- Client Side Script: 클라이언트 쪽에서 처리하는 스크립트 언어
ex) JavaScript, VBScript etc. - Server Side Script: 서버 쪽에서 처리하는 스크립트 언어
ex) JSP, ASP, PHP etc. - 사용자의 요청이 발생하면 스크립트 코드를 번역하여 번역된 코드를 실행
- 스크립트 코드는 최초 요청이 있을 때 단 한번만 번역되며
이후에는 번역된 코드가 실행됨
→ 실행 코드 방식과 처리 속도에 큰 차이 없음 - 실행 코드 방식에 비해 쉽고 빠르게 웹 앱 구현 가능
- WAS 방식으로 실행 코드 방식에 비해 전체적인 성능이 뛰어남
JSP에 대해 알아보기 전에 웹 프로그래밍의 전체적인 개요에 대해 간략히 알아보았습니다.
JSP 역시 웹 프로그래밍 언어이기 때문에 웹 프로그래밍의 기초에 대해 아는 것은 분명 도움이 될 것입니다.
'JAVA > JSP' 카테고리의 다른 글
JSP | Page Diretives_<%@ page %> (0) 2020.02.18 JSP | Script 3대 요소 & Comment 주석 (0) 2020.02.17 JSP | JSP 환경 설정 (0) 2020.02.14 JSP | JSP 개요 및 특징 (0) 2020.02.14 JSP | Servlet 서블릿 개요 (0) 2020.02.14 - CGI, ASP, PHP, JSP 등이 웹 프로그래밍 언어에 포함됨