web.xml 的加载顺序

web.xml 的加载顺序是:


context-param -> listener -> filter -> servlet

web.xml文件详解


Web.xml常用元素

  • 定义了WEB应用的名字
  • 声明WEB应用的描述信息
  • context-param元素声明应用范围内的初始化参数。
  • 过滤器元素将一个名字与一个实现* javax.servlet.Filter接口的类相关联。
    一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。
  • servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话或servlet环境时得到通知。Listener元素指出事件监听程序类。
  • 在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。
  • 服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName 但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素。
  • 如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。
  • 如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。
  • 指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。
  • 在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够制定将要显示的页面。
  • 对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。此功能使你能够更改TLD文件的位置,而不用编辑使用这些文件的JSP页面。
  • 声明与资源相关的一个管理对象。
  • 声明一个资源工厂使用的外部资源。
  • 制定应该保护的URL。它与login-config元素联合使用
  • 给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易。
  • 声明Web应用的环境项。
  • 声明一个EJB的主目录的引用。
  • 声明一个EJB的本地主目录的应用。

相应元素配置

  1. Web应用图标:指出IDE和GUI工具用来表示Web应用的大图标和小图标
    
/images/app_small.gif    
/images/app_large.gif    
    
  1. Web 应用名称:提供GUI工具可能会用来标记这个特定的Web应用的一个名称
    Tomcat Example
  2. Web 应用描述: 给出于此相关的说明性文本
    Tomcat Example servlets and JSP pages.
  3. 上下文参数:声明应用范围内的初始化参数。
    
    ContextParameter    
    test    
    It is a test parameter.    
    

在servlet里面可以通过getServletContext().getInitParameter("context/param")得到

  1. 过滤器配置:将一个名字与一个实现javaxs.servlet.Filter接口的类相关联。
    
        setCharacterEncoding    
        com.myTest.setCharacterEncodingFilter    
            
            encoding    
            GB2312    
            
    
    
        setCharacterEncoding    
        /*    
    
  1. 监听器配置
    
      listener.SessionListener    
    
  1. Servlet配置

    基本配置

       
      snoop    
      SnoopServlet    
       
       
      snoop    
      /snoop    
       

高级配置

       
      snoop    
      SnoopServlet    
          
         foo    
         bar    
          
          
         Security role for anonymous access    
         tomcat    
          
       
       
      snoop    
      /snoop    
       

元素说明

      用来声明一个servlet的数据,主要有以下子元素:    
      指定servlet的名称    
      指定servlet的类名称    
      指定web站台中的某个JSP网页的完整路径    
      用来定义参数,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数    
     指定当Web应用启动时,装载Servlet的次序。当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet.当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它    
      用来定义servlet所对应的URL,包含两个子元素    
      指定servlet的名称    
      指定servlet所对应的URL    
  1. 会话超时配置(单位为分钟)
       
      120    
       
  1. MIME类型配置
       
      htm    
      text/html    
       
  1. 指定欢迎文件页配置
       
      index.jsp    
      index.html    
      index.htm    
       
  1. 配置错误页面

  2. 通过错误码来配置error-page

       
      404    
      /NotFound.jsp    
       

上面配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp。

  1. 通过异常的类型配置error-page
       
       java.lang.NullException    
       /error.jsp    
       

上面配置了当系统发生java.lang.NullException(即空指针异常)时,跳转到错误处理页面error.jsp

  1. TLD配置
       
       http://jakarta.apache.org/tomcat/debug-taglib    
       /WEB-INF/jsp/debug-taglib.tld    
       

如果MyEclipse一直在报错,应该把 放到

       
          
          http://jakarta.apache.org/tomcat/debug-taglib    
          /WEB-INF/pager-taglib.tld    
          
       
  1. 资源管理对象配置
       
       jms/StockQueue    
       
  1. 资源工厂配置
       
       mail/Session    
       javax.mail.Session    
       Container    
       

配置数据库连接池就可在此配置:

       
       JNDI JDBC DataSource of shop    
       jdbc/sample_db    
       javax.sql.DataSource    
       Container    
       
  1. 安全限制配置
       
      Example Security Constraint    
          
         Protected Area    
         /jsp/security/protected/*    
         DELETE    
         GET    
         POST    
         PUT    
          
          
        tomcat    
        role1    
          
       
  1. 登陆验证配置
       
     FORM    
     Example-Based Authentiation Area    
         
        /jsp/security/protected/login.jsp    
        /jsp/security/protected/error.jsp    
         
       
  1. 安全角色:security-role元素给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素的role-name子元素中。
    分别地声明角色可使高级IDE处理安全信息更为容易。
    
     tomcat    
    
  1. Web环境参数:env-entry元素声明Web应用的环境项
    
     minExemptions    
     1    
     java.lang.Integer    
    
  1. EJB 声明
    
     Example EJB reference    
     ejb/Account    
     Entity    
     com.mycompany.mypackage.AccountHome    
     com.mycompany.mypackage.Account    
    
  1. 本地EJB声明
    
     Example Loacal EJB reference    
     ejb/ProcessOrder    
     Session    
     com.mycompany.mypackage.ProcessOrderHome    
     com.mycompany.mypackage.ProcessOrder    
    
  1. 配置DWR
    
      dwr-invoker    
      uk.ltd.getahead.dwr.DWRServlet    
    
    
      dwr-invoker    
      /dwr/*    
    
  1. 配置Struts
    Struts Blank Application    
        
        action    
            
            org.apache.struts.action.ActionServlet    
            
            
            detail    
            2    
            
            
            debug    
            2    
            
            
            config    
            /WEB-INF/struts-config.xml    
            
            
            application    
            ApplicationResources    
            
        2    
        
        
        action    
        *.do    
        
        
        index.jsp    
        
        
        
        struts-bean    
        /WEB-INF/tld/struts-bean.tld    
        
        
        struts-html    
        /WEB-INF/tld/struts-html.tld    
        
        
    struts-nested    
    /WEB-INF/tld/struts-nested.tld    
        
        
        struts-logic    
        /WEB-INF/tld/struts-logic.tld    
        
        
        struts-tiles    
        /WEB-INF/tld/struts-tiles.tld    
        
  1. 配置Spring(基本上都是在Struts中配置的)


    contextConfigLocation
    
    
    /WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml
    
    
    
    
    org.springframework.web.context.ContextLoaderListener 
    
    
        
            org.springframework.web.context.request.RequestContextListener    
        

你可能感兴趣的:(web.xml 的加载顺序)