在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