springboot配置和注册组件

注册Servlet三大组件(servlet、Filter、Listener)

由于SpringBoot默认是以jar包的方式启动嵌入式Servlet容器来启动SpringBoot的web应用,没有web.xml文件
注册三大组件用以下方式:
ServletRegistrationBean
FilterRegistrationBean
ServletListenerRegistrationBean

@Configuration
public class MyMvcConfig extends WebMvcConfigurationSupport {
    @Bean
    public ServletRegistrationBean myServlet(){
        ServletRegistrationBean registrationBean = new ServletRegistrationBean(new MyServlet(),"/hello");
        return registrationBean;
    }
}
    
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doPost");
    }
}

这是注册servlet,其他两个注册器同样方式
使用其他Servlet容器
默认是使用tomcat
Jetty(长连接) 时使用即聊天程序
Undertow(不支持jsp),但性能高,并发无阻塞

//把tomcat引入的jar包排除,然后引入jetty即可,undertow类似
<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot是一个非常方便的开发框架,可以快速构建Web应用程序。使用SpringBoot的好处是可以减少代码的编写量,并且可以免除很多繁琐的配置工作。其中,Filter是Web应用程序中非常重要的组件之一,它可以用来处理诸如跨站点请求伪造(CSRF)、安全性、日志记录等问题。 在SpringBoot配置Filter也非常简单,可以通过代码实现。下面是一个例子,在application类中,可以增加@ServletComponentScan注解,然后增加一个Filter组件,就可以对请求进行过滤了: ``` @ServletComponentScan @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public FilterRegistrationBean myFilter() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new MyFilter()); registration.addUrlPatterns("/*"); registration.setName("MyFilter"); registration.setOrder(1); return registration; } } ``` 以上代码中,@ServletComponentScan注解的作用是在SpringBoot启动时扫描@WebFilter、@WebListener和@WebServlet注解,并注册其对应的组件。在@Bean处增加了一个FilterRegistrationBean组件,并在其中设置了Filter的Bean、URL匹配模式、组件名称和优先级。 需要注意的是,myFilter()方法返回的是一个FilterRegistrationBean对象,这个对象包含了Filter的相关配置信息,如过滤器的名称、执行先后顺序、过滤的URL等等。在实际应用中,根据不同的需求,可以进行不同的Filter配置。 总之,SpringBoot配置Filter非常简单,只需要少量的代码就可以实现很多功能。通过使用Filter,可以有效地提高Web应用程序的可靠性和安全性,增强Web应用程序的功能和易用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值