웹 어플리케이션 형식
WEB-INF : web.xml 파일을 포함
src : 자바(.java) 소스 코드가 위치
classes : 자바 소스 코드를 컴파일 한 클래스 파일이 위치
lib : 웹 어플리케이션을 실행하는 데 필요한 jar 파일 위치
웹 어플리케이션과 웹 프로그래밍
- '웹 어플리케이션'은 웹을 기반으로 실행되는 어플리케이션을 의미한다.
- 우리는 웹 브라우저(인터넷 익스플로러, 크롬, 파이어폭스 등)에 주소를 입력함으로써 웹 어플리케이션에 기능을 요청하고, 요청을 받은 웹 어플리케이션은 요청한 기능에 알맞은 결과 화면을 생성해서 웹 브라우저에 전송한다.
- 웹 브라우저가 요청한 기능을 제공하기 위해서는 보통 웹 서버, 어플리케이션 서버, 데이터베이스와 같은 구성 요소들을 필요로 한다.
▲ 웹 브라우저에 서비스를 제공하기 위해 필요로 하는 구성 요소들
구성 요소 | 역할 | 주요 제품 |
웹 서버 | - 웹 브라우저의 요청을 받아서 알맞은 결과를 웹 브라우저에 전송한다. 만약 프로그램 처리가 필요하다면 어플리케이션 서버를 사용하거나 프로그램을 직접 호출하여 결과를 생성한다. - 주로 정적인 HTML, 이미지, CSS, 자바 스크립트 파일을 웹 브라우저에 제공할 때 웹 서버를 사용한다. |
아파치(Apache), nginx 등 |
어플리케이션 서버 | - 게시글 목록, 로그인 처리와 같은 기능을 실행(처리)하고, 그 결과를 응답으로 웹 서버에 전달한다. | 톰캣(Tomcat), JBoss 등 |
데이터베이스 | - 웹 어플리케이션이 필요로 하는 데이터를 저장한다. | 오라클(Oracle), MySQL, MSSQL 등 |
웹 브라우저 | - 웹 서버에 서비스 실행을 요청하며, 웹 서버의 처리 결과를 사용자에게 보여준다. | 인터넷 익스플로러, 구글 크롬, 파이어 폭스 등 |
- 어플리케이션 서버도 웹 서버와 마찬가지로 정적인 HTML이나 CSS, 이미지 등을 제공할 수 있는데, 웹 서버에서 정적인 HTML과 이미지 등을 제공하고 어플리케이션 서버가 프로그램(기능)을 제공하는 이유는 성능 때문이다. 일반적으로 아파치와 같은 웹 서버는 정적인 HTML과 CSS를 제공하는데 초점이 맞춰져 있고, 톰캣이나 웹로직과 같은 어플리케이션 서버는 JSP, 서블릿과 같은 프로그램을 실행하여 결과를 제공하는데 초점이 맞춰져 있다. 따라서 위 그림과 같이 웹 서버와 어플리케이션 서버를 연동하여 정적인 HTML, CSS, 이미지 파일 등은 웹 서버가 제공하도록 하고 JSP나 서블릿에 대한 요청은 웹 서버가 어플리케이션 서버에 전달하도록 구성하는 것이 일반적이다.
CGI방식과 어플리케이션 서버 방식
- 웹 어플리케이션은 웹 브라우저의 요청을 알맞게 처리하고 그에 대한 결과를 웹 브라우저에 전달한다. 즉 '요청 - 처리 - 응답'의 3단계 과정으로 정리할 수 있다.
▲ 웹 어플리케이션 실행 순서
- 웹 서버는 웹 어플리케이션 프로그램을 사용해서 웹 브라우저의 요청을 처리한다. 이때 웹 서버가 웹 어플리케이션 프로그램을 실행하는 방식에 따라서 CGI 방식, 어플리케이션 서버 방식 두 가지 형태로 웹 어플리케이션 동작 방식을 구분할 수 있다.
'예전 포스팅 모음' 카테고리의 다른 글
EL(Expression Language)이란? (0) | 2014.12.02 |
---|---|
[jsp] action tag(표준액션) (0) | 2014.12.01 |
[html] 구분, div, 좌표설정 (0) | 2014.10.30 |
[html] 테이블 정렬, 칸 합치기, HTML Form control (0) | 2014.10.29 |
[html] html과 각종 태그들 (0) | 2014.10.24 |