前言

由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件。

注册三大组件用以下方式

一、ServletRegistrationBean

//注册三大组件
@Bean
public ServletRegistrationBean myServlet(){ServletRegistrationBean registrationBean = new ServletRegistrationBean(new MyServlet(),"/myServlet");return registrationBean;
}

二、FilterRegistrationBean

@Bean
public FilterRegistrationBean myFilter(){FilterRegistrationBean registrationBean = new FilterRegistrationBean();registrationBean.setFilter(new MyFilter());registrationBean.setUrlPatterns(Arrays.asList("/hello","/myServlet"));return registrationBean;
}

三、ServletListenerRegistrationBean

@Bean
public ServletListenerRegistrationBean myListener(){ServletListenerRegistrationBean<MyListener> registrationBean = new ServletListenerRegistrationBean<>(new MyListener());return registrationBean;
}

SpringBoot帮我们自动SpringMVC的时候,自动的注册SpringMVC的前端控制器;DIspatcherServlet;

DispatcherServletAutoConfiguration中:

@Bean(name = DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME)
@ConditionalOnBean(value = DispatcherServlet.class, name = DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)
public ServletRegistrationBean dispatcherServletRegistration(DispatcherServlet dispatcherServlet) {ServletRegistrationBean registration = new ServletRegistrationBean(dispatcherServlet, this.serverProperties.getServletMapping());//默认拦截: /  所有请求;包静态资源,但是不拦截jsp请求;   /*会拦截jsp//可以通过server.servletPath来修改SpringMVC前端控制器默认拦截的请求路径registration.setName(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME);registration.setLoadOnStartup(this.webMvcProperties.getServlet().getLoadOnStartup());if (this.multipartConfig != null) {registration.setMultipartConfig(this.multipartConfig);}return registration;
}

学习内容来自尚硅谷

Spring Boot怎么样注册Servlet三大组件[Servlet、Filter、Listener]相关推荐

  1. Spring Boot注册Servlet三大组件(Servlet, Filter, Listener)

    Spring Boot默认使用的Tomcat的Servlet容器,这个容器我们可以自己替换,比如替换成支持JSP的Servlet容器,这个容器已经帮我们注册好了一个Servlet(Dispatcher ...

  2. Spring Boot之注册servlet三大组件

    由于Spring Boot默认是以jar包的形式启动嵌入式的Servlet容器来启动Spring Boot的web应用是,没有web.xml配置文件 注册三大组件用以下方式 ServletRegist ...

  3. Spring Boot基础学习笔记12:组件注册整合Servlet三大组件

    文章目录 零.学习目标 一.整合Servlet三大组件概述 (一)组件注册整合Servlet三大组件 (二)路径扫描整合Servlet三大组件 二.创建Spring Boot项目 - Integrat ...

  4. Spring Boot基础学习笔记13:路径扫描整合Servlet三大组件

    文章目录 零.学习目标 一.创建Spring Boot项目 - IntegrateThreeComponents02 二.使用路径扫描方式整合Servlet三大组件 (一)创建MyServlet类 ( ...

  5. SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener

    SpringBoot定义三大组件Servlet,过滤器Filter,监听器Listener 1.定义组件的配置类: com.example.mybatis2018.config.MyServletCo ...

  6. JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下)

    JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下) Reference 转载于:https://www.cnblogs.com/Jeremy2001 ...

  7. SpringBoot中注册Servlet三大组件

    SpringBoot中默认内置了Servlet容器,Tomcat.SpringBoot默认是以jar包的方式启动内置的Servlet容器,没有web.xml文件.所以只能通过自定义servlet配置. ...

  8. Spring Boot开发之使用JustAuth组件实现第三方登录(QQ、微博等)

    在我们的项目开发中,使用第三方登录(如QQ登录.微信登录等)可以更加方便.轻松地实现用户登录. 在以往的开发过程中,如果要使项目实现第三方登录功能,一般过程是阅读官网的开发文档,并下载其JDK(或者依 ...

  9. Spring Boot实现注册验证全过程

    0. 阅读完本文你将会学会 如何实现一个基本的注册验证过程 如何自定义一个注解 1. 概述 在这篇文章中,我们将使用Spring Boot实现一个基本的邮箱注册账户以及验证的过程. 我们的目标是添加一 ...

最新文章

  1. GT Transceiver的电源控制
  2. 删除docker-register的镜像 none无效镜像讲解
  3. javascript学习1---用dom对象动态控制表格
  4. 【.Net Micro Framework PortingKit(补) – 1】USB驱动开发
  5. 《JAVA程序设计》_第四周学习总结
  6. 单片机小精灵t2_51单片机定时器T2初始化设置
  7. Linux多网卡不通网段,[转载]linux环境下,双网卡配置不同网段后,路由问题
  8. AutoML 在表数据中的研究与应用
  9. ajax通用格式 jquery版本
  10. 大数据市场交易趋旺物联网平台争夺加剧
  11. 数论在计算机科学中的应用,近世代数思想方法在数论中的应用
  12. java 控制系统音量_用JNI实现调节win7系统音量
  13. 阿里巴巴-1688-退款退货明细下载(导出)
  14. 在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决?
  15. idea2017激活方式(亲测可用,良心推荐)
  16. 达芬奇机器人变身‘模仿达人’,通过看视频模仿手术缝合、穿针、打结等动作...
  17. 75个顶级开源安全应用(1)
  18. Robert Sedgewick左倾红黑树论文翻译
  19. 元宵节就要到了,手把手教你用Python打造一款3D花灯
  20. java与交换机的命令_交换机命令之一--华为

热门文章

  1. Android数据库--Sqlcipher的使用(一)
  2. 基本概念-编写第一个C程序
  3. eclipse format的时候如何让@param后不换行
  4. IIS7下 301重定向 添加WWW
  5. XenApp 6.0/6.5服务优化
  6. 测试系列之六---软件测试分类
  7. 区块链技术之Fabric逻辑架构详解
  8. 爬取最好大学网站大学排名
  9. 吴恩达深度学习课程deeplearning.ai课程作业:Class 2 Week 3 TensorFlow Tutorial
  10. 国家服务器1eb硬盘,仅一个月:奇亚币已占用超过1EB存储空间