SpringBoot中使用Servlet的兩種方式小結(jié)
1.方式一(使用注解)
首先,我們寫一個Servlet。要求就是簡單的打印一句話。
在MyServlet這個類的上方使用 @WebServlet 注解來創(chuàng)建Servlet即可。
package com.songzihao.springboot.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * */ @WebServlet(urlPatterns = "/myservlet") public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().println("My SpringBoot Servlet-1"); resp.getWriter().flush(); resp.getWriter().close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
之后在SpringBoot項目的入口類上方使用注解 @ServletComponentScan 注解來掃描Servlet中的注解即可。
package com.songzihao.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @SpringBootApplication //開啟spring配置 @ServletComponentScan(basePackages = "com.songzihao.springboot.servlet") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
最后啟動測試。
2.方式二(定義配置類)
仍然是先寫一個 Servlet。這次不使用注解。
package com.songzihao.springboot.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * */ public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().println("My SpringBoot Servlet-2"); resp.getWriter().flush(); resp.getWriter().close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
然后再寫一個配置類?。?!
這個類的上方使用 @Configuration 注解,表名該類是一個配置類,相當(dāng)于之前的各種xml配置文件。
在類中的方法上方使用 @Bean 注解,ServletRegistrationBean 這相當(dāng)于是一個Servlet注冊類,類似于之前的 <servlet>、<servlet-mapping> 標(biāo)簽的作用。
package com.songzihao.springboot.config; import com.songzihao.springboot.servlet.MyServlet; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * */ @Configuration //該注解將此類定義為一個配置類(相當(dāng)于一個xml配置文件) public class ServletConfig { /** * @Bean 是一個方法級別上的注解,主要用在配置類里 * 相當(dāng)于一個 <beans> * <bean id="..." class="..." /> * </beans> * @return */ @Bean public ServletRegistrationBean myServletRegistrationBean() { ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean( new MyServlet(),"/myservlet" ); return servletRegistrationBean; } }
最后啟動測試。
package com.songzihao.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringBoot如何切換成其它的嵌入式Servlet容器(Jetty和Undertow)
- Springboot自動裝配之注入DispatcherServlet的實現(xiàn)方法
- SpringBoot詳細(xì)講解異步任務(wù)如何獲取HttpServletRequest
- springboot配置嵌入式servlet容器的方法
- SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程圖解
- SpringBoot注冊Servlet的三種方法詳解
- springboot掃描自定義的servlet和filter代碼詳解
- SpringBoot嵌入式Servlet容器與定制化組件超詳細(xì)講解
相關(guān)文章
java中unicode和中文相互轉(zhuǎn)換的簡單實現(xiàn)
下面小編就為大家?guī)硪黄猨ava中unicode和中文相互轉(zhuǎn)換的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08Java實現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu)
本文主要介紹了Java實現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Java中java.lang.ClassCastException異常原因以及解決方法詳解
這篇文章主要給大家介紹了關(guān)于Java中java.lang.ClassCastException異常原因以及解決方法的相關(guān)資料,ClassCastException從字面上看是類型轉(zhuǎn)換錯誤,通常是進(jìn)行強(qiáng)制類型轉(zhuǎn)換時候出的錯誤,需要的朋友可以參考下2024-02-02Spring security基于數(shù)據(jù)庫中賬戶密碼認(rèn)證
這篇文章主要介紹了Spring security基于數(shù)據(jù)庫中賬戶密碼認(rèn)證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03Spring Boot整合Spring Cache及Redis過程解析
這篇文章主要介紹了Spring Boot整合Spring Cache及Redis過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12