SpringBoot如何註冊Servlet、Filter、Listener
在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;
}
本文作者: java樂園
本文來自雲棲社群合作伙伴“JAVA樂園”,瞭解相關資訊可以關注“JAVA樂園”
相關文章
- JavaWeb三大元件(Servlet、Filter、Listener)JavaWeb元件ServletFilter
- 一文快速回顧 Servlet、Filter、ListenerServletFilter
- 實戰Spring Boot 2.0系列(五) - Listener, Servlet, Filter和InterceptorSpring BootServletFilter
- Filter&ListenerFilter
- springboot註冊Spring Boot
- ORACLE之手動註冊監聽listener。alter system set local_listener="XXX"Oracle
- Servlet – Upload、Download、Async、動態註冊Servlet
- SpringBoot基於註解方式配置FilterSpring BootFilter
- Cookie,Session Filter,Listener詳解CookieSessionFilter
- jsp+servlet登入註冊頁面JSServlet
- 【SpringBoot】服務對註冊中心的註冊時機Spring Boot
- Tomcat深入淺出——Filter與Listener(五)TomcatFilter
- SpringBoot整合Dubbo,註冊中心nacosSpring Boot
- Filter 與 Servlet 的區別FilterServlet
- Servlet3.0新特性-非同步處理Servlet、FilterServlet非同步Filter
- 2024/11/20日 日誌 關於 Filter & ListenerFilter
- 【024期】JavaWeb面試題(五):Filter和ListenerJavaWeb面試題Filter
- springboot整合nacos註冊中心和配置中心Spring Boot
- 如何註冊 ChatGPT ,OpenAIChatGPTOpenAI
- Filter(過濾器)與Listener(監聽器)詳解Filter過濾器
- SpringBoot基礎篇Bean之動態註冊Spring BootBean
- 如何註冊facebook賬號
- SpringBoot之網站的登陸註冊邏輯Spring Boot網站
- java EE開發之Servlet第四課:監聽器(Listener)JavaServlet
- SpringBoot 中的 Servlet Web 容器Spring BootServletWeb
- SpringBoot中根據屬性動態註冊Spring BeanSpring BootBean
- 【SpringBoot】服務對註冊中心的下線時機Spring Boot
- Servlet 常見的註解Servlet
- SpringBoot與Dubbo整合報錯排查(Nacos作為註冊中心)Spring Boot
- 動態註冊和靜態註冊
- win10如何解除dll註冊_win10取消註冊dll的方法Win10
- 存在多個不同註冊中心的時候,如何平滑的統一註冊中心?
- SpringBoot使用Nacos作為配置中心服務和服務註冊中心Spring Boot
- SpringBoot+Eureka註冊中心+Feign進行微服務之間呼叫Spring Boot微服務
- SpringBoot部署到外部Tomcat無法註冊到Nacos服務端Spring BootTomcat服務端
- 如何在router-link上註冊事件事件
- Servlet 如何工作Servlet
- Dubbo系列之 (二)Registry註冊中心-註冊(1)