📆 2022년 12월 14일 수요일
TIL 작성할 생각도 없이 자바웹 개발 공부만 했다...
Web Application Structure(웹 서비스 기본 설정 구조) 이해
>web.xml
의 설정 내용 이해
>web.xml
의 역할과 간단한 예시
spring MVC에서web.xml
의 구체적인 설정 내용 이해
-
src
- 개발자가 작성한
Servlet
코드 저장
- 개발자가 작성한
-
Libraries
Servlet
이나JSP
에서 추가로 사용하는 라이브러리 또는 드라이버jar
로 압축한 파일이어야함
-
WebContent
Deploy
할 때WebContent
디렉터리 전체가.war
로 묶어서 보내짐WEB-INF
- lib:
추가한 모든 라이브러리 또는 드라이버가 이곳에 모두 저장됨 - classes:
작성한Java Servlet
파일이 나중에.class
로 이곳에 모두 저장됨 - web.xml:
SUN에서 정해놓은 규칙에 맞게 작성해야 하며
모든 WAS에 대하여 작성 방법이 동일
- lib:
.html
파일들- 관련된
HTML
소스를 저장 - Ex) WebContent - views Directory - index.html은
http://localhost/helloLogin/views/index.html
과 매핑됨
- 관련된
web application의 설정을 위한
> deployment descriptor
- Deploy할 때 Servlet의 정보를 설정
- 브라우저가 Java Servlet에 접근하기 위해서는
WAS(Ex. Tomcat)에 필요한 정보를 알려줘야
해당하는 Servlet을 호출할 수 있다- 정보 1) 배포할 Servlet
- 정보 2) 해당 Servlet이 어떤 URL에 매핑되는지
<web-app>
<display-name>nostalJW</display-name>
<servlet>
<servlet-name>welcome</servlet-name>
<servlet-class>servlets.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>welcome</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
-
aliases 설정
- 서블릿 이름을 실제 서블릿 클래스에 연결
<servlet-name>A</servlet-name>
와
아래 매핑 설정에서의servlet-name
은 반드시 같아야함<servlet-class>servlets.AServlet</servlet-class>
은
개발자에 의해 작성된 실제 클래스 이름으로 설정해야함
Ex. (패키지이름).(서블릿클래스이름)
-
매핑
- URL을 서블릿 이름에 연결
<url-pattern>/A</url-pattern>
은 클라이언트(browser)의 요청 URL에서 앱(project) 이름 뒤에 오는 부분으로, 슬래시('/')로 시작해야함
- 요청을 보낼 서버의 IP 주소 : Port 번호 / App 이름 / 달라고 요청하는 HTML
- Ex.
localhost:8080/FormHandlingServlet/LoginForm.html
DispatcherServlet
ContextLoaderListener
encodingFilter