Maison >Java >javaDidacticiel >Comment utiliser le servlet dans SpringBoot
Tout d'abord, nous écrivons un Servlet. L'exigence est d'imprimer simplement une phrase.
Utilisez l'annotation @WebServlet au-dessus de la classe MyServlet pour créer un 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); } }
Utilisez ensuite l'annotation @ServletComponentScan au-dessus de la classe d'entrée du projet SpringBoot pour analyser les annotations dans le 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); } }
Commencez enfin le test.
Écrivez d'abord un servlet. Aucune annotation n’est utilisée cette fois.
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); } }
Alors écrivez une classe de configuration ! ! !
L'annotation @Configuration est utilisée au-dessus de cette classe. Le nom de table de cette classe est une classe de configuration, qui est équivalente à divers fichiers de configuration XML précédents.
Utilisez l'annotation @Bean au-dessus de la méthode dans la classe. ServletRegistrationBean est équivalent à une classe d'enregistrement de servlet, similaire aux balises
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; } }
Commencez enfin le test.
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); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!