——略谈Java web软件如何提供二次开发接口

作者:朱金灿

来源:http://blog.csdn.net/clever101

接手公司的一个Java web软件产品,该软件采用传统的dwr框架。dwr框架相当于一个中间层,使得javascript能够识别Java类对象,进而能够调用Java类对象的方法。该软件要为项目部同事提供二次开发包。

这种方式界面层代码和逻辑实现代码混淆在一起,导致二次开发很难使用。项目部要定制系统,必须得到整个系统的源码。

改造思路是web界面层和接口实现代码进行分层,结构图如下:

具体就是接口实现层封装为后台模块,web界面层封装为web界面模块。页面直接post请求server来显示数据,javascript调用示例代码如下:

function postQuery(){//str为参数列表字符串str = {categoryId:"2",id:"2",path:"Y:\\UPLOAD_ZIP_PATH/1.zip", type:"c++"};var str1 = JSON.stringify(str);$.post("http://localhost:8080/PIESoaServer/service/delete",str1,function(data){console.log(data);});
}

上面的代码解释如下:str ={categoryId:"2",id:"2",path:"Y:\\UPLOAD_ZIP_PATH/1.zip",type:"c++"}; 为参数值列表。categoryId为参数,"2"为对应的参数值,如果参数需要一个数值类型的,则不需要使用双引号包含,数组则采用[]包含起来,比如str ={nodes:[9,20,21],serviceId:47};

后台模块对外不提供源码,web界面模块的源码作为二次开发示例提供给二次开发者。这样方式为二次开发提供了灵活的调用方式,因为web接口无论java、C#还是C++、python等都可以调用。

谈一次java web系统的重构思路相关推荐

  1. Java web系统打包成exe安装文件

    Java web系统打包成exe安装文件 一.    工具准备 1.        NSIS打包工具: http://nsis.sourceforge.net下载并安装: 2.        NSIS ...

  2. 我的第一个web开发环境:基于eclipse java EE 的java web系统搭建

    一种基于eclipse java EE 的java web系统搭建 刚开始接触web开发,首先将开发环境的搭建记下来以免忘记. 1.环境搭建前需要准备的工具 (1)Eclipse IDE for Ja ...

  3. 一个java web 快速开发脚手架思路

    一个java web 快速开发脚手架思路 认证与鉴权 表 用户表.角色表.接口表.管理员表.用户角色关联表.角色接口关联表.接口分类表 代码生成 表 代码生成配置简单表.代码生成配置完整表 表说明 代 ...

  4. 【版权】Java Web系统的软件版权风险——使用开源软件用于商业系统的风险

    知识水平有限,仅供参考. Windows Server 2008/2012,Oralce Database 11g,Oracle Weblogic 11g/12c,这咱就不谈了,堆钱就行了. 一般普通 ...

  5. 云服务器体验:制作个人简历、部署Java web环境时的思路以及遇到的问题

    制作个人简历 准备简历的项目文件 下载一份响应式的HTML简历模板,并利用Visual Studio Code编辑器修改HTML项目文件的源代码,根据提示做出相应修改,修改完后进行保存. 建立连接上传 ...

  6. java web系统拆分_Java系统中如何拆分同步和异步

    很多开发人员说,将应用程序切换到异步处理很复杂.因为他们有一个天然需要同步通信的Web应用程序.在这篇文章中,我想介绍一种方法来达到异步通信的目的:使用一些众所周知的库和工具来设计他们的系统. 下面的 ...

  7. Java Web系统经常使用的第三方接口

    1.    Web Service 接口 1.1 接口方式说明和长处 在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为client去调用第三方提供的接口时,大部分时候都是使用 Web ...

  8. java web系统毕业论文_毕业论文--基于JavaWeb的网络购物中心系统的实现.doc

    毕业论文(设计) 题 目: 基于JavaWeb的购物网络中心系统 完 成 人: 班 级: 学 制: 专 业: 指导教师: 完成日期: 目 录 26014 摘 要( 1) 0 TOC \o " ...

  9. java web系统明文密码加密传输

    最近项目PL提出系统数据越权和明文密码传输问题,涉及网络安全的问题,这让我一脸懵逼,查阅相关资料后做相关记录 1. 数据越权: 涉及重要功能需要验证用户是否当前用户操作,修改密码功能接口参数用户Id人 ...

最新文章

  1. Windows下有关NDK安装出现的问题的总结
  2. 让数据为你带来无限可能性
  3. 机器学习 集成学习篇——python实现Bagging和AdaBOOST算法
  4. 电机编码器调零步骤_BLDC电机换向方法解析
  5. NS2安装笔记 - Ubuntu9.10
  6. Animate.css介绍
  7. 可以添加自定义的Select控件
  8. 了解使用JavaScript进行面向对象编程的基础(并增强您的编码…
  9. 用java编写的一个迪杰斯特拉算法(单源最短路径算法,Dijkstra算法)。
  10. vscodepython技巧_VScode Python no module的解决方法
  11. 软件工程中需要学习和掌握的软件都有哪些_上海理工大学869软件工程考研经验...
  12. 程序员接私活必备的 10 个开源项目!
  13. 十款最具发展前景机器人
  14. C++模板(函数模板/类模板)
  15. OSS简单上传下载整理
  16. HDU 6304 Chiaki Sequence Revisited(找规律)
  17. iOS 15 UITableView Section间距变大
  18. 计算机专业进铁路工资待遇,本科生刚进铁路局工资待遇汇总,仅供参考!
  19. mysql百万数据写入_快速写入百万数据
  20. Proteus 8 Professional 仿真软件安装包和汉化

热门文章

  1. 全面屏、高颜值、长续航、大智慧:这可能是最超值的千元机
  2. 关于D3D的学习和个人理解-1
  3. [MATLAB学习笔记]采用快速傅里叶变换求时间序列的周期项
  4. ssm 批量插入案例(MySQL)
  5. Oracle数据二进制传输,学习笔记:Oracle数值函数 十进制与二进制相互转换的函数使用案例...
  6. iis 服务器修复,Windows Server中的IIS漏洞以及修复方法
  7. PEP 20 – The Zen of Python
  8. c++和c语言的区别_C语言编程篇·····最简单的C语言程序
  9. c语言rtp协议,RTP系列:RTP协议详解和分析
  10. [NOIP2011]统计单词数