Analysis of Web.xml in Hello1 project

XML简介

XML 指可扩展标记语言(eXtensible Markup Language),是一种很像HTML的标记语言。

XML 不是 HTML 的替代。XML 被设计用来传输和存储数据,其焦点是数据的内容;HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。

XML 是独立于软件和硬件的信息传输工具。

-----XML 不会做任何事情--------

-----XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶"-------

Web.xml 解析

<?xml version="1.0" encoding="UTF-8"?>

XML 声明:它定义 XML 的版本(1.0)和所使用的编码(UTF-8 : 万国码, 可显示各种语言)

然后下一行描述文档的根元素:web-app,并且在最后一行定义了根元素的结尾:</web-app>。

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>

<context-param>配置是是一组键值对,param-name是键,相当于就是参数名,param-value是值,相当于参数值。当服务器启动时,服务器会读取web.xml配置,当读到<context-param></context-param>这两个节点的时候,容器会将这两个节点set到ServletContext(上下文对象)中,这样我们在程序中就能通过这个上下文对象去取得我们这个配置值。

 

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>

 

一个servlet元素及其servlet-mapping元素指定 FacesServlet所有带.xhtml后缀的文件都将匹配它。

FacesServlet是一个servlet,它管理使用JavaServer Faces构建用户界面的Web应用程序的请求处理生命周期。

     <servlet-mapping>元素在Servlet和URL样式之间定义一个映射。它包含了两个子元素<servlet- name>和<url-pattern>,<servlet-name>元素给出的Servlet名字必须是在<servlet>元素中声明过的Servlet的名字。<url-pattern>元素指定对应于Servlet的URL路径,该路径是相对于Web应用程序上下文根的路径。

    在配置了Servlet与URL样式之间的映射后,当Servlet容器接收到一个请求,它首先确定该请求应该由哪一个Web应用程序来响应。这是通过比较请求URI的开始部分与Web应用程序的上下文路径来确定的。映射到Servlet的路径是请求URI减去上下文的路径,Web应用程序的Context对象在去掉请求URI的上下文路径后,将按照下面的路径映射规则的顺序对剩余部分的路径进行处理,并且在找到第一个成功的匹配后,不再进行下一个匹配。

容器试着对请求的路径和Servlet映射的路径进行精确匹配,如果匹配成功,则调用这个Servlet来处理请求。

容器试着匹配最长的路径前缀,以斜杠(/)为路径分隔符,按照路径树逐级递减匹配,选择最长匹配的Servlet来处理请求。

如果请求的URL路径最后有扩展名,如.jsp,Servlet容器会试着匹配处理这个扩展名的Servlet。

 

    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

 

标签<session-timeout>指定了会话在无效之前,可以保持不活跃状态的时间,以分钟为单位。如果该值小于等于0,那么会话将永远也不过期

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

<welcome-file-list>标签元素:指定显示的默认文件。工作原理是:按照welcome-file的.list一个一个去检查是否web目录下面存在这个文件,如果存在,继续下面的工作(或者跳转到index.html页面,或者配置有struts的,会直接struts的过滤工作)

 

 

部分借鉴:http://www.blogjava.net/youngturk/archive/2012/05/22/378865.html

非常感谢~

 

原文地址:https://www.cnblogs.com/sece/p/10567715.html