웹 개발을 한다는 것은 WAS(Web Application Server)에서 실행할 수 있는 웹 애플리케이션을 만드는 것이다. 웹 애플리케이션도 역시 프로그램이고 사람이 작성한 소스 코드대로 컴퓨터가 명령어를 실행한다. 간단한 프로그램을 만든다고 했을 때는 개발자가 모든 로직을 스스로 구현하는 것이 가능하다. 하지만 그 규모가 커지고 반복적인 작업이 많아짐에 따라 다른 사람이 작성한 코드를 가져다가 쓰게 된다. 결국 하나의 애플리케이션은 자신이 작성한 코드와 다른 사람들이 작성해 놓은 라이브러리가 결합되어 있는 구조이다. 자바 웹 애플리케이션 구조도 그와 같다.
Web Application
│
└─WEB-INF
│
├─ classes
│
├─ lib
│
└─ web.xml
자바 웹 애플리케이션 코드를 작성하고 빌드해보면 위와 같은 구조를 가진다. 자바로 작성한 코드는 클래스 파일로 컴파일된다. 이 클래스 파일들이 위치하는 곳이 classes 디렉터리이다. 그리고 코드를 작성할 때 불러와서 썼던 라이브러리도 애플리케이션에 포함시켜줘야 애플리케이션을 실행시킬 수 있는데 그 라이브러리는 lib 디렉터리에 들어간다. 즉, 내가 쓴 코드는 classes에, 남이 써놓은 코드는 lib 디렉터리 안에 들어 있다는 것이다.
한편, 이런 단순한 구조 외에 web.xml 파일이 보이는데 이는 웹 애플리케이션을 실행할 때 필요한 설정 파일이다. 웹 애플리케이션이 시작할 때 어떤 서블릿, 필터, 리스너 등을 불러와야 할지 정해놓는 문서인데, 서블릿 스펙 3.0 이후에는 web.xml이 없어도 동작할 수 있도록 바뀌었다. 이에 대해서는 다음번에 자세히 설명해보려고 한다.
단순하게 정리해보면, 웹 애플리케이션은 내가 작성한 코드의 클래스 파일들과 다른 사람들이 미리 작성해 놓은 라이브러리로 구성된다고 볼 수 있다.
'☕Java > Java EE(Jakarta EE)' 카테고리의 다른 글
web.xml이란? (0) | 2022.06.19 |
---|---|
[20210629] JSTL의 태그 종류, MVC 모델 (0) | 2021.06.29 |
[20210628] EL(Expression Language), JSTL(JSP Standard Tag Library) (0) | 2021.06.28 |
[20210625] 자바 서블릿(Servlet), 자바 빈(Java bean) (0) | 2021.06.25 |
[20210624] JSP 기초 문법 (0) | 2021.06.24 |