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
非常感谢~