zoukankan      html  css  js  c++  java
  • web.xml执行顺序

    出自:http://blog.csdn.net/u010833154/article/details/50697987

    引言:启动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> 
    <display-name></display-name>定义站台的名称

    四、过滤器配置:将一个名字与一个实现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> 
  • 相关阅读:
    Linux如何对文件内容中的关键字进行查找
    Gitlab如何进行备份恢复与迁移?
    Centos7上传文件和下载文件命令
    Linux下如何查看系统启动时间和运行时间
    您应该知道的35个绝对重要的Linux命令
    rabbitMq可靠消息投递之交换机备份
    rabbitMq可靠性投递之配置(消息至交换机,至队列不通的回调)
    springcloud超时重试机制的先后顺序
    mysql 8.0 1405的坑
    linux安装mysql8.0
  • 原文地址:https://www.cnblogs.com/onlymate/p/7790320.html
Copyright © 2011-2022 走看看