在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