4
回答
如何提高一套WEB程序的可重用性?不需要改代码,服务器换个路径和数据库即可直接使用
注册华为云得mate10,2.9折抢先购!>>>   

如何提高一套WEB程序的可重用性?不需要改代码,服务器换个路径和数据库即可直接使用;

写代码的时候应该注意一些什么?如何做成可定制的半自动化的Web程序?

希望大家踊跃发言,给小生提供一些思路。

比如说我现在已经开发了一个WEB Project : named Aa

A.com.cn/Aa;然后我希望重用这个项目的代码,更改掉数据库连接信息,同样的放到该ApacheTomcat下,然后命名为:A.com.cn/Bb;然后还希望有一个A.com.cn/Cc

我不想通过增加域名别名,来实现对一个Application的访问,我想克隆一份WEB程序,作为一份全新的产品

现在项目中开发的问题是很多的文件图片资源路径是以Aa,Bb,Cc为跟路径进行定位的,耦合的有点紧,每次更新到一个新的产品需要重新修改一遍源码,很费劲

<无标签>
举报
bubblehead
发帖于1年前 4回/375阅
共有4个答案 最后回答: 1年前
文件存储路径用相对路径,数据库连接用个配置。编码习惯里用绝对路径是最不可取的,项目主管人员应该定制一个起码的编码、注释等习惯性约束条例,不然项目移植、维护、修改变更等都会对后续人员造成困扰
程序首次安装生成config.php时,定义base_url,用于输出页面链接.
在页面控制器入口定义APP_ROOT,用于require/include包含PHP文件.
--- 共有 1 条评论 ---
bubblehead了解。其实我就是这样做的,只不过多个人写代码难免会出现实现的时候代码的不一致性,已修正。 1年前 回复

先不考虑复杂的定制,那个实现起来可能会稍微复杂一些,先修改当前项目源码,减少项目与根目录的耦合才是快速解决问题的关键:STEPS AS FOLLOWS:

css:

/Aa/images 替换成 ../../../images

js:

'/Aa/images/demo.*'替换成:

var jsRootPath = includeConf;

Var msgMidHtml = jsRootPath+"/images/demo.*";
jsp:

${path }/Aa/admin/… 替换成<%=basePath %>admin/...
经过系统的测试,通过这种方法除了极个别的.java中的路径以及项目配置文件pom.xml中的路径之外,已经没有任何其他需要更改的内容了,由此当新克隆一个产品只需要更改pom.xml,includeConf以及极个别的1~2个java文件就可以了,然后直接打包部署就行了,整个过程根本用不了5分钟。

当修改的工作只需要几分钟就完成的时候,也就没有必要做成可定制的,很难实现不说,还容易出很多非当前项目问题(工具问题)。暂时先这样解决吧

顶部