谈一次java web系统的重构思路

时间:2024-10-29 11:04:56

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

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

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

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

谈一次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学习群669823128