• 【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;
      	}
      }
      
  • 相关阅读:
    P2660 zzc 种田
    ie发[e]的单词,ea发[e]的单词,e发i:的单词
    从员工表和部门表联合查询的不同方式看CBO对不同SQL的优化
    Delete..In.. 删除语句的优化再次探讨
    【Vue】第一个Vue例子
    再度思索:从配送表中选出订单号和配送者相同时的最新记录
    datx 编译打包命令
    kube-proxy iptables 模式源码分析
    kube-proxy ipvs 模式源码分析
    go json 反解析接口
  • 原文地址:https://www.cnblogs.com/isdxh/p/13528101.html
Copyright © 2020-2023  润新知