zoukankan      html  css  js  c++  java
  • 【SpringBoot】03.SpringBoot整合Servlet的两种方式

    SpringBoot整合Servlet的两种方式:

    1. 通过注解扫描完成Servlet组件注册

    • 新建Servlet类继承HttpServlet
    • 重写超类doGet方法
    • 在该类使用注解@WebServlet
    @WebServlet(name="FirstServlet" ,urlPatterns="/first")
    public class FirstServlet extends HttpServlet {
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		System.out.println("执行了");
    	}
    }
    
    
    • 编写启动类

    • 增加注解@ServletComponentScan //在springboot启动时会扫描websevlet的路径,并将该类实例化

      /**
       * SpringBoot 启动类
       * @SpringBootApplication 是springboot的启动类
       * 启动器存放的位置:启动器可以和controller位于同一个包下或者上一个包下。 不能同级的包
       */
      @SpringBootApplication
      @ServletComponentScan	//在springboot启动时会扫描websevlet的路径,并实例化
      public class App {
      	public static void main(String[] args) {
      		SpringApplication.run(App.class, args);
      	}
      }
    

    2.通过方法完成Servlet组件注册

    • 编写一个类同样继承HttpServlet

    • 重写doGet方法

    • 编写启动类

      1. 添加一个方法,返回值必须是ServletRegistrationBean的对象,该对象就是注册Servlet的对象。
      2. 在方法中,new SecondServlet()
      3. 通过bean.addUrlMappings("/second")完成urlPatterns的配置
      4. 返回该对象
      5. 在该方法中加入注解@Bean
      /**
       * SpringBoot 启动类
       * @SpringBootApplication 是springboot的启动类
       * 启动器存放的位置:启动器可以和controller位于同一个包下或者上一个包下。 不能同级的包
       */
      @SpringBootApplication
      public class App2 {
      	public static void main(String[] args) {
      		SpringApplication.run(App2.class, args);
      	}
      	/**
      	 * 注册Servlet的方法
      	 */
      	@Bean
      	public ServletRegistrationBean getServletRegistrationBean(){
      		ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
      		bean.addUrlMappings("/second");
      		return bean;
      	}
      }
      
  • 相关阅读:
    第四次作业:个人项目-小学四则运算 “软件”之初版
    随笔 | 阅读《构建之法》1-5章感想
    随笔 | 分布式版本控制系统Git的安装与使用
    随笔 | 对软件工程的一些感想
    为什么加载 JavaScript 使用 "src",CSS 使用 "href"?有其含义还是历史语法遗留?
    webstrom 添加一键open in browser
    sublime 代码段
    二.sublime配置 sublimecondeintel 分号后不要提示
    一.sublime配置 sublime 新建文档 默认html
    chrome使用
  • 原文地址:https://www.cnblogs.com/isdxh/p/13528101.html
Copyright © 2011-2022 走看看