博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hello1 project项目中的web.xml
阅读量:5020 次
发布时间:2019-06-12

本文共 3190 字,大约阅读时间需要 10 分钟。

什么是 XML?

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签
  • XML 被设计为具有自我描述性
  • XML 是 W3C 的推荐标准

 web.xml

1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。 

2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 

3、容器将<context-param>转换为键值对,并交给servletContext。 

4、容器创建<listener>中的类实例,创建。

     web.xml作用是用来初始化配置信息的。

比如:Welcome页面、servlet、servlet-mappingfilterlistener、启动加载级别等

web.xml标签

xml文件包含Facelets应用程序所需的几个元素。使用NetBeans IDE创建应用程序时,将自动创建以下所有内容:

  • 指定项目阶段的上下文参数
    javax.faces.PROJECT_STAGE
    Development

     

    上下文参数提供web应用程序所需的配置信息。应用程序可以定义自己的上下文参数。此外,JavaServer Faces技术和Java Servlet技术定义了应用程序可以使用的上下文参数。

  • 指定FacesServlet的servlet元素及其servlet映射元素。所有后缀为.xhtml的文件都将被匹配

    Faces Servlet
    javax.faces.webapp.FacesServlet
    1
    Faces Servlet
    *.xhtml

     

  • 指定登录页面位置的welcome-file-list元素(关于欢迎页面)访问一个网站时,默认看到的第一个页面就叫欢迎页,一般情况下是由首页来充当欢迎页的。一般情况下,我们会在web.xml中指定欢迎页。但 web.xml并不是一个Web的必要文件,没有web.xml,网站仍然是可以正常工作的。只不过网站的功能复杂起来后,web.xml的确有非常大用处,所以,默认创建的动态web工程在WEB-INF文件夹下面都有一个web.xml文件

  • web.xml解析

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

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

    javax.faces.PROJECT_STAGE
    Development

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

     

    Faces Servlet
    javax.faces.webapp.FacesServlet
    1
    Faces Servlet
    *.xhtml

     

    一个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。

     

    30

     

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

    index.xhtml

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

转载于:https://www.cnblogs.com/dashuaiB/p/10724728.html

你可能感兴趣的文章
Ubuntu常用命令与技巧
查看>>
Android4.0强制横屏竖屏
查看>>
Excel文件读写的.NET开源组件 Koogra Excel BIFF/XLSX Reader Library
查看>>
ABAP Append Structure & ABAP Include Structure
查看>>
[Oracle Notes]About Oracle parallel insert performance-有关oracle并行插入性能
查看>>
[Luogu 2805] NOI2009 植物大战僵尸
查看>>
【Python】多线程2
查看>>
【spark】with mongodb
查看>>
矩阵取数游戏
查看>>
php 操作数组 (合并,拆分,追加,查找,删除等)
查看>>
Java 从无类型参数Map到有类型参数Map传值的一个问题
查看>>
css常用的阴影
查看>>
数据库_day04_基本的增删改查操作
查看>>
【iCore3 双核心板_FPGA】实验十八:基于单口RAM的ARM+FPGA数据存取实验
查看>>
containerd与kubernetes集成部署
查看>>
iview admin 动态加载左侧菜单栏?
查看>>
[Hadoop] - Win7下提交job到集群上去
查看>>
随堂软工团队小测
查看>>
git commit之后未submit,rebase之后找不到自己代码的处理方法
查看>>
数据库的分发与复制
查看>>