ye._.veloper

[자바 웹을 다루는 기술] 웹 애플리케이션(Web Application) 본문

Web

[자바 웹을 다루는 기술] 웹 애플리케이션(Web Application)

ye._.veloper 2023. 1. 30. 13:34

- 웹 애플리케이션의 구조와 이를 이루는 요소들에 대해 공부하고,

  실제로 웹 브라우저에서 요청이 왔을 때, 각 기능들이 어떻게 동작하는지 그 과정까지 공부해보자

 

☁ Web Application 정의

 · 기존의 정적인 웹 애플리케이션의 기능을 그대로 사용하면서 서블릿(Servlet, Java로 만든 CGI 프로그램), JSP, Java Class들을 추가하여, 사용자에게 동적인 서비스를 제공하는 프로그램

 

 · 웹 컨테이너에서 실행되는 JSP, Servlet, Java Class들을 사용해 정적 웹 프로그래밍 방식의 단점을 보완하여 서비스를 제공하는 서버 프로그램을 "웹 애플리케이션"이라 한다.

 

 · 따라서 정적 웹 애플리케이션의 기능인 HTML, JavaScript, CSS 등도 웹 애플리케이션에서 그대로 사용할 수 있다.

 

☁ Web Application 기본 구조

 · 실제 Tomcat과 같은 웹 컨테이너에서 실행하는 Web Application의 기본 Directory(폴더) 구조에 대해 살펴보자.

 · 컨테이너에서 실행되는 모든 Web Application은 아래 그림과 같이 웹 애플리케이션의 이름으로 이뤄진

     [Root Directory][하위 디렉터리] 구조를 기본 구조로 가진다.

서블릿/JSP로 구성된 웹 어플리케이션의 기본 폴더 구조

 · 위와 같은 구조를 갖추지 않고 컨테이너에서 Web Application을 실행하면 오류가 발생한다.

 · 만약 기본 구조 외에 다른 기능이 추가되면 Directory를 추가해서 사용하면 된다.

 

 · Web Application 기본 구조 만들기

      1 ) C 드라이브에 webShop 폴더 생성하기

      2 ) webShop 폴더 안에 WEB-INF 폴더 생성하기

      3 ) WEB-INF 폴더에 classes와 lib 폴더를 각각 생성하기

      4 ) WEB-INF 폴더에 우클릭한 후, 새로만들기 > 텍스트 문서 선택(텍스트 파일 생성) 후 이름을 web.xml로 변경하기

      5 ) VS Code로 web.xml 파일을 열고 다음 코드를 작성하기 (오타에 주의하기)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
</web-app>

 💡 Tomcat 8 버전까지는 위의 코드를 추가하지 않아도 자동으로 생성되었으나, 9 버전부터는 xml을 추가해야 한다.

 

 

☁ 웹 애플리케이션 구성 요소의 기능

구 성 요 소 기 능
webShop
[C 드라이브 내에 생성한 폴더]
 · 웹 애플리케이션의 루트 디렉터리
 · 다른 웹 애플리케이션 이름과 중복 불가, JSP HTML 파일이 저장
WEB-INF  · 웹 애플리케이션에 관한 정보가 저장되는 곳
 · 외부에서 접근할 수 없는 디렉터리
classes  · 웹 애플리케이션이 수행하는 서블릿과 다른 일반 클래스들이 위치
    ( = 웹 애플리케이션에서 사용하는 class 파일이 위치)
lib  · 웹 애플리케이션에 사용되는 여러 라이브러리 압축 파일(jar 파일)을 저장
 · DB 연동 드라이버나 프레임워크 기능 관련 jar 파일 저장
 · lib 디렉터리의 jar는 class path가 자동으로 설정된다.
web.xml  · 배치 지시자(deployment descriptor), 일종의 환경 설정 파일
 · 웹 애플리케이션에 대한 여러 설정을 할 때, 사용한다.

 

💡 Web Application에 추가된 구성 요소의 기능

구 성 요 소 기 능
jsp/html JSP 파일과 HTML 파일이 저장된 곳
css stylesheet 파일이 저장된 곳
image 웹 애플리케잇ㄴ에서 사용되는 이미지가 저장된 곳
js JavaScript 파일이 저장된 곳
bin 애플리케이션에서 사용하는 각종 실행 파일이 저장된 곳
conf 프레임워킁서 사용하는 각종 설정 파일이 저장된 곳
src Java Source 파일이 저장된 곳

 

Ref.

책 - 자바 웹을 다루는 기술[길벗]

웹 어플리케이션 폴더 구성과 URL 매핑

Comments