web.xml执行顺序

引言:启动java web程序的时候,java web会读取配置文件web.xml;读取<listener>和<context-param>两个结点,随后创建servletContext(servlet上下文),并且web中是所有部分共享这个上下文;容器将<context-param>转换为键值对,并交给servletContext,

web.xml 的加载顺序是:ServletContext-> context-param ->listener -> filter -> servlet,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。

相应配置

一、<display-name>TomcatExample</display-name> 

二、上下文参数

 

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:spring-mvc.xml
            classpath:applicationContext.xml
        </param-value>
    </context-param>

 

三、Web 应用描述:给出于此相关的说明性文本 

 

<disciption>Tomcat Example servletsand JSPpages.</disciption> 
<span style="font-family: Arial; font-size: 14px; line-height: 26px;"><display-name></display-name>定义站台的名称</span>

四、过滤器配置:将一个名字与一个实现javaxs.servlet.Filter接口的类相关联

 

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
五、监听器配置
<!--   需要在普通类中使用request的时候,注入这个监听 -->
    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>

六、Servlet配置 

 

 

基本配置    
  <servlet>    
     <servlet-name>snoop</servlet-name>    
     <servlet-class>SnoopServlet</servlet-class>    
  </servlet>    
  <servlet-mapping>    
     <servlet-name>snoop</servlet-name>    
     <url-pattern>/snoop</url-pattern>    
  </servlet-mapping>    
  高级配置    
  <servlet>    
     <servlet-name>snoop</servlet-name>    
     <servlet-class>SnoopServlet</servlet-class>    
     <init-param>    
        <param-name>foo</param-name>    
        <param-value>bar</param-value>    
     </init-param>    
     <run-as>    
        <description>Security role foranonymousaccess</description>    
        <role-name>tomcat</role-name>    
     </run-as>    
  </servlet>    
  <servlet-mapping>    
     <servlet-name>snoop</servlet-name>    
     <url-pattern>/snoop</url-pattern>    
  </servlet-mapping>    
  元素说明    
    <servlet></servlet>用来声明一个servlet的数据,主要有以下子元素:    
    <servlet-name></servlet-name>指定servlet的名称    
    <servlet-class></servlet-class>指定servlet的类名称    
    <jsp-file></jsp-file>指定web站台中的某个JSP网页的完整路径    
    <init-param></init-param>用来定义参数,可有多个init-param。在servlet类中通过getInitParamenter(Stringname)方法访问初始化参数    
    <load-on-startup></load-on-startup>指定当Web应用启动时,装载Servlet的次序。    
                                当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet.    
                                当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它    
    <servlet-mapping></servlet-mapping>用来定义servlet所对应的URL,包含两个子元素    
      <servlet-name></servlet-name>指定servlet的名称    
      <url-pattern></url-pattern>指定servlet所对应的URL  

七、会话超时配置(单位为分钟)

 

 

<session-config>    
     <session-timeout>120</session-timeout>    
  </session-config> 

 

八、指定欢迎文件页配置

 

<welcome-file-list>
        <welcome-file>/index/index.action</welcome-file>
    </welcome-file-list>

九、错误界面配置

 

 

<error-page>
    	<error-code>404</error-code>
    	<location>/404.jsp</location>
    </error-page>

十、通过异常的类型配置error-page    

 

 

<error-page>    
      <exception-type>java.lang.NullException</exception-type>    
      <location>/error.jsp</location>    
  </error-page>   

作者:恨_别离 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利,尊重原创,人人有责。




 

 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐