谈一次java web系统的重构思路
扫描二维码
随时随地手机看文章
——略谈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等都可以调用。