分享人:雍金卫
1.web.xml的主要作用
2.web.xml为什么可以定义这些标签元素呢
3.常用的标签元素
4.不常用的标签元素
5.一些思考的东西
web.xml是用来干啥的?
其实大家都知道,web.xml是用来配置信息的。
通俗来讲:你的webapp需要什么配置,比如说servlet,filter以及其它的标签等等。
根元素web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模式文件所定义的标签元素
welcome-file-list 指定欢迎界面,当然这个标签下可以指定多个界面,如果前者界面不存在,就寻找后者。
context-param上下文参数这个略微复杂等一下细讲
servlet用来声明一个servlet的数据
filter过滤器
listener监听器
context-param
声明应用范围内的初始化参数。它用于向 ServletContext提供键值对,即应用程序上下文信息。我们的listener, filter等在初始化时会用到这些上下文中的信息。
在启动一个webapp程序时,会发生哪些动作呢?
启动流程
1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: listener和 context-param
2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.
3.容器将context-param转化为键值对,并交给ServletContext.
4.容器创建listener中的类实例,即创建监听.
servlet 用来声明一个servlet的数据
运行在服务器端的程序,用于处理及响应客户的请求。
servlet-mapping
将URL模式映射到某个Servlet,即该Servlet处理的URL。
filter
举个过滤器的例子
filter
characterEncoding
org.springframework.web.filter.CharacterEncodingFilter
init-param
encoding
UTF-8
filter
这个大家经常用,下面还有对应的mapping,就不列出来了。
filter可认为是Servlet的一种“加强版”,主要用于对用户请求request进行预处理,也可以对response进行后处理,是个典型的处理链。使用filter的完整流程是:filter对用户请求HttpServletRequest进行预处理,接着将请求交给Servlet进行处理并生成响应,最后filter再对服务器响应HttpServletResponse进行后处理。filter与Servlet具有完全相同的生命周期,且filter也可以通过init-param来配置初始化参数,获取filter的初始化参数则使用filterConfig的getInitParameter()。
filter在web.xml中配置,可包含filter-name、filter-class、init-param等子元素
filter-mapping
用来声明Web应用中的过滤器映射,过滤器被映射到一个servlet或一个URL 模式。这个过滤器的filter和filter-mapping必须具有相同的filter-name,指定该filter所拦截的URL。过滤是按照部署描述符的filter-mapping出现的顺序执行的。
listener监听器
listener
org.springframework.web.context.ContextLoaderListener
listener
监听器Listener就是在application,session,request三个对象创建、 销毁或者往其中添加修改删除属性时自动执行代码的功能组件。
Listener是Servlet的监听器,可以监听客户端的请求,服务端的操作等。
error-page错误路径
session-config会话(Session)过期时间
jsp-config 设置jsp
感谢观看,如有出错,恳请指正
BY : 雍金卫