web.xml常用的配置如下
掌握:
定制一个servlet或jsp页面名称
< servlet>< /servlet>
给< servlet>定义的任务定制一个url访问路径于任务名称关联
< servlet-mapping>< /servlet-mapping>
提供应用范围内的初始化参数(所有servlet及jsp页面都能访问的初始化参数)
< context-param>< /context-param>
声明过滤器
< filter>< /filter>
利用filter-mapping元素把< fileter>定义的过滤器与一个或多个servlet或JSP页面相关联。
< filter-mapping>< /filter-mapping>
声明一个监听程序
< listener>< /listener>
了解:
指定欢迎页面
< welcome-file-list> < /welcome-file-list>
指定处理错误的页面:登录错误或者登录成功页面
< login-config>< /login-config>
限制对Web资源的访问
< security-constraint>< /security-constraint>
分配角色名
< security-role-ref>< /security-role-ref>
控制会话超时
< session-config>< /session-config>
Web应用的文档化
< icon>< /icon>
关联文件与MIME类型
< mime-mapping>< /mime-mapping>
定位TLD
< taglib>< /taglib>
J2EE元素
< resource-env-ref>< /resource-env-ref>
1、< servlet>< /servlet>
<!--定义一个servlet-->
<servlet>
<!--定义类名称-->
<servlet-name>TestServlet</servlet-name>
<!--类路径-->
<servlet-class>moreservlets.TestServlet</servlet-class>
</servlet>
<!--定义一个jsp-->
<servlet>
<!--定义Jsp页面名称-->
<servlet-name>Test</servlet-name>
<!--定义jsp路径-->
<jsp-file>/TestPage.jsp</jsp-file>
</servlet>
解释:因为JSP页面要转换成sevlet,自然希望就像命名servlet一样命名JSP页面。毕竟,JSP页面可能会从初始化参数、安全设置或定制的URL中受益,正如普通的serlvet那样。虽然JSP页面的后台实际上是servlet这句话是正确的,但存在一个关键的猜疑:即,你不知道JSP页面的实际类名(因为系统自己挑选这个名字)。因此,为了命名JSP页面,可将jsp-file元素替换为servlet-calss元素
1.1、< init-param>
Xml代码
<servlet>
<servlet-name>InitTest</servlet-name>
<servlet-class>moreservlets.InitServlet</servlet-class>
<!--利用init-param元素向servlet提供初始化参数-->
<init-param>
<!--键-->
<param-name>param1</param-name>
<!--值-->
<param-value>value1</param-value>
</init-param>
<init-param>
<param-name>param2</param-name>
<param-value>2</param-value>
</init-param>
</servlet>
2、< context-param>< /context-param>
<!--定义全局的访问参数-->
<context-param>
<param-name>support-email</param-name>
<param-value>blackhole@mycompany.com</param-value>
</context-param>
3、< servlet-mapping>< /servlet-mapping>
<!--定义servlet或jsp-->
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>moreservlets.TestServlet</servlet-class>
</servlet>
<!--给<servlet>定义的任务定制url关联 -->
<servlet-mapping>
<!--和<servlet>定义的名称对应-->
<servlet-name>Test</servlet-name>
<!--定义访问路径-->
<url-pattern>/UrlTest</url-pattern>
</servlet-mapping>
说明:< url-pattern>< /url-pattern>元素定义的路径可以使用通配符。如:< url-pattern>/ * .jsp< /url-pattern> < url-pattern>/test/ * < /url-pattern>等等
4、< filter>< /filter>
<!--声明过滤器-->
<filter>
<!--过滤器名称-->
<filter-name>Reporter</filter-name>
<!--过滤器类所在位置-->
<filter-class>moresevlets.ReportFilter</filter-class>
</filter>
5、< filter-mapping>< /filter-mapping>
命名了一个过滤器后,可利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。关于此项工作有两种选择。
1.使用filter-name和servlet-name子元素把此过滤器与一个特定的servlet名(此servlet名必须稍后在相同的 web.xml文件中使用servlet元素声明)关联。
例如,下面的程序片断指示系统只要利用一个定制的URL访问名为SomeServletName 的servlet或JSP页面,就运行名为Reporter的过滤器。
<filter-mapping>
<filter-name>Reporter</filter-name>
<servlet-name>SomeServletName</servlet-name>
</filter-mapping>
2.利用filter-name和url-pattern子元素将过滤器与一组servlet、JSP页面或静态内容相关联。
例如,下面的程序片段指示系统只要访问Web应用中的任意URL,就运行名为Reporter的过滤器
<filter-mapping>
<filter-name>Reporter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6、< listener>< /listener>
应用事件监听器程序是建立或修改servlet环境或会话对象时通知的类。它用来向Web应用注册一个监听程序。
listener元素位于所有的servlet 元素之前以及所有filter-mapping元素之后。
注册一个监听程序涉及在web.xml的web-app元素内放置一个listener元素。在listener元素内,listener-class元素列出监听程序的完整的限定类名:
<listener>
<listener-class>package.ListenerClass</listener-class>
</listener>
分享一个详细的web.xml链接: web.xml配置详解