SpringBoot之注册Web组件

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
SpringBoot之注册Web组件


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

在当今的互联网时代,Web 应用程序已经成为了人们日常生活和工作中不可或缺的一部分。而SpringBoot 作为一个基于 Java 的轻量级框架,因其简单易用、快速开发和高效运行的特点,受到了越来越多开发者的青睐。
在SpringBoot 应用程序中,注册 Web 组件是一个非常重要的环节。它可以帮助我们将应用程序的各个部分(如控制器、服务、过滤器等)整合到一起,形成一个完整的 Web 应用程序。
通过阅读这篇博客文章,读者将不仅可以掌握SpringBoot 注册 Web 组件的基本概念和方法,还能够了解一些高级技巧和最佳实践。无论是刚开始学习SpringBoot 的新手,还是已经有一定经验的开发者,都可以从中受益。
让我们一起开始探索SpringBoot 之注册 Web 组件的世界吧!


一、注册Servlet

由于SpringBoot项目没有web.xml文件,所以无法在web.xml中注册web组件,SpringBoot有自己的方式注册web组件。

注册方式一

1.编写servlet

@WebServlet("/first")
public class FirstServlet extends HttpServlet {
   
  public void doGet(HttpServletRequest request, HttpServletResponse response){
   
    System.out.println("First Servlet........");
   }
}

2.启动类扫描web组件

@SpringBootApplication
//SpringBoot启动时扫描注册注解标注的Web组件
@ServletComponentScan
public class Springbootdemo2Application {
   
  public static void main(String[] args) {
   
    SpringApplication.run(Springbootdemo2Application.class, args);
   }
}

注册方式二

1.编写servlet

public class SecondServlet extends HttpServlet {
   
  public void doGet(HttpServletRequest request, HttpServletResponse response){
   
    System.out.println("Second Servlet........");
   }
}

2.使用配置类注册servlet

@Configuration
public class ServletConfig {
   
  //ServletRegistrationBean可以注册Servlet组件,将其放入Spring容器中即可注册Servlet
  @Bean
  public ServletRegistrationBean getServletRegistrationBean(){
   
    // 注册Servlet组件
    ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
    // 添加Servlet组件访问路径
    bean.addUrlMappings("/second");
    return bean;
   }
}

二、注册Filter

注册方式一

1.编写filter

@WebFilter(urlPatterns = "/first")
public class FirstFilter implements Filter {
   
  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
    }
  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
   
    System.out.println("进入First Filter");
    filterChain.doFilter(servletRequest,servletResponse);
    System.out.println("离开First Filter");
   }
  @Override
  public void destroy() {
    }
}

2.启动类扫描web组件

@SpringBootApplication
//SpringBoot启动时扫描注册注解标注的Web组件
@ServletComponentScan
public class Springbootdemo2Application {
   
  public static void main(String[] args) {
   
    SpringApplication.run(Springbootdemo2Application.class, args);
   }
}

注册方式二

1.编写filter

public class SecondFilter implements Filter {
   
  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
    }
  
  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
   
    System.out.println("进入Second Filter");
    filterChain.doFilter(servletRequest,servletResponse);
    System.out.println("离开Second Filter");
   }


  @Override
  public void destroy() {
    }
}

2.使用配置类注册filter

@Configuration
public class FilterConfig {
   
  @Bean
  public FilterRegistrationBean getFilterRegistrationBean(){
   
    // 注册filter组件
    FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());
    // 添加过滤路径
    bean.addUrlPatterns("/second");
    return bean;
   }
}

注册Listener

注册方式一

1.编写Listener

@WebListener
public class FirstListener implements ServletContextListener {
   
  @Override
  public void contextInitialized(ServletContextEvent sce) {
   
    System.out.println("First Listener Init......");
   }


  @Override
  public void contextDestroyed(ServletContextEvent sce) {
   


   }
}

2.启动类扫描web组件

@SpringBootApplication
//SpringBoot启动时扫描注册注解标注的Web组件
@ServletComponentScan
public class Springbootdemo2Application {
   
  public static void main(String[] args) {
                
    SpringApplication.run(Springbootdemo2Application.class, args);
   }
}

注册方式二

1.编写Listener

public class SecondListener implements ServletContextListener {
   
  @Override
  public void contextInitialized(ServletContextEvent sce) {
   
    System.out.println("Second Listener Init......");
   }


  @Override
  public void contextDestroyed(ServletContextEvent sce) {
   


   }
}

2.使用配置类注册Listener

@Configuration
public class ListenerConfig {
   
  @Bean
  public ServletListenerRegistrationBean getServletListenerRegistrationBean(){
   
    ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean(new SecondListener());
    return bean;
   }
}


总结

提示:这里对文章进行总结:

通过阅读这篇博客,读者应该对 SpringBoot 之注册 Web 组件有了更深入的理解。他们可以掌握如何使用注解和配置文件来注册各种 Web 组件,并能够在实际项目中灵活应用这些知识。希望这篇博客对读者有所帮助,让他们在 SpringBoot 开发中更加高效和便捷。

相关推荐

  1. SpringBoot注册Web

    2024-01-03 14:52:06       64 阅读
  2. 鸿蒙应用开发Web4

    2024-01-03 14:52:06       28 阅读
  3. vue基础及注册

    2024-01-03 14:52:06       38 阅读
  4. react注意事项

    2024-01-03 14:52:06       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-03 14:52:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-03 14:52:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-03 14:52:06       87 阅读
  4. Python语言-面向对象

    2024-01-03 14:52:06       96 阅读

热门阅读

  1. python中xpath库知识点记录

    2024-01-03 14:52:06       45 阅读
  2. 二、C#基础语法( 委托与事件)

    2024-01-03 14:52:06       57 阅读
  3. 邦芒忠告:写个人简历时千万不要犯十个错误

    2024-01-03 14:52:06       60 阅读
  4. 服务器的固件和OS

    2024-01-03 14:52:06       56 阅读
  5. linux seq_file 文件编程步骤

    2024-01-03 14:52:06       39 阅读
  6. ntp校时服务器、ntp授时服务器、ntp时钟服务器

    2024-01-03 14:52:06       64 阅读
  7. 如何选择高防服务器

    2024-01-03 14:52:06       58 阅读
  8. iOS和iPadOS设备启动到打开App

    2024-01-03 14:52:06       58 阅读
  9. Treemap layout;squarified treemap layout

    2024-01-03 14:52:06       60 阅读