관리 메뉴

SIMPLE & UNIQUE

Web.xml 본문

Java & Spring/Guide

Web.xml

착한코딩 2017. 3. 13. 18:35


Deployment Descriptor

  • 배포 서술자

1. <?xml version="1.0" encoding="UTF-8"?

    • xml 파일임을 알리고, 한글이 포함될 경우 깨지지 않게 한다.

2. <display-name>webStudy</display-name>

    • DD 파일의 title 정도? 이클립스에서는 기본적으로 프로젝트명으로 설정되며 수정 가능하다.


3. 

<filter> 

<filter-name>encodingFilter</filter-name> 

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 

<init-param> 

<param-name>encoding</param-name> 

<param-value>UTF-8</param-value> 

</init-param> 

</filter>


<filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>


  • 필터는 웹 애플리케이션이 실행되기전, 특정 URL이나 파일 요청 시 먼저 로딩되어 사전에 처리할 작업을 수행한다.

  • <filter-mapping>  에서는 해당 필터를 적용할 URL패턴을 등록한다. 

  • /* 형태로 들어오는 url의 파라미터에 한글이 있을 경우 깨지지 않게 처리

4.

<session-config>

<session-timeout>30</session-timeout>

</session-config>


  • 로그인 후 위 시간동안은 세션이 유지된다.

  • 30분 이후 자동 로그아웃 


5.

 <listener>

  • 어떠한 이벤트가 발생하면 호출되어 처리하는 객체.

  • 단순 문자열이 아닌 객체를 참조할 수 있다.
  • ContextLoaderListener 을 사용하여 서로 다른 설정파일에서 공통으로 사용할 빈을 설정할 수 있다.

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/spring/application-context.xml

/WEB-INF/spring/application-context-security.xml

</param-value>

</context-param>


  • 2개 이상의 스프링 설정 정보를 읽어들일 수 있다.
  • contextConfigLocation 초기화 파라미터에 설정파일을 입력한다.
  • contextConfigLocation 라는 파라미터를 쓰면, Context Loader가 load할 수 있는 설정파일을 2개 이상 쓸 수 있다.

6.

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file-list>

  • 웹 애플리케이션 시작되면 가장먼저 연결되는 파일


7. 

<error-page>

<error-code>401</error-code>

<location>/resources/commons/error/serverError.jsp</location>

</error-page>

<error-page>

<error-code>403</error-code>

<location>/resources/commons/error/serverError.jsp</location>

</error-page>

<error-page>

    <error-code>404</error-code>

    <location>/resources/commons/error/notFound.jsp</location>

</error-page>

<error-page>

<error-code>500</error-code>

<location>/resources/commons/error/serverError.jsp</location>

</error-page>


  • error-code 별로 연결될 page 설정


8. 

<servlet>

<servlet-name>dispatcher</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

</servlet>


<servlet-mapping>

<servlet-name>dispatcher</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>


  • DispatcherServlet 클래스를 초기화하여 spring의 servlet context를 생성

  • servlet-mapping은 *.do 패턴으로 url 요청이 들어왔을 때 servlet-name에 dispatcher servlet을 호출하겠다는 의미

  • Spring에서는 Dispatcher가 모든 요청을 받고, URL과 맵핑하는 Controller에 넘긴다.

  • http://localhost:8080/drug.do 요청 시, @RequestMapping("/drug") annotation이 있는  Controller에 연결된다. 


'Java & Spring > Guide' 카테고리의 다른 글

JSP 내장 객체  (0) 2017.08.16
out 내장 객체  (0) 2017.08.16
request 내장 객체  (0) 2017.08.16
Java instanceof 연산자  (0) 2017.03.31
server.xml의 이해<Apache Tomcat 서버>  (0) 2017.03.10
Comments