我想现代化我的Struts 1.x应用程序。 有很多文章主张迁移代码,而不是重写整个系统。
我想征询成功使遗留应用程序现代化的人的建议。
我当前的系统使用struts 1.x和JDBC准备的语句作为数据访问层。
我期待通过以下目标来改进传统应用程序:
我希望将现代化分为以下几个阶段:
在开始更改之前,我想了解一下是否有可能:
我应该注意什么以及如何/最佳做法来处理此现代化过程? 该代码库大约包含50万个HTML / JSP代码和300万个Java代码。
自从我上次使用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组件完美集成。
干杯。
(不是答案,仅供参考。)
底线是您有一个相当大的应用程序。 与其转换整个过程,我不考虑从主线应用程序中删除功能并将其分解为子应用程序,每个子应用程序都可以使用任何看起来合理的技术堆栈。
作为顾问,我已经完成了很多这样的项目:繁琐的工作需要大量的知识和技能,而且很难正确地做。