zoukankan      html  css  js  c++  java
  • hello1的web.xml解析

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" 
             xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
        <context-param>
            <param-name>javax.faces.PROJECT_STAGE</param-name>
            <param-value>Development</param-value>
        </context-param>
        <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>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>index.xhtml</welcome-file>
        </welcome-file-list>
    </web-app>

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

      用于声明xml的版本以及xml传输数据时的字符编码

    **<web-app><-web-app>

      *xml文件的根标签,用于声明命名空间、schema约束等 

        *xmlns="http://java.sun.com/xml/ns/javaee" 

      XML Namespaces,声明了命名空间,用于避免命名冲突,有疑惑的小伙伴可以点击这里
        *xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          *XML Schema Instance,声明了web.xml所需要遵循的xml规范
         xsi只是一个别名,可以自行定义,不过约定俗成使用xsi来表示)
        *xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
          *schemaLocation 是xsi的一个子元素,所以以 xsi:schemaLocation 来命名,它由一个          URI引用对 组成,两个URI之间以 空白符 分隔。第一个URI是命名空间的名字,第二个          URI是模式文档的位置,模式处理器将从这个位置读取模式文档.

          *声明了 XML Namespace和对应的 XSD(Xml Schema Definition)文档的位置,实际上          就是声明了该命名空间对应的具体模板是哪个

    **<context-param>

     

      *初始化参数,应用与整个web项目,有两个子标签 

        *<param-name></param-name>
        可以理解为map中的key
        *<param-value></param-value>
        可以理解为map中的value
      *在容器启动时,会创建一个 ServletContext(上下文对象,也可以理解为web应用环境对象),     然后会去读取 context-param 标签,容器会将 param-name 和 param-value 的值以 key-value     的形式set进ServletContext中
      *在servlet中,通过 this.getServletContext().getInitParameter(“key”) 来获取值value

     

    **<servlet></servlet>

      *在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。

    **<servlet-mapping></servlet-mapping>

      *服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName.但是,常常会

      *更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素。

    **<session-config></session-config>

      *如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。 可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。

    **<welcome-file-list></welcome-file-list>

      *指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件。



  • 相关阅读:
    SonarQube 插件之 Issues Report & SonarLint 的配置及使用
    Docker搭建自己的Gitlab CI Runner
    Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库
    js字符串去掉回车和空格
    使用QtCreator来进行UML建模
    Qt字符串转二维码字符串
    C++10进制转16进制字符串互转
    Qt设置控件透明度
    Qt在槽函数里判断是哪个对象触发的信号
    Qt求极值
  • 原文地址:https://www.cnblogs.com/bbeb/p/10524040.html
Copyright © 2011-2022 走看看