web.xml介绍

web.xml中可以存在主要的节点(有些节点不介绍了)有如下:

1. context-param

声明应用范围内的初始化参数。它用于向 ServletContext提供键值对。我们可以通过在程序中获取这些键值对。
定义方式如下:

<context-param>
    <param-name>ContextParameter</para-name>
    <param-value>test</param-value>
    <description>It is a test parameter.</description>
</context-param>

2. listener

监听器,在servlet中有三种主要的监听器。分别是监听ServletContext的,监听Session,监听Request的。
第一种,监听上下文对象的

  • ServletContextLoaderListenter
  • ServletContextAttributeListener
    第二种,监听Session的
  • HttpSessionListener接口:对Session的整体状态的监听。
  • HttpSessionAttributeListener接口:对session的属性监听。
    第三种,监听Request的
  • ServletRequestListener:用于对Request请求进行监听(创建、销毁)。
  • ServletRequestAttributeListener:对Request属性的监听(增删改属性)。
    配置代码如下:
<listener>
    <listener-class>com.listener.class</listener-class>
</listener>

在spring项目中,可以添加如下配置文件

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

让springmvc的ContextLoaderListener加载spring的配置。

3. filter

过滤器,可以实现过滤器接口实现某些功能,比如字符编码过滤
基本的配置如下:

<filter>
    <filter-name>setCharacterEncoding</filter-name>
    <filter-class>com.myTest.setCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>setCharacterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

4. servlet

这个就不做介绍了

  <servlet>
    <servlet-name>registerServlet</servlet-name>
    <servlet-class>com.tianmaying.RegisterServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>registerServlet</servlet-name>
    <url-pattern>/register</url-pattern>
  </servlet-mapping>

将特定的servlet交给servlet处理

5. 执行顺序

按照这个顺序执行context-param -> listener -> filter -> servlet

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文包括:1、Listener简介2、Servlet监听器3、监听三个域对象创建和销毁的事件监听器4、监听三个域对...
    廖少少阅读 11,375评论 6 28
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,512评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,469评论 11 349
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 5,244评论 0 10
  • 监听器(listener) 监听器简介 :监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个...
    奋斗的老王阅读 7,334评论 0 53