웹 애플리케이션이란?
정적인 웹 애플리케이션(HTML,CSS,JS)의 기능을 그대로 사용하면서 서블릿, JSP, 자바 클래스들을 추가하여 사용자에게 동적인 서비스를 제공하는 프로그램을 말한다.
웹 컨테이너에서 실행되는 JSP, 서블릿, 자바 클래스들을 사용해 정적 웹 프로그래밍 방식의 단점을 보완하여 서비스를 제공하는 서버프로그램을 웹 애플리케이션이라고 한다.
따라서 정적 웹 애플리케이션의 기능인 HTML, 자바스크립트 CSS 등도 웹 애플리케이션에서 그대로 사용할 수 있다.
웹 애플리케이션의 기본 구조
컨테이너에서 실행되는 모든 웹 애플리케이션은 웹 애플리케이션의 이름으로 이루어진 루트 디렉터리와 하위 디렉터리 구조를 기본 구조로 가진다.
웹 애플리케이션 이름
│
└─────── WEB-INF
│
├─────── classes
│
├─────── lib
│
└─────── web.xml
이러한 구조를 가지지 않고 컨테이너에서 웹 애플리케이션을 실행하면 오류가 발생한다.
classes 와 lib 는 폴더이고, web.xml 은 보는것과같이 xml 파일이다.
그리고 세 가지 요소를 WEB-INF 디렉토리에 함께 넣어둬야한다.
만약 기본 구조 외에 다른 기능이 추가되면 디렉터리(폴더) 를 추가해서 사용하면 된다!
현재는 이클립스 같은 통합 개발 환경(IDE) 에서 웹 애플리케이션을 개발하지만 초기 웹 애플리케이션 개발 당시에는 위와 같은 구조를 개발자가 직접 만들어서 사용해야했다.
+ 웹 애플리케이션을 제작하려면 이 구조를 알아두는 것이 좋다.
위 구조에 대해 설명을 하자면,
웹 애플리케이션 이름( Web 이라는 이름을 가진다고 하자. ) 이 있으면
Web의 하위 폴더에는 WEB-INF가 있고, WEB-INF 폴더 하위에는 classes와 lib 폴더가있고, web.xml 파일이 있는것이다.
위에 언급한 것처럼 이것이 웹 애플리케이션을 이루는 요소들이다.
Web : 웹 애플리케이션의 루트 디렉터리, 다른 웹 애플리케이션 이름과 중복 허용 X, JSP HTML 파일이 저장된다.
WEB_INF : 웹 애플리케이션에 관한 정보가 저장되는 곳, 이 디렉터리는 외부에서 접근 불가
classes : 웹 애플리케이션이 수행하는 서블릿과 다른 일반 클래스들이 위치하는 곳
lib : 웹 애플리케이션에서 사용되는 여러 가지 라이브러리 압축 파일(jar 파일)이 저장되는 곳, DB 연동 드라이버나 프레임 워크 기능 관련 jar 파일이 여기에 저장됨. lib 디렉터리의 jar는 클래스패스(classpath) 가 자동으로 설정됨.
web.xml : 배치 지시자(deployment descriptor)로서 일종의 환경 설정 파일. 웹 애플리케이션에 대한 여러 가지 설정을 할 때 사용
'프로그래밍 > JAVA WEB' 카테고리의 다른 글
서블릿에서 클라이언트의 요청을 얻는 방법! (0) | 2021.01.03 |
---|---|
HttpServletRequest , HttpServletResponse의 여러가지 메서드 (0) | 2021.01.03 |
JSP 표준 태그 라이브러리 (JSTL) 몇가지 정리 (0) | 2020.10.14 |