评论

收藏

[Java] SpringBoot如何注册Servlet、Filter、Listener的几种方式

编程语言 编程语言 发布于:2021-10-07 16:53 | 阅读数:267 | 评论:0

在Servlet 3.0之前都是使用web.xml文件进行配置,这篇文章主要介绍了SpringBoot如何注册Servlet、Filter、Listener的几种方式,在Servlet 3.0之前都是使用web.xml文件进行配置,
在servlet 3.0之前都是使用web.xml文件进行配置,需要增加servlet、filter或者listener都需要在web.xml增加相应的配置。servlet 3.0之后可以使用注解进行配置servlet、filter或者listener;springboot也提供了使用代码进行注册servlet、filter或者listener。所以springboot有两种方式进行servlet、filter或者listener配置。
方式一:使用注解
(1)注册servlet
使用@webservlet注册,需要在servlet类上使用该注解即可,但是需要在@configuration类中使用spring boot提供的注解@servletcomponentscan扫描注册相应的servlet。
(2)  注册filter
使用@webfilter注册,需要在filter类上使用该注解即可,但是需要在@configuration类中使用spring boot提供的注解@servletcomponentscan扫描注册相应的filter。
(3)注册listener
使用@weblistener注册,需要在filter类上使用该注解即可,但是需要在@configuration类中使用spring boot提供的注解@servletcomponentscan扫描注册相应的listener。
方式二:使用spring提供的方式
(1)注册servlet
使用servletregistrationbean注册只需要在@configuration类中加入类似以下的代码
@bean
public servletregistrationbean regservlet() {
  servletregistrationbean userservlet= new servletregistrationbean();
  userservlet.addurlmappings("/servlet");
  userservlet.setservlet(new userservlet());
  return userservlet;
 
}
(2)  注册filter
使用filterregistrationbean注册filter,只需要在@configuration类中加入类似以下的代码:
@bean
  public filterregistrationbean regfilter() {
  filterregistrationbean userfilter = new filterregistrationbean();
  userfilter .addurlpatterns("/*");
  userfilter .setfilter(new userfilter ());
  return userfilter ;
 
}
(3)注册listener
使用servletlistenerregistrationbean注册listener只需要在@configuration类中加入类似以下的代码:
@bean
  public servletlistenerregistrationbean<loginsessionlistener> regservletlistener() {
  servletlistenerregistrationbean<loginsessionlistener> loginsessionlistener= new servletlistenerregistrationbean<loginsessionlistener>();
  loginsessionlistener.setlistener(new loginsessionlistener());
  return loginsessionlistener;
 
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家
原文链接:https://yq.aliyun.com/articles/657775

关注下面的标签,发现更多相似文章