全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

springboot注入servlet的方法

问:有了springMVC,为什么还要用servlet?有了servlet3的注解,为什么还要使用ServletRegistrationBean注入的方式?

使用场景:在有些场景下,比如我们要使用hystrix-dashboard,这时候就需要注入HystrixMetricsStreamServlet(第三方的servlet),该servlet是hystrix的组件。

一、代码

1、TestServlet(第一个servlet)

package com.xxx.secondboot.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet extends HttpServlet {
  
  private static final long serialVersionUID = -4619665430596950563L;

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    System.out.println("zhaojigang servlet");
  }

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

2、Testservlet2(第二个servlet)

package com.xxx.secondboot.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet2 extends HttpServlet {

  private static final long serialVersionUID = 3788279972938793265L;

  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    System.out.println("zhaojigang servlet2");
  }

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

3、ServletConfig(servlet注入配置类)

package com.xxx.secondboot.servlet;

import org.springframework.boot.context.embedded.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ServletConfig {
  
  @Bean
  public TestServlet testServlet(){
    return new TestServlet();
  }
  
  @Bean
  public ServletRegistrationBean testServletRegistrationBean(TestServlet testServlet){
    ServletRegistrationBean registration = new ServletRegistrationBean(testServlet);
    registration.setEnabled(true);
    registration.addUrlMappings("/servlet/test");
    return registration;
  }
  /********************************************/
  @Bean
  public TestServlet2 testServlet2(){
    return new TestServlet2();
  }
  
  @Bean
  public ServletRegistrationBean test2ServletRegistrationBean(TestServlet2 testServlet2){
    ServletRegistrationBean registration = new ServletRegistrationBean(testServlet2);
    registration.setEnabled(true);
    registration.addUrlMappings("/servlet/test2");
    return registration;
  }
  
}

说明:使用ServletRegistrationBean来注入servlet,对于每一个servlet都有一个ServletRegistrationBean来注入。

注意:如果只是自己要使用servlet,可以直接只用servlet3的注解来声明servlet就好,但是像HystrixMetricsStreamServlet这样的第三方servlet,就只能通过上边这样的方式来搞了。

 二、测试

启动服务,浏览器输入"http://localhost:8083/servlet/test","http://localhost:8083/servlet/test2",查看console的输出。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# springboot注入servlet  # spring  # boot  # servlet  # servlet3  # SpringBoot初始教程之Servlet、Filter、Listener配置详解  # SpringBoot中使用Filter和Interceptor的示例代码  # springboot使用filter获取自定义请求头的实现代码  # springboot中filter的用法详解  # springBoot的事件机制GenericApplicationListener用法解析  # 详解springboot整合Listener的两种方式  # SpringBoot中使用Servlet三大组件的方法(Servlet、Filter、Listene  # 第三方  # 要使  # 都有  # 第一个  # 就好  # 第二个  # 要用  # 可以直接  # 搞了  # 大家多多  # 这时候  # Override  # HttpServlet  # HttpServletResponse  # HttpServletRequest  # javax  # IOException  # http  # ServletException  # long 


相关文章: 如何设计高效校园网站?  公司门户网站制作流程,华为官网怎么做?  如何通过.red域名打造高辨识度品牌网站?  如何安全更换建站之星模板并保留数据?  网页设计网站制作软件,microsoft office哪个可以创建网页?  网站制作模板下载什么软件,ppt模板免费下载网站?  建站168自助建站系统:快速模板定制与SEO优化指南  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  网站制作的步骤包括,正确网址格式怎么写?  建站之星如何开启自定义404页面避免用户流失?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  如何快速启动建站代理加盟业务?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  如何使用Golang安装API文档生成工具_快速生成接口文档  建站之星安装提示数据库无法连接如何解决?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  建站ABC备案流程中有哪些关键注意事项?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  智能起名网站制作软件有哪些,制作logo的软件?  如何在阿里云ECS服务器部署织梦CMS网站?  如何在Golang中指定模块版本_使用go.mod控制版本号  非常酷的网站设计制作软件,酷培ai教育官方网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  建站主机空间推荐 高性价比配置与快速部署方案解析  如何批量查询域名的建站时间记录?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  建站之星免费模板:自助建站系统与智能响应式一键生成  如何在阿里云高效完成企业建站全流程?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  历史网站制作软件,华为如何找回被删除的网站?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何在服务器上三步完成建站并提升流量?  如何通过VPS建站实现广告与增值服务盈利?  已有域名能否直接搭建网站?  Python lxml的etree和ElementTree有什么区别  如何在VPS电脑上快速搭建网站?  建站VPS选购需注意哪些关键参数?  如何快速搭建响应式可视化网站?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  北京的网站制作公司有哪些,哪个视频网站最好?  制作门户网站的参考文献在哪,小说网站怎么建立?  如何高效完成自助建站业务培训?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何快速使用云服务器搭建个人网站?  制作宣传网站的软件,小红书可以宣传网站吗?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。