web.xml配置说明

web.xml中classpath:和classpath*:, 有什么区别? 

classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.

 

XML元素不仅是大小写敏感的,而且定义它们的次序也很重要。例如,web-app元素内所有servlet元素必须位于所有servlet- mapping元素(下一小节介绍)之前,而且还要位于与过滤器或文档相关的元素(如果有的话)之前。类似地,servlet 的servlet-name子元素也必须出现在servlet-class之前。

 

filter------------>listener------------->servlet---------------->welcome-file-list

 context-param

  description

  display-name

  distributable

  ejb-ref

  ejb-local-ref

  env-entry

  error-page

  filter

  filter-mapping

  icon

  listener

  login-config

  mime-mapping

  resource-env-ref

  resource-ref

  security-constraint

  security-role

  Servlet

  servlet-mapping

  session-config

  taglib

  web-app

  welcome-file-list

 

指定应用事件监听程序

应用事件监听器程序是建立或修改servlet环境或会话对象时通知的类。它们是servlet规范的版本2.3中的新内容。这里只简单地说明用来向Web应用注册一个监听程序的web.xml的用法。
注册一个监听程序涉及在web.xml的web-app元素内放置一个listener元素。在listener元素内,listener-class元素列出监听程序的完整的限定类名,如下所示:

Xml代码
<listener>  
    <listener-class>package.ListenerClass</listener-class>  
</listener>  

 

虽然listener元素的结构很简单,但请不要忘记,必须正确地给出web-app元素内的子元素的次序。listener元素位于所有的servlet 元素之前以及所有filter-mapping元素之后。此外,因为应用生存期监听程序是serlvet规范的2.3版本中的新内容,所以必须使用 web.xml DTD的2.3版本,而不是2.2版本。
例如,程序清单5-20给出一个名为ContextReporter的简单的监听程序,只要Web应用的Servlet-Context建立(如装载Web应用)或消除(如服务器关闭)时,它就在标准输出上显示一条消息。程序清单5-21给出此监听程序注册所需要的web.xml文件的一部分。

 

程序清单5-20 ContextReporterjava

Java代码
package moreservlets;   
  
import javax.servlet.*;   
import java.util.*;   
  
public class ContextReporter implements ServletContextListener {   
    public void contextInitialized(ServletContextEvent event) {   
        System.out.println("Context created on " +  new Date() + ".");   
    }   
  
    public void contextDestroyed(ServletContextEvent event) {   
        System.out.println("Context destroyed on " +   new Date() + ".");   
    }   
}  


程序清单5-21 web.xml(声明一个监听程序的摘录)

Xml代码
<?xml version="1.0" encoding="ISO-8859-1"?>  
<!DOCTYPE web-app   
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"   
"http://java.sun.com/dtd/web-app_2_3.dtd">  
<web-app>  
<!-- ... -->  
    <filter-mapping> … </filter-mapping>  
    <listener>  
        <listener-class>package.ListenerClass</listener-class>  
    </listener>  
    <servlet> ... </servlet>  
<!-- ... -->  


posted on 2012-01-29 10:05  唐朝  阅读(813)  评论(0编辑  收藏  举报