본문 바로가기

11. Spring

[Spring]web.xml

간단하게 그려본 Spring MVC

 

머리속에 있던 Spring MVC를 그림으로 나타냈다.

⑥ View의 경우 View Resolver와 합쳐서 설명하는 곳도 있다.

 

web.xml은 파일 이름 그대로 스프링에서 제공하는 기능을 사용하여 request가 들어왔을때 어떻게 처리해 줘야 할 지 설정을 할 수있다. 위에 그림에서는 ① 상황.

 

Spring Legacy Project → Spring MVC로 프로젝트 생성하였을 때 web.xml

 

이제 하나씩 살펴보자.

 

(구성의 경우 내가 보거나 사용했던 태그들 위주로 구성하였기 때문에 없는 내용이 있을수 있다)

 

 

● <?xml version="1.0" encoding="UTF-8"?>
 xml 파일이라고 선언하는 부분. encoding은 UTF-8로 설정되어 있다.


<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <web-app> 태그는 web.xml파일의 루트 요소로, 웹 애플리케이션에 관련된 정보와 설정을 포함한다.
version은 웹 애플리케이션의 Java EE 버전을 나타내며, xmlns와 같은 다양한 속성은 XML 네임스페이스와 스키마 위치를 정의하는데 사용.

이 태그 내에 <servelt>, <filter>, <listener> 등을 정의하고 애플리케이션 레벨에 초기화 파라미터를 설정


● <web-app>태그에 쓰이는 태그들 종류

 

ㆍ <servlet>
서블릿을 정의하는 태그.


ㆍ <servlet-name>
서블릿의 이름을 지정한다.


ㆍ <servlet-class>
서블릿의 클래스명을 지정한다.

ㆍ <servlet-mapping>
서블릿과 URL 패턴을 연결하는 태그이다.


ㆍ <servlet-name>
<servlet>에서 정의한 서블릿의 이름과 매칭된다.


ㆍ <url-pattern>

URL 패턴을 지정하여 해당 패턴과 일치하는 URL에 서블릿을 연결한다.

 

 

 

filter는 request가 DispatcherServlet으로 넘어오기 전에 처리 되는 기능.

(단어 그대로 필터 역할이다. 나중에 따로 정리)

 

ㆍ <filter>

필터를 정의하는 태그이다.


ㆍ <filter-name>

필터의 이름을 지정한다.


ㆍ <filter-class>

필터의 클래스명을 지정한다.


ㆍ <filter-mapping>

필터와 URL 패턴을 연결하는 태그이다.


ㆍ <filter-name>

<filter>에서 정의한 필터의 이름과 매칭된다.


ㆍ <url-pattern>

URL 패턴을 지정하여 해당 패턴과 일치하는 URL에 필터를 연결한다.

 

 

 

리스너(listener)는 웹 애플리케이션에서 발생하는 이벤트 응답하기 위한 Java 클래스이다.

(자바스크립트의 리스너와 비슷하다)

 

org.springframework.web.context.ContextLoaderListener 클래스는 웹 애플리케이션 컨텍스트를 초기화하는데 사용되는 ServletContextLisnter 구현체로 보통 시작할 때 Spring ApplicationContext를 설정하고 관리한다.

 

ㆍ <listener>

리스너를 정의하는 태그이다.
ㆍ <listener-class>

리스너의 클래스명을 지정한다.

 

 

 

<context-param>은 Java 웹 애플리케이션에서 사용되는 초기화 매개변수를 정의하는 데 사용된다. 내가 커스텀한 구성 설정이나 환경 변수와 관련된 정보를  밑에 처럼 구성할 수 있다.

 

<context-param>
           <param-name>contextConfigLocation</param-name>
           <param-value>/WEB-INF/spring/context-dataSource.xml</param-value>
</context-param>


ㆍ <context-param>

웹 애플리케이션의 초기화 파라미터를 설정하는 태그이다. (중복설정 가능)

 


ㆍ <param-name>

파라미터의 이름을 지정한다.


ㆍ <param-value>

파라미터의 값을 지정한다.

 

 

 

밑에 태그는 '어떤 오류가 발생하였을 때 이런 페이지를 보여줘' 라고 밑에 태그처럼 설정이 가능하다.


ㆍ <error-page>

오류 페이지를 정의하는 태그이다.
ㆍ <error-code>

오류 코드를 지정한다.

ㆍ<exception-type>

예외 유형을 지정한다.
ㆍ <location>

오류가 발생했을 때 보여줄 페이지의 위치를 지정한다.

 

'11. Spring' 카테고리의 다른 글

[Spring] Redis 연동해보기  (0) 2024.02.05
[Spring]@RequestBody, @ResponseBody  (0) 2023.12.12
[Spring]Spring MVC  (0) 2023.12.01
[Maven]pom.xml  (0) 2023.11.30
Spring 카테고리  (0) 2023.11.27