在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
|