Rumah >Java >javaTutorial >Cara menggunakan Servlet dalam SpringBoot
Mula-mula, kami menulis Servlet. Keperluan adalah hanya mencetak ayat.
Gunakan anotasi @WebServlet di atas kelas MyServlet untuk mencipta 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); } }
Kemudian gunakan anotasi @ServletComponentScan di atas kelas kemasukan projek SpringBoot untuk mengimbas anotasi dalam 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); } }
Terakhir mulakan ujian.
Masih tulis Servlet dahulu. Tiada anotasi digunakan kali ini.
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); } }
Kemudian tulis kelas konfigurasi! ! !
Anotasi @Configuration digunakan di atas kelas ini Nama jadual kelas ini ialah kelas konfigurasi, yang bersamaan dengan pelbagai fail konfigurasi xml sebelumnya.
Gunakan anotasi @Bean di atas kaedah dalam kelas ServletRegistrationBean adalah bersamaan dengan kelas pendaftaran Servlet, serupa dengan teg
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 //该注解将此类定义为一个配置类(相当于一个xml配置文件) public class ServletConfig { /** * @Bean 是一个方法级别上的注解,主要用在配置类里 * 相当于一个 <beans> * <bean id="..." class="..." /> * </beans> * @return */ @Bean public ServletRegistrationBean myServletRegistrationBean() { ServletRegistrationBean servletRegistrationBean=new ServletRegistrationBean( new MyServlet(),"/myservlet" ); return servletRegistrationBean; } }
Terakhir mulakan ujian.
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); } }
Atas ialah kandungan terperinci Cara menggunakan Servlet dalam SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!