web.xml

강의노트/웹 2014. 3. 10. 15:41

▣ web.xml 파일이란?
1. 톰캣의 실행환경에 대한 정보를 담당하는 '환경설정' 파일 이다.

2. 각종 servlet의 설정과 servlet 매핑, 필터, 인코딩 등을 담당한다.

3. web.xml은 톰캣에 있는 모든 web application의 기본설정을 정의한다.
4. web.xml은 각 application이 deploy될 때 각 application의 'WEB-INF/web.xml' deployment descripter에 따라서 처리가 된다.

5. 각 application 마다 설정시, web.xml은 파일을 복사해서 필요한 것만 적으면 된다.


 

▣ 디렉토리 위치?

:%CATALINA_HOME%\conf\web.xml //CATALINA_HOME은 톰캣의 홈디렉토리!~


 

▣ 내용설명

각 servlet을 설정하자~~

DefaultServlet :공유자원을 제공하며 servlet mapping을 가진 모든 요청을 처리한다.

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>


 

InvokerServlet :web.xml 파일에 정의되지 않은 어떠한 servlet 클래스라도 실행할 수 있도록 한다.
이 servlet은 기본적으로 "/servlet/*"의 URL에 매핑되어 있음.

Tomcat의 버전이 올라가면서 보안상의 이유로 기본적으로는 서블릿을 실행하지 못하도록 설정이 되어있다.(default 주석처리)

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>
<... 기타 속성들 ...>

</servlet>


 

JspServlet : JSP의 컴파일과 실행을 담당하는 servlet

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<... 기타 속성들 ...>

</servlet>


기타 servlet 으로.. 아래 두개가 있지만 잘 안쓰는지 모두 주석처리 되어 있다. -ㅇ-..

그래서 뭐.. 설명생략!~

<servlet-name>ssi</servlet-name>
<servlet-name>cgi</servlet-name>


 

이제.. 위에서 설정한 servlet에 대한 매핑작업을 하자~

<servlet-mapping>
<servlet-name>default</servlet-name> // 일반적으로는 모두 '/' 로..
<url-pattern>/</url-pattern>
</servlet-mapping>

<!--
<servlet-mapping>
<servlet-name>invoker</servlet-name> // invoker는 '/servlet/*' 로..
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-->


<servlet-mapping>
<servlet-name>jsp</servlet-name> // jsp는 '/*.jsp' 로..
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>


 

세션 기간 설정~

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


 

mime 매핑~
<mime-mapping>
<extension>abs</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ai</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>


시작페이지 설정~

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>


-------------------------------------------------------------------------------------


 

위까지 내용은 톰캣 설치하면 보이는 기본값에 대한 설정이고..

아래내용은 필요할 때마다 참고하자궁..(web.xml 파일내용)


 

아래의 블로그 내용을 참조하였음.

http://brainism.tistory.com/7?srchid=BR1http%3A%2F%2Fbrainism.tistory.com%2F7

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5. version="2.5">
  6. <!-- JDBC 연결을 위한 정보 -->
  7. <resource-ref>
  8. <description>OracleDatasource</description>
  9. <res-ref-name>jdbc/myoracle</res-ref-name>
  10. <res-type>javax.sql.DataSource</res-type>
  11. <res-auth>Container</res-auth>
  12. </resource-ref>
  13. <context-param>
  14. <param-name>ds</param-name>
  15. <param-value>jdbc/myoracle</param-vlaue>
  16. </context-param>
  17. <!-- Filter 설정 (Encoding Filter) -->
  18. <filter>
  19. <filter-name>Encoding Filter</filter-name>
  20. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  21. <init-param>
  22. <param-name>encoding</param-name>
  23. <param-value>UTF-8</param-value>
  24. </init-param>
  25. </filter>
  26. <filter-mapping>
  27. <filter-name>Encoding Filter</filter-name>
  28. <servlet-name>action</servlet-name>
  29. </filter-mapping>
  30. <!-- servlet 설정 -->
  31. <servlet>
  32. <servlet-name>action</servlet-name>
  33. <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  34. <init-param>
  35. <param-name>config</param-name>
  36. <param-value>/WEB-INF/struts-config.xml</param-value>
  37. </init-param>
  38. <init-param>
  39. <param-name>debug</param-name>
  40. <param-value>3</param-value>
  41. </init-param>
  42. <init-param>
  43. <param-name>detail</param-name>
  44. <param-value>3</param-value>
  45. </init-param>
  46. <load-on-startup>0</load-on-startup>
  47. </servlet>
  48. <servlet-mapping>
  49. <servlet-name>action</servlet-name>
  50. <url-pattern>*.do</url-pattern>
  51. </servlet-mapping>
  52. <!-- 세션 기간 설정 -->
  53. <session-config>
  54. <session-timeout>30</session-timeout>
  55. </session-config>
  56. <!-- 시작페이지 설정 -->
  57. <welcome-file-list>
  58. <welcome-file>index.jsp</welcome-file>
  59. </welcome-file-list>
  60. <!-- 존재하지 않는 페이지, 404에러시 처리 페이지 설정 -->
  61. <error-page>
  62. <error-code>404</error-code>
  63. <location>/404.jsp</location>
  64. </error-page>
  65. <!-- 500에러시 처리 페이지 설정 -->
  66. <error-page>
  67. <error-code>500</error-code>
  68. <location>/500.jsp</location>
  69. </error-page>
  70. <!-- NullpointException발생시 처리 페이지 설정 -->
  71. <error-page>
  72. <exception-type>java.lang.NullPointerException</exception-type>
  73. <location>/null.jsp</location>
  74. </error-page>
  75. <!-- 태그 라이브러리 설정 (JSTL"coreTag"을(를) 사용)-->
  76. <jsp-config>
  77. <taglib>
  78. <taglib-url>http://java.sun.com/jsp/jstl/core</taglib-url>
  79. <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
  80. </taglib>
  81. </jsp-config>
  82. </web-app>


출처 : http://seemoon.tistory.com/114

'강의노트 > ' 카테고리의 다른 글

WS와 WAS 연결  (0) 2014.03.10
DB연결하기  (0) 2013.07.17
CSS  (0) 2013.07.15
JSTL XML 태그  (0) 2013.07.11
JSTL SQL 태그  (0) 2013.07.11