zoukankan      html  css  js  c++  java
  • servlet实现简单的*

    项目基于Spring
    须要的依赖为:

    <dependency>
        <groupId>org.mitre.dsmiley.httpproxy</groupId>
        <artifactId>smiley-http-proxy-servlet</artifactId>
        <version>1.7</version>
    </dependency>
    

    只需要添加一个java文件即可,原理有待继续研究

    package *.*.*.*;
    
    import org.mitre.dsmiley.httpproxy.ProxyServlet;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * Created by czz on 2018/11/13.
     */
    @Configuration
    public class SolrProxyServletConfiguration {
        @Bean
        public ServletRegistrationBean servletRegistrationBean(){
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new ProxyServlet(), "/s/*");
            servletRegistrationBean.addInitParameter("targetUri", "http://www.baidu.com/s");
            servletRegistrationBean.addInitParameter(ProxyServlet.P_LOG, "false");
            return servletRegistrationBean;
        }
    }
    

    还可以通过配置多个bean来达到代理多个服务的目的

    
    package *.*.*.*;
    
    import org.mitre.dsmiley.httpproxy.ProxyServlet;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * Created by czz on 2018/11/13.
     */
    @Configuration
    public class SolrProxyServletConfiguration {
        @Bean
        public ServletRegistrationBean servletRegistrationBean(){
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new ProxyServlet(), "/s/*");
            servletRegistrationBean.setName("baidu");
            servletRegistrationBean.addInitParameter("targetUri", "http://www.baidu.com/s");
            servletRegistrationBean.addInitParameter(ProxyServlet.P_LOG, "false");
            return servletRegistrationBean;
        }
    
        @Bean
        public ServletRegistrationBean servletRegistrationBean1(){
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new ProxyServlet(), "/bootstrap/*");
            servletRegistrationBean.setName("runoob");
            servletRegistrationBean.addInitParameter("targetUri", "http://www.runoob.com/bootstrap");
            servletRegistrationBean.addInitParameter(ProxyServlet.P_LOG, "false");
            return servletRegistrationBean;
        }
    
    
        @Bean
        public ServletRegistrationBean servletRegistrationBean2(){
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new ProxyServlet(), "/otheragent/*");
            servletRegistrationBean.setName("***");
            servletRegistrationBean.addInitParameter("targetUri", "http://***/otheragent");
            servletRegistrationBean.addInitParameter(ProxyServlet.P_LOG, "false");
            return servletRegistrationBean;
        }
    }
    
    

    参考文章:Spring boot使用ProxyFilter进行服务代理

    希望可以帮助到大家,大家也可关注我的公众号方便在手机上进行查看

  • 相关阅读:
    asp.net 数据导出到Excel
    系统架构之畅想
    access2003绿色中文版(转)
    项目那点事(共享)
    不错的消息提示
    配置Windows media service 流媒体服务器
    MemberShip 数据库的安装,web.config的配置及数据库文档结构
    windows server 2003 service pack 2 无法安装...产品密钥可能无效
    残忍,人
    js小技巧鼠标滑过显示大图
  • 原文地址:https://www.cnblogs.com/caozz/p/9953903.html
Copyright © 2011-2022 走看看