关于web.xml里相关配置参数的作用及使用

来源:互联网 发布:工信部 域名备案 编辑:程序博客网 时间:2024/05/22 17:11

1.定义头和根节点
定义xml的头和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">

2.Servlet和Servlet mapping

Servlet:对一个全限定名的Servlet类分配一个简短好记且有意义的名称。

<servlet>    <servlet-name>uploadImage</servlet-name>    <servlet-class>com.lis.upload.upload</servlet-class>  </servlet>  <servlet>    <servlet-name>SearchServlet</servlet-name>    <servlet-class>servlet.SearchServlet</servlet-class>  </servlet>

给 servlet一个名称具有两个主要的含义。首先,初始化参数、定制的URL模式以及其他定制通过此注册名而不是类名引用此servlet。其次,可在 URL而不是类名中使用此名称。因此,利用刚才给出的定义,URL http://host/webAppPrefix/servlet/Test 可用于 http://host/webAppPrefix/servlet/moreservlets.TestServlet 的场所。
Servlet Mapping:大多数服务器具有一个缺省的serlvet URL:
http://host/webAppPrefix/servlet/packageName.ServletName。虽然在开发中使用这个URL很方便,但是我们常常会希望另一个URL用于部署。例如,可能会需要一个出现在Web应用顶层的URL(如,http: //host/webAppPrefix/Anyname),并且在此URL中没有servlet项。位于顶层的URL简化了相对URL的使用。特别是,需要把所有servlet元素放在所有 servlet-mapping元素之前。

利用上面两个标签还可以命名jsp文件

<servlet>       <servlet-name>Test</servlet-name>       <jsp-file>/TestPage.jsp</jsp-file>   </servlet> 

3.Filter
过滤器可截取和修改进入一个servlet或JSP页面的请求或从一个servlet或JSP页面发出的相应。在执行一个servlet或JSP页面之前,必须执行第一个相关的过滤器的doFilter方法。在该过滤器对其FilterChain对象调用doFilter时,执行链中的下一个过滤器。如果没有其他过滤器,servlet或JSP页面被执行。
我们可以在web.xml中利用filter元素以及filter-name(任意名称)、file-class(完全限定的类名)和(可选的)init-params子元素声明它。请注意,元素在web.xml的web-app元素中出现的次序不是任意的;允许服务器(但不是必需的)强制所需的次序,并且实际中有些服务器也是这样做的。但这里要注意,所有filter元素必须出现在任意filter-mapping元素之前, filter-mapping元素又必须出现在所有servlet或servlet-mapping元素之前。

 <filter>  <filter-name>Encoding</filter-name>  <filter-class>com.wabacusdemo.util.SetCharacterEncodingFilter</filter-class> </filter>

一旦命名了一个过滤器,可利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。关于此项工作有两种选择。
首先,可使用filter-name和servlet-name子元素把此过滤器与一个特定的servlet名(此servlet名必须稍后在相同的 web.xml文件中使用servlet元素声明)关联。

  <filter-mapping>     <filter-name>Encoding</filter-name>     <url-pattern>*.jsp</url-pattern> </filter-mapping>

4.指定欢迎页
假如用户提供了一个像http: //host/webAppPrefix/directoryName/ 这样的包含一个目录名但没有包含文件名的URL.
下面的web.xml项指出,如果一个URL给出一个目录名但未给出文件名,服务器应该首先试用index.jsp,然后再试用index.html。

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

5 指定处理错误的页面
6.控制会话超时
如果不采用这种方法,则缺省的超时值由具体的服务器决定。但可利用session-config和session- timeout元素来给出一个适用于所有服务器的明确的超时值。超时值的单位为分钟

<session-config>       <session-timeout>180</session-timeout>   </session-config> 

7.指定应用事件监听程序
该元素用来注册一个监听器类。可以收到事件什么时候发生以及用什么作为响应的通知。事件监听程序在建立、修改和删除会话或servlet环境时得到通知。常与context-param联合使用。

<listener>        <listener-class>            com.myapp.LogbackConfigListener        </listener-class>    
0 0
原创粉丝点击