web.xml 不是web工程必须的。
web.xml文件用来配置那些东西:欢迎页,servlet,filter等。
web.xml文件中定义了多少种标签元素,web.xml 中就可以出现它的模式文件所定义的标签元素。每个web.xml文件的根元素<web-app>中,都必须标明这个web.xml使用的是哪个模式文件,如:
<?xml version="1.0" 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
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
web.xml中标签的元素的种类会越来越多,但有些是不常用的,我们只需要记住一些常用的就可以了。
列出常用的标签元素记这些元素的功能:
1、指定欢迎页,指定多个,会先从第一个开始找
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
对于tomcat来说,当你只指定一个web的根名,没有指定具体页面,去访问时一个web时,如果web.xml文件中配置了欢迎页,那么就返回指定的那个页面作为欢迎页,而在文中没有web.xml文件,或虽然有web.xml,但web.xml也没指定欢迎页的情况下,它默认先查找index.html文件,如果找到了,就把index.html作为欢迎页还回给浏览器。如果没找到index.html,tomcat就去找index.jsp。找到index.jsp就把它作为欢迎页面返回。而如果index.html和index.jsp都没找到,又没有用web.xml文件指定欢迎页面,那此时tomcat就不知道该返回哪个文件了,它就显示The requested resource (/XXX) is not available的页面。其中XXX表示web的根名。但如果你指定了具体页面,是可以正常访问的。
2、错误页面,可以是错误编码,也可以是异常类型
<error-page>
<error-code>404</error-code>
<location>/error404.jsp</location>
</error-page>
-----------------------------------------------
<error-page>
<exception-type>java.lang.Exception<exception-type>
<location>/exception.jsp<location>
</error-page>
3.上下文配置,param-name设定上下文的参数名称。必须是唯一名称。param-value:设定上下文参数名称的值
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:**/applicationContext.xml</param-value>
</context-param>