代码之家  ›  专栏  ›  技术社区  ›  Vladimir Dyuzhev

有没有什么快速的方法可以将受scriptlet感染的jsp应用程序转换成struts?

  •  1
  • Vladimir Dyuzhev  · 技术社区  · 17 年前

    我们有一个传统的应用程序要支持。它是纯JSP,即JSP打开连接、执行业务逻辑、提交表单(通常是同一个JSP)等等。它有400多页,有些页有100K那么大。

    该应用程序预计将在未来几年内进行扩展和修改,因此我们正在研究如何拆分演示和业务逻辑以简化维护。最起码,我们希望将它移植到一些简单的MVC框架中(Struts是1候选)。

    没有人热衷于手动重构每一页。我们有一个想法,可能在某个地方有一个工具,它至少进行部分重构,例如在JSP中创建基于Actudio的.ActFrase.GePosialError()调用,将所有Java代码移动到动作(虽然不可编译),用L&C;IF标签替换一些“%l%;如果”,等等。

    剩下的工作仍然很无聊,但至少它的范围要小得多。

    有人知道这种工具吗?

    1 回复  |  直到 17 年前
        1
  •  4
  •   OscarRyz    17 年前

    我觉得它不值得。你是说你有400多页,有些超过10万?

    100K!!!!

    最好的方法可能是对那个webapp进行良好的分析,并将其模块化。您可以在其他框架中编写全新的模块,并且仍然可以结合使用。

    对于100K的页面,它们是自己模块的好候选。

    我不认为简单地将整个JSP混乱转换成其他框架混乱有什么好处。会发生的只是它会碎裂成碎片,没有人愿意修理它们。

    好的部分是?哪些模块将优先?还有什么不应该改变的?

    我将从过去几个月发生了更多变化的人开始。文件是100K这一事实只意味着必须添加新的特性,但是模型的设计太差了,以至于一些代码不是创建新的对象,而是简单地复制/粘贴并放置在一个if(我几乎感觉我已经看到了您的代码)中,并且文件不断增长。

    有些部分似乎很容易迁移,但源代码管理说2年内没有人接触过。不要碰它们。

    不仅仅是使用一个好的框架。您应该迁移并重新编写系统中受影响最严重的部分,然后这次创建测试用例。

    另外,您应该创建一个项目样式,并使用checkStyle之类的东西自动验证它,所以没有人提交新的快速补丁。

    最终并不是所有的应用程序都将被迁移,但是新的更改将更容易执行,应用程序也更容易维护。