Spring boot 添加 Servlet(ServletRegistrationBean)

Spring boot 默認是不支持 JSP 的,所以想用 JSP 就必須使用外部容器來運行,即不能使用嵌入式的 Tomcat 或 Jetty。有時候一些老項目使用的是 JSP 寫的頁面,後臺使用的是 Servlet ,領導要求使用 Spring boot 進行改造,但是改造呢是一個漫長的過程,那麼如何讓 Spring boot 快速的支持 Servlet 呢?本文來告訴你具體的操作方法。

除了上面的老項目改造,還有使用 Druid 數據庫連接池的項目改爲 Spring boot 項目時,還需保留 Druid 對 SQL 方面的監控。那麼就迫切的需要 Spring boot 支持 Servlet 功能。

看過 Spring Boot 源碼的都支持,Spring boot 默認爲我們提供了註冊 Servlet 三大組件 Servlet、Filter、Listener 的接口。我們只需按需配置和添加少量的代碼即可實現添加 Servlet 的功能。

由於 SpringBoot 默認是以 jar 包的方式啓動嵌入式的 Servlet 容器來啓動 SpringBoot 的 web 應用,沒有 web.xml 文件。

所以想用使用 Servlet 功能,就必須要借用 Spring Boot 提供的 ServletRegistrationBean 接口。

因此整個實現就變得很簡單了。我們只需要在 @Configuration 註解過的類中做以下配置即可使用 Servlet 功能。

1

2

3

4

5

6

//註冊Servlet組件

@Bean

public ServletRegistrationBean myServlet(){

    ServletRegistrationBean registrationBean = new ServletRegistrationBean(new MyServlet(),"/myServlet");

    return registrationBean;

}

MyServlet 類,就是我們自己定製的 Servlet 類。按照 Servlet 的常規寫法,實現 doGet 和 doPost 方法即可。

Spring boot 其實沒什麼難得,多看它的官方文檔,搞定它不在話下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章