Skip to content

Latest commit

 

History

History
119 lines (76 loc) · 3.11 KB

TIL_221214.md

File metadata and controls

119 lines (76 loc) · 3.11 KB

❤️‍🔥 TIL Day 19 ❤️‍🔥

📆 2022년 12월 14일 수요일




TIL 작성할 생각도 없이 자바웹 개발 공부만 했다...




📚 web.xml

Web Application Structure(웹 서비스 기본 설정 구조) 이해
> web.xml의 설정 내용 이해
> web.xml의 역할과 간단한 예시
spring MVC에서 web.xml의 구체적인 설정 내용 이해


🖤 Web Appplication Structure(웹 서비스 기본 설정 구조)


  1. src

    • 개발자가 작성한 Servlet 코드 저장
  2. Libraries

    • Servlet 이나 JSP에서 추가로 사용하는 라이브러리 또는 드라이버
    • jar로 압축한 파일이어야함
  3. WebContent

    • Deploy할 때 WebContent 디렉터리 전체가 .war로 묶어서 보내짐
    • WEB-INF
      • lib:
        추가한 모든 라이브러리 또는 드라이버가 이곳에 모두 저장됨
      • classes:
        작성한 Java Servlet 파일이 나중에 .class로 이곳에 모두 저장됨
      • web.xml:
        SUN에서 정해놓은 규칙에 맞게 작성해야 하며
        모든 WAS에 대하여 작성 방법이 동일
    • .html 파일들
      • 관련된 HTML 소스를 저장
      • Ex) WebContent - views Directory - index.html은
        http://localhost/helloLogin/views/index.html과 매핑됨



🖤 web.xml 기본 설정

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>

  1. aliases 설정

    • 서블릿 이름을 실제 서블릿 클래스에 연결
    • <servlet-name>A</servlet-name>
      아래 매핑 설정에서의 servlet-name은 반드시 같아야함
    • <servlet-class>servlets.AServlet</servlet-class>
      개발자에 의해 작성된 실제 클래스 이름으로 설정해야함
      Ex. (패키지이름).(서블릿클래스이름)
  2. 매핑

    • URL을 서블릿 이름에 연결
    • <url-pattern>/A</url-pattern>은 클라이언트(browser)의 요청 URL에서 앱(project) 이름 뒤에 오는 부분으로, 슬래시('/')로 시작해야함

📍 [참고] 클라이언트(browser)가 요청하는 URL 정보

  • 요청을 보낼 서버의 IP 주소 : Port 번호 / App 이름 / 달라고 요청하는 HTML
  • Ex. localhost:8080/FormHandlingServlet/LoginForm.html



🖤 spring MVC에서의 web.xml 구체적인 설정

  • DispatcherServlet
  • ContextLoaderListener
  • encodingFilter

📍 DispatcherServlet