栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot中Web原生组件注入(Servlet、Filter、Listener)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot中Web原生组件注入(Servlet、Filter、Listener)

SpringBoot中Web原生组件注入(Servlet、Filter、Listener)

文章目录

SpringBoot中Web原生组件注入(Servlet、Filter、Listener)

一、使用Servlet API二、使用RegistrationBean

2.1 ServletRegistrationBean

一、使用Servlet API

    在主类中添加@ServletComponentScan(basePackages = "cn.edu.tiangong")注解。

      作用:制定原生servlet组件都放在哪里

      代码:

      @ServletComponentScan(basePackages = "cn.edu.tiangong")
      @SpringBootApplication
      public class SpringBootDemo05WebApplication {
      
          public static void main(String[] args) {
              SpringApplication.run(SpringBootDemo05WebApplication.class, args);
          }
      
      }
      

    编写一个servlet实现HttpServlet,并添加注解@WebServlet(urlPatterns = "/my")

      效果:直接响应,没有经过SpringBoot的拦截器

      代码:

      @WebServlet(urlPatterns = "/my")
      public class MyServlet extends HttpServlet {
      
          @Override
          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              resp.getWriter().write("6666");
          }
      }
      

    编写一个filter实现Filter接口,并且添加@WebFilter(urlPatterns = {"/css //@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = true) public class MyRegistrationConfig { @Bean public ServletRegistrationBean myServlet() { MyServlet servlet = new MyServlet(); return new ServletRegistrationBean(servlet, "/my", "/your"); } @Bean public FilterRegistrationBean myFilter() { MyFilter filter = new MyFilter(); // 1. 只拦截myServlet的路径 // return new FilterRegistrationBean(filter, myServlet()); // 2. 拦截自定义路径 FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(filter); filterRegistrationBean.setUrlPatterns(Arrays.asList("/my", "/css/*")); return filterRegistrationBean; } }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号