服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - SpringBoot如何注册Servlet、Filter、Listener的几种方式

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

2021-06-09 13:39技术小能手 Java教程

在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类中加入类似以下的代码

?
1
2
3
4
5
6
7
8
@bean
public servletregistrationbean regservlet() {
    servletregistrationbean userservlet= new servletregistrationbean();
    userservlet.addurlmappings("/servlet");
    userservlet.setservlet(new userservlet());
    return userservlet;
 
}

(2)  注册filter

使用filterregistrationbean注册filter,只需要在@configuration类中加入类似以下的代码:

?
1
2
3
4
5
6
7
8
@bean
  public filterregistrationbean regfilter() {
    filterregistrationbean userfilter = new filterregistrationbean();
    userfilter .addurlpatterns("/*");
    userfilter .setfilter(new userfilter ());
    return userfilter ;
 
}

(3)注册listener

使用servletlistenerregistrationbean注册listener只需要在@configuration类中加入类似以下的代码:

?
1
2
3
4
5
6
7
@bean
  public servletlistenerregistrationbean<loginsessionlistener> regservletlistener() {
    servletlistenerregistrationbean<loginsessionlistener> loginsessionlistener= new servletlistenerregistrationbean<loginsessionlistener>();
    loginsessionlistener.setlistener(new loginsessionlistener());
    return loginsessionlistener;
 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://yq.aliyun.com/articles/657775

延伸 · 阅读

精彩推荐