两种方式:

  • 通过注解扫描完成 Servlet组件的注册
  • 通过方法完成 Servlet组件的注册

一、通过注解扫描完成 Servlet 组件的注册

1. 编写Servlet类

/**
 * SpringBoot整合Servlet方式一:
 *
 * 传统方式:
 * <servlet>
 *         <servlet-name>FirstServlet</servlet-name>
 *         <servlet-class>com.linhw.demo.servlet.FirstServlet</servlet-class>
 * </servlet>
 * <servlet-mapping>
 *         <servlet-name>FirstServlet</servlet-name>
 *         <url-pattern>/first</url-pattern>
 * </servlet-mapping>
 */
@WebServlet(name="FirstServlet", urlPatterns={"/first"})
public class FirstServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("FirstServlet Enter ......");
    }

}

2. 编写启动类

@SpringBootApplication
@ServletComponentScan ///在 springBoot 启动时会扫描@WebServlet,并将该类实例
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

二、通过方法完成 Servlet 组件的注册

1. 编写Servlet

//与第一种的区别,就是没有加@WebServlet注解
public class SecondServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("FirstServlet Enter ......");
    }
}

2. 编写启动类

@SpringBootApplication
public class App2 {
    public static void main(String[] args) {
        SpringApplication.run(App2.class, args);
    }

    //以@Bean注解实例化Servlet,注入到容器中,方法名称就是bean name
    @Bean
    public ServletRegistrationBean getServlet(){
        ServletRegistrationBean secondServlet = new ServletRegistrationBean(new SecondServlet());
        secondServlet.addUrlMappings(new String[]{"/second"});
        return secondServlet;
    }
}

最新文章

  1. js判断网页是否加载完毕 包括图片
  2. 原!!jar包 --可执行exe文件--安装包
  3. codeforce div 377
  4. 大容量导入和导出 XML 文档的示例
  5. Java Day 07
  6. Java开发核心技术面试心得分析
  7. codeforces D
  8. Hashtable与HashMap区别(2)
  9. vs2012 发布网站丢失文件
  10. JMM内存管理
  11. 老李分享:Web Services 架构 1
  12. 微信小程序基于腾讯云对象存储的图片上传
  13. 照葫芦画瓢系列之Java --- Maven的集成和使用
  14. GitHub的Windows客户端的使用教程
  15. Eclipse如何导入DemoWeb.rar
  16. Redis 安装,配置以及数据操作
  17. css-去掉IE浏览器自带&#215;号
  18. device public set
  19. spring1 注册value与ref的区别
  20. Wide - Residual - Inception Networks for R eal - time O bject D etection

热门文章

  1. 002Excel冻结窗口(冻结第二行)
  2. Linux学习笔记-第16天 这些个配置参数好饶阿
  3. git 关联vs code
  4. keras和tensorflow搭建DNN、CNN、RNN手写数字识别
  5. QQ音乐2019客户端-获取任意歌单完整歌曲列表和下载音乐文件方法
  6. 十一、Spring之事件监听
  7. Vue全选和全不选
  8. 通过Filebeat把日志传入到Elasticsearch
  9. kali渗透综合靶机(十三)--Dina 1.0靶机
  10. mssql SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法