일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- thymeleaf
- 타임리프유틸리티객체
- 타임리프기본객체
- 타임리프Unescape
- mysql
- mysql설치하기
- 타임리프날짜
- mysql다운로드
- 정처기실기요약
- spring
- mybatis
- 타임리프SpringEL
- ER모델
- HelloWorld출력
- 정보처리기사
- 이클립스없이cmd
- 정처기실기
- 타임리프Escape
- cmd에서java파일실행
- 타임리프 표현식
- java
- 타임리프변수
- 스프링부트설정
- 정보처리기사실기요약
- git
- MySQL설치순서
- 타임리프 특징
- 개체관계모델
- 정보처리기사실기
- 타임리프URL
- Today
- Total
ye._.veloper
[자바 웹을 다루는 기술] 웹 애플리케이션(Web Application) 본문
- 웹 애플리케이션의 구조와 이를 이루는 요소들에 대해 공부하고,
실제로 웹 브라우저에서 요청이 왔을 때, 각 기능들이 어떻게 동작하는지 그 과정까지 공부해보자
☁ 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]와 [하위 디렉터리] 구조를 기본 구조로 가진다.
· 위와 같은 구조를 갖추지 않고 컨테이너에서 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.
책 - 자바 웹을 다루는 기술[길벗]