本文环境
Maven3.5 JDK1.8 idea SpringBoot2.0.1
工程pom文件加入Jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
1. 注解扫描方式
- 准备Servlet
@WebServlet(name = "firstServlet", urlPatterns = "/firstServlet") //标记为servlet,以便启动器扫描。 public class FirstServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().append("firstServlet"); } }
- 注册Servlet
@SpringBootApplication @ServletComponentScan //启动器启动时,扫描本目录以及子目录带有的webservlet注解的 public class FirstServletApplication { public static void main(String[] args) { SpringApplication.run(FirstServletApplication.class, args); } }
- 访问Servlet
2. 组建注册方式
- 准备Servlet
//这里不需要添加webServlet注解 public class SecondServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().append("SecondServlet");}}
- 注册Servlet
@SpringBootApplication public class SecondServletApplication { public static void main(String[] args) { SpringApplication.run(SecondServletApplication.class, args); } @Bean //一定要加,不然这个方法不会运行 public ServletRegistrationBean getServletRegistrationBean() { //一定要返回ServletRegistrationBean ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet()); //放入自己的Servlet对象实例 bean.addUrlMappings("/secondServlet"); //访问路径值 return bean;}}