全网整合营销服务商

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

免费咨询热线: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 


相关文章: 简单实现Android文件上传  *服务器网站为何频现安全漏洞?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  如何高效利用200m空间完成建站?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  如何通过宝塔面板实现本地网站访问?  h5网站制作工具有哪些,h5页面制作工具有哪些?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  制作电商网页,电商供应链怎么做?  如何在腾讯云服务器上快速搭建个人网站?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何基于云服务器快速搭建网站及云盘系统?  图册素材网站设计制作软件,图册的导出方式有几种?  c# await 一个已经完成的Task会发生什么  香港服务器如何优化才能显著提升网站加载速度?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何在搬瓦工VPS快速搭建网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何用PHP快速搭建CMS系统?  网站制作说明怎么写,简述网页设计的流程并说明原因?  如何快速搭建个人网站并优化SEO?  如何高效配置IIS服务器搭建网站?  活动邀请函制作网站有哪些,活动邀请函文案?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  如何在云服务器上快速搭建个人网站?  linux top下的 minerd 木马清除方法  青岛网站建设如何选择本地服务器?  建站之星在线客服如何快速接入解答?  公司网站的制作公司,企业网站制作基本流程有哪些?  大同网页,大同瑞慈医院官网?  如何确保FTP站点访问权限与数据传输安全?  网站制作难吗安全吗,做一个网站需要多久时间?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  javascript中的try catch异常捕获机制用法分析  如何在阿里云完成域名注册与建站?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  建站之星导航如何优化提升用户体验?  MySQL查询结果复制到新表的方法(更新、插入)  如何在阿里云虚拟主机上快速搭建个人网站?  东莞专业制作网站的公司,东莞大学生网的网址是什么? 

您的项目需求

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