analysis of web.xml in hello1 project

*<?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时,使用哪个文件。

posted @ 2019-03-27 19:23  xxp在路上  阅读(65)  评论(0编辑  收藏  举报