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);
}
}
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;
}
}