1

我们有一个旧版应用程序需要支持。它是纯JSP,即JSP 打开连接、处理业务逻辑、提交表单(通常是同一个JSP)等等。它有 400 多页,有些页面高达 100K。

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

没有人热衷于手动重构每一页。我们有一个想法,可能在某个地方有一个工具至少可以进行部分重构,例如基于 JSP 中的 request.getParameter() 调用创建 ActionForm,将所有 Java 代码移动到 Action(尽管不可编译),替换一些“<% if" 与 <c:if 标签,等等。

剩下的工作还是很枯燥的,但至少范围小了很多。

有人知道这样的工具吗?

4

1 回答 1

4

我认为这不值得。你是说你有 400 多页,有些超过 10 万页?

10万!!!

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

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

我真的看不出将整个 JSP 混乱转换成其他框架混乱有什么好处。将会发生的事情就是它会破碎成碎片,没有人愿意修理它们。

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

我将从过去几个月发生了更多变化的那些开始。文件为 100K 的事实仅意味着必须添加新功能,但模型设计得非常糟糕,以至于没有创建新对象,而是简单地复制/粘贴了一些代码并放置在 if ( 我几乎觉得我有已经看到您的代码)并且文件不断增长。

有些部分似乎很容易迁移,但源代码控制表示 2 年内没有人接触过。别管他们。

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

此外,您应该创建一个项目样式并使用 checkstyle 等自动验证它,因此没有人提交新的快速补丁。

最终不会迁移所有应用程序,但新的更改将更容易执行,并且应用程序更易于维护。

于 2009-03-09T22:25:13.333 回答