Hayden's Archive

[Servlet] web.xml(DD 파일) 본문

Study/Java & Kotlin

[Servlet] web.xml(DD 파일)

_hayden 2020. 6. 9. 19:15

web.xml (DD 파일)

- 클라이언트의 요청을 수행할 서버사이드의 컴포넌트가 먼저 만들어져 있어야 함. 

- 자바 SE 레벨에서는 객체 생성의 주체는 개발자. 하지만 자바 EE 레벨에서는 WAS가 서블릿 객체를 생성한다. 개발자는 실행해서 컴파일하고 배포하면 됨. 

- 서버가 인식할 수 있는 유일한 기술이 xml. 프로그램 아님. 프로그램은 인간이 머신을 이해하는 랭귀지. WAS(컨테이너)가 인식할 수 있는 기술은 xml임. 예전에는 이걸 다 개발자가 만들었다.

- WAS는 가동되면 web.xml을 읽어들인다.

- WAS가 이걸(web.xml) 읽어서 매핑해서 인스턴스를 컨테이너 메모리 안에다가 생성.  XML은 주석 잘 안 다는 게 좋음.

- web.xmlDD(Deployment Descriptor 배포 서술자) 파일이라고도 한다.

 

<?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_2_5.xsd" id="WebApp_ID" version="2.5">
  <servlet>
    <servlet-name>GenericServletTest1</servlet-name>
    <servlet-class>servlet.generic.GenericServletTest1</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>GenericServletTest1</servlet-name>
    <url-pattern>/GST1</url-pattern>
  </servlet-mapping>
</web-app>

<servlet></servlet>
=> 의미 : a servlet instance
서블릿 정보를 등록하는 역할. 

- 가장 핵심 정보는 매핑 정보. 서버 내부 정보냐 url 정보냐.

- 서블릿 주문서를 작성하는 건 개발자가 함. 그 주문서를 보고 서블릿을 직접 제작하는 건 WAS.

- 서블릿 인스턴스 매핑정보 -- WAS가 이 정보를 알아야 함 (WAS가 서블릿을 만들어주기 때문. 서블릿 인스턴스 객체 생성 주체가 WAS)   
    * FQCN : servlet.generic.GenericServletTest1 
    * Server 내부이름 매핑 : GenericServletTest1
    * 클라이언트 url 매핑 : GST1 (작성시 반드시 앞에 /를 붙여줘야 함)