一个项目拆成web和platform,web不对接数据库,只调用各个platform,每个平台负责出一个httpclient的client-jar包,封装好curd方法给web端调用,入参和出参用jar包的d

web调用platform的方法是用走controller,现在重复走了很多遍层,现在把platform的controller删掉,接口抽象到client-jar包里面,那么web也可以直接调用

jar包上的接口的时候使用动态代理,带上方法的参数类型(防止重载情况,和参数数据)拼接一条url,host/rpc/类名/方法名,通过httpclient发送请求,platform这边由于没有了controller

使用一个filter来匹配拦截rpc的路径,通过url上的类名,从spring容器里面获得bean,通过bean来getclass,和穿过来param类型获得方法,最好通过方法,对象,入参数据,获得返回数据,转成json传回去

把每个client-jar包的共有部分拆出来作为公司的common包,有HTTP client,proxy factory工厂,proxy的handler代理类

client-jar抽象成用来描述平台接口和入参出参的dto和枚举类

web 对接 platform的更多相关文章

  1. Microsoft Web Platform Installer 5.0

    Microsoft Web Platform Installer 5.0 Web 平台安装器 https://www.microsoft.com/web/downloads/platform.aspx

  2. web platform installer

    下载链接 https://www.microsoft.com/web/downloads/platform.aspx 默认的安装路径 C:\Program Files\Microsoft\Web Pl ...

  3. 使用ServiceStack构建Web服务

    提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛.首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Bu ...

  4. Visual Studio 使用Web Deploy 3.6发布项目

    工具:Web Deploy 3.6 点击下载 (强烈推荐使用独立的Web Deploy 安装包安装) 配置: 1.安装web deploy,安装好之后,点击IIS根目录,此处应有如下图标 另外,需要注 ...

  5. VS2010 需要缺少的web组件才能加载该项目

    到的问题是解决方案中部分项目无法加载, 提示需要缺少的web组件才能加载该项目,是否通过WEB安装组件来网络安装, 点击确定以后就什么也没有了. 到微软网站去下载Microsoft Web Platf ...

  6. 搭建Eclipse、Resin Web开发环境

    搭建Eclipse.Resin Web开发环境 一.当然是安装java开发环境 参看: Java环境的搭建 http://www.cnblogs.com/ghj1976/archive/2010/04 ...

  7. 服务--web服务

    .面向对象和面向组件 .什么是Web服务 Web Service "Stack" .Web服务的应用分类 Web服务都是对象/组件技术在Internet中的延伸 面向对象和面向组件 ...

  8. Web平台安装及检测程序

    软件名称:microsoft web platform installer 上图: 可以看做是一个App Store, 你再也不用东奔西跑去找什么开发软件,CMS等等了,直接打开这个,勾选上就安装吧, ...

  9. 手动打包MVC项目成Web Deploy包,发布至服务器

    ①确保服务器上安装了Web Deploy,可以使用微软Web Paltform Installer安装.https://www.microsoft.com/web/downloads/platform ...

随机推荐

  1. 在html5中不支持<table>的cellpadding 和 cellspacing ; 2) 如何用css实现 cellpadding, cellspacing ; 3) tr , th 是 有 border, 没有 padding 的.

    1.初始: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  2. 基于centos的freeradius高可用lvs(UDP)

    最近在做freeradius的高可用配置,使用lvs的vip做轮询: freeradius的配置见前面的文章: 下面是lvs的keepalived的配置: global_defs { router_i ...

  3. Python 网络通信协议 tcp udp区别

    网络通信的整个流程 在这一节就给大家讲解,有些同学对网络是既熟悉又陌生,熟悉是因为我们都知道,我们安装一个路由器,拉一个网线,或者用无限路由器,连上网线或者连上wifi就能够上网购物.看片片.吃鸡了, ...

  4. BZOJ 1083 [SCOI2005]繁忙的都市 (最小生成树裸题无重边) 超简单写法!!

    Description 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口 ...

  5. jQuery的文件引入、入口函数以及js对象和jquery对象之间的互相转换

    JavaScript与jquery的区别 JavaScript是一门编程语言,用来编写客户端浏览器脚本. jQuery是javascript的一个库,包含多个可重用的函数,用来辅助简化javascri ...

  6. Git忽略文件权限

    有时 git diff 执行显示文件内容没变化,但是git status却是一片姨妈红: 原因是文件的权限,被chmod变化了,这种变化也被 diff 识别出来了,git diff某个文件类似如下: ...

  7. scrapy常用命令

    终端命令 创建一个项目: scrapy startproject name 利用蜘蛛名创建一个py文件: scrapy genspider name domain.name 在终端运行:scrapy ...

  8. 快排 - 快速排序算法 (Chinar出品 简单易懂)

    Quicksort 快排的简单讲解 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  9. js中三种定义变量的方式const, var, let的区别。

    const   var  let区别 1.const 定义的变量不可以修改,而且必须初始化 const a = 3;正确 const a;错误,必须初始化 console.log("函数外c ...

  10. HDU 2206

    Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Practice HDU ...