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
- servlet/filter/listener/interceptor區別與聯絡ServletFilter
- listener的動態註冊
- Oracle Listener 動態註冊 與 靜態註冊Oracle
- Oracle listener靜態註冊和動態註冊Oracle
- Oracle Listener 動態註冊與靜態註冊Oracle
- Listener & FilterFilter
- listener靜態註冊和動態註冊總結
- 關於Listener動態註冊
- 動態註冊監聽Listener
- 實戰Spring Boot 2.0系列(五) - Listener, Servlet, Filter和InterceptorSpring BootServletFilter
- Oracle listener靜態註冊和動態註冊總結Oracle
- listener的靜態註冊與動態註冊詳述
- Filter&ListenerFilter
- springboot註冊Spring Boot
- web.xml 中的listener、 filter、servlet 載入順序及其詳解WebXMLFilterServlet
- oracle listener 靜態和動態註冊Oracle
- 再說Oracle Listener動靜態註冊Oracle
- 【LISTENER】修改 LISTENER的監聽埠為1526(動態註冊)
- 【LISTENER】修改 LISTENER的監聽埠為1526(靜態註冊)
- SpringBoot基於註解方式配置FilterSpring BootFilter
- Servlet – Upload、Download、Async、動態註冊Servlet
- jsp+servlet登入註冊頁面JSServlet
- ORACLE之手動註冊監聽listener。alter system set local_listener="XXX"Oracle
- Tomcat 7 中 web 應用載入原理(三)Listener、Filter、Servlet 的載入和呼叫TomcatWebFilterServlet
- web.xml之context-param,listener,filter,servlet載入順序及其周邊(轉載)WebXMLContextFilterServlet
- servlet,filter,sessionListener,cookie,session操作ServletFilterSessionCookie
- Servlet3.0新特性-非同步處理Servlet、FilterServlet非同步Filter
- SpringBoot整合Dubbo,註冊中心nacosSpring Boot
- servlet的過濾器filter類Servlet過濾器Filter
- 如何註冊 ChatGPT ,OpenAIChatGPTOpenAI
- oracle 監聽器動態與靜態註冊服務_listenerOracle
- java.lang.ClassNotFoundException:javax.servlet.FilterJavaExceptionServletFilter
- WebWork 2.2 Filter,Url Rewrite,Servlet規範WebFilterServlet
- Tomcat深入淺出——Filter與Listener(五)TomcatFilter
- Oracle listener靜態及動態註冊總結(轉自網路)Oracle
- 如何更改註冊的emailAI