我想现代化我的Struts 1.x应用程序。有很多文章主张迁移代码,而不是重写整个系统。
我想寻求成功实现遗留应用程序现代化的人的建议。
我当前的系统使用struts 1.x和JDBC预处理语句作为数据访问层。
我期待通过以下目标改进遗留应用程序:
我希望将现代化分解为以下几个阶段:
在开始更改之前,我想知道是否可以:
我应该注意什么以及如何/如何/最佳实践来处理这一现代化进程?代码库大约有500k的HTML / JSP代码和300万个Java代码。
答案 0 :(得分:3)
自从我上次使用Struts 1.x以来已经有一段时间了,但我发现使用JSTL / EL替换至少大多数Struts标签没有问题。您应该能够使用Struts 1.x JSP绘制HTML5。我记得使用很少或没有Struts标签工作,只使用JSTL / EL,但这是在HTML5之前。
您可以从任何Struts ActionForm或您的webapp中的任何类调用Spring Context。你可能不得不手动完成,而不是注释,如下所示:
WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
说完这些,我可以看到你打算对你的应用进行认真更新,因此我必须问,你是否对保持Struts 1.x持肯定态度?如果你想抛弃Struts标签,使用Spring 3/4和HTML 5,为什么不完全省去Struts并将你的应用程序迁移到Spring MVC?它非常易于使用,功能强大,不用说,它与实现业务逻辑,持久性等的Spring组件完美集成。
干杯。
答案 1 :(得分:2)
(不是答案,信息。)
最重要的是你有一个相当大的应用程序。而不是转换整个东西,我会考虑从主线应用程序中删除功能,并将其分解为子应用程序,每个子应用程序可以使用任何技术堆栈似乎合理。
作为一名顾问,我做了很多像这样的项目:这是一项繁琐的工作,需要广泛的知识和技能,而且很难做到正确。