web.xml里的主要配置

java分享会

分享人:雍金卫

1.web.xml的主要作用

2.web.xml为什么可以定义这些标签元素呢

3.常用的标签元素

4.不常用的标签元素

5.一些思考的东西

基本介绍

web.xml是用来干啥的?

其实大家都知道,web.xml是用来配置信息的。

通俗来讲:你的webapp需要什么配置,比如说servlet,filter以及其它的标签等等。

Sun公司

根元素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 : 雍金卫