Web.xml in Hello1 project
一、web.xml文件介绍
- The
web.xml
file contains several elements that are required for a Facelets application. All of the following are created automatically when you use NetBeans IDE to create an application.
- web.xml文件的作用
web.xml主要用来配置Filter、Listener、Servlet等。但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件。
- WEB容器的加载过程
WEB容器的加载顺序是:
ServletContext -> context-param -> listener -> filter -> servlet。在web.xml文件中最好按照这种顺序配置这些元素,以兼容较低版本的Tomcat。
- WEB容器的启动过程
WEB容器启动时,加载过程顺序如下:
- 启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。
- 紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。
- 容器将<context-param>转换为键值对,并交给servletContext。
- 容器创建<listener>中的类实例,创建监听器。
二、web.xml of hello1 analysis
• xml文档第一行的声明和它的文档元素描述信息。
<?xml version="1.0" encoding="UTF-8"?>
- 表示文档符合xml1.0规范,文档字符编码默认为“UTF-8”
• Servlet 3.1 deployment descriptor:
<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"> ... </web-app>
- Java EE 7 XML schema, namespace is http://xmlns.jcp.org/xml/ns/javaee/
- web-app是web.xml文档的根元素
- xmlns是XML NameSpace的缩写
- xmls(:xxx)="yyy"这是xml引入名称空间的语法格式,式中,“xxx”表示引入名臣空间的前缀名,可以指定(如“xsi”),也可不指定(使用默认),“yyy”表示该名称空间的名称,形式上为一个URL。
- xsi名称空间下有很多较为重要的属性,其中一个就是xsi:schemaLocation,它的作用是引入XML Schema文档,对xml文档的元素进行内容约束。它包含了两个URL,这两个URL之间用空白符或者换行符进行分割。第一个URL是名称空间的名称,第二个URL是文档的位置。那么,这句的作用是引入一个名称空间为http://xmlns.jcp.org/xml/ns/javaee、文档位置为http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd的XML Schema文档。也可参阅Eclipse XML文件模板中给出的XML文件引入Schema文档的语法格式:
xsi:schemaLocation="{namespace} {location}
• A context parameter specifying the project stage:
<context-param><param-name>javax.faces.PROJECT_STAGE</param-name><param-value>Development</param-value></context-param>
- A context parameter provides configuration information needed by a web application. An application can define its own context parameters. In addition, JavaServer Faces technology and Java Servlet technology define context parameters that an application can use.
- 声明应用范围内的初始化参数。它用于向 ServletContext提供键值对,即应用程序上下文信息。我们的listener, filter等在初始化时会用到这些上下文中的信息。
- 在servlet里面可以通过getServletContext().getInitParameter("context/param")得到。
• A servelt
element and its servlet-mapping
element specifying the FacesServlet
. All files with the .xhtml
suffix will be matched:
<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的数据,主要有以下子元素:
<servlet-name> 指定servlet的名称
<servlet-class> 指定servlet的类名称
<jsp-file> 指定web站台中的某个JSP网页的完整路径
<init-param> 用来定义参数,可有多个init-param。
<load-on-startup> 当值为正数或零时,从小到大加载。否则第一次访问时加载。
<servlet-mapping> 用来定义servlet所对应的URL,包含两个子元素
<servlet-name> 指定servlet的名称
<url-pattern> 指定servlet所对应的URL
• 会话超时配置:
<session-config><session-timeout>30</session-timeout> </session-config>
• A welcome-file-list
element specifying the location of the landing page:
<welcome-file-list><welcome-file>index.xhtml</welcome-file> </welcome-file-list>
参考:(https://javaee.github.io/tutorial/webapp003.html#GJWTV)
(https://www.jianshu.com/p/0e53eff3b920)
(https://www.cnblogs.com/LiZhiW/p/4313844.html)
转载于:https://www.cnblogs.com/ouuoliuxing/p/10973162.html
Web.xml in Hello1 project相关推荐
- Analysis of Web.xml in Hello1 project
web.xml加载过程(步骤) 首先简单讲一下,web.xml的加载过程.当启动一个WEB项目时,容器包括(JBoss.Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错 ...
- MAC OS X El CAPITAN 搭建SPRING MVC (1)- 目录、包名、创建web.xml
一. 下载STS(Spring Tool Suite) 官方地址:http://spring.io/tools/sts 下载spring tool suite for mac 最新版本.这个IDE是很 ...
- intellij中的 iml文件与web.xml 文件分别是干什么的
iml是配置文件,存着当前project的一些配置信息. web.xml是当前的project是个web 工程,包含了web工程具体的配置信息 xml是可扩展标记语言,标准通用标记语言的子集,是一种用 ...
- Failed while installing Dynamic Web Module 2.5. Project facet jst.web.jstl has not been defined.
问题:用eclipse导入一个myeclipse的web项目后,不能添加到tomcat中,在修改project facets的相关属性时报:Failed while installing Dynami ...
- 如何用Java类配置Spring MVC(不通过web.xml和XML方式)
DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...
- Eclipse自动注册Servlet:web.xml注册和@Servlet注解 实现注册
在创建Javaweb项目中要会用到大量的Servlet类,若一一手动注册会很繁琐,此时我们就得想办法实现web.xml自动注册了. Servlet自动注册的两种方法: 1.web.xml自动注册 2. ...
- maven web项目中的web.xml的版本如何更改
maven web项目中的web.xml的版本如何更改 问题 因web.xml的版本太低不支持el表达式的问题(maven3.6版本通过底层的maven web插件生成的最终的web.xml文件版本只 ...
- 【Java12】tomcatservlet(nginx,web.xml,生命周期,适配器优化),requestresponse(请求转发,登陆案例(1),重定向,文件下载)
文章目录 1.nginx的conf文件:以前网络编程中B/S架构中服务器是用socket写,用文件输入流读一个文件,读到后socket通过outputstream写出去,这些过程有了nginx后再也不 ...
- web.xml.jsf_面向初学者的JSF 2.0教程
web.xml.jsf 1.什么是JSF? JSF是Java Server Faces的首字母缩写. 它是一种服务器端处理技术,它允许将服务器端代码嵌入到网页中. 由于可以将服务器端处理和渲染代码嵌入 ...
- Idea 创建 web.xml 文件
以下记录 idea 生成 web.xml 的创建过程,记录下来方便后续查找 方式一: 方式二: 1.点击工程 WEB-INF 目录,若目录不存在创建之, 选择WEB-INF 目标, 点击左上角 fil ...
最新文章
- 用博客见证自己的成长
- 数学的威力:一个方程提升中国卫星图像质量30%
- centos LAMP菜鸟搭建过程
- php1008打印机驱动器,hp laserjet p1008打印机驱动
- OSChina 周一乱弹 —— 程序猿到底是多有才?
- c语言oct hex dec用法,C++ 如何用cout输出hex,oct,dec的解决方法
- ios和Android的PK
- java 根据年月获取周数、天数
- android m镜像,索尼为多部机型放出Android M AOSP镜像包
- VHDL——含异步清零和同步使能的加法计数器源程序
- 【速记】Android让View的显示超出父容器
- 视觉SLAM前端——ICP
- 万字长文科普:什么是低代码?
- CSS 网站小图标 雪碧图
- 保护8亿终端 阿里聚安全携手信通院打造B2C资金安全闭环 1
- 搜索引擎优化SEO初探
- 抖音简单3个设置,让播放量轻松破万
- 如今区块链在企业级应用中的尴尬, 只因没看懂这4大主链2大场景……
- 这100个shell脚本案例,你都知道吗?一篇教会你写90%的shell脚本
- Java Spring-AOP动态代理-JDK和CGlib实现
热门文章
- 拓端tecdat|matlab稳态和时变卡尔曼滤波器Kalman filter的设计和仿真植物动力学模型案例研究
- 拓端tecdat|TensorFlow 2.0 keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
- linux tcp_nodelay,仔细看参数--NGINX之tcp_nodelay
- python_flask框架Ubuntu16.04下环境搭建
- log4j打印不出日志_日志框架详细解读
- setspan字体加粗_Android 图文混排富文本编辑器实现详解
- Linux学习笔记(13)
- 如何使用Keras功能API进行深度学习
- python实现两个任意字符串乘积
- sklearn特征选择类库使用小结