我有一个使用Struts 1.x构建的应用程序,她的前端是带有FLEX(动作脚本)的JSP,我的想法是将前端更改为Angular6。后端不支持休息。
Struts支持REST的最佳选择是什么? 我应该只添加Jersey,还是将整个应用程序升级到Struts 2.x,甚至还要升级到SpringMVC?
答案 0 :(得分:1)
自从我完成Struts 2工作已经有一段时间了,但是正如我回想的那样,我设计的系统具有一个支持Struts 2和/或支持REST API的业务层。让Struts依次使用REST或以某种方式实现REST的想法在我看来有些复杂。
我建议您使用Struts代码并以基础为基础编写REST API。在此过程中,大多数基础代码应可重用。然后编写您的Angular代码以使用该新的REST接口。
实际上,您可能想用我的方法来解决这个问题:重构代码以支持业务逻辑层,该层为要允许高层UI层执行的操作提供了明确的定义。将其用作现有Struts代码的基础,作为至少可以支持现有功能的概念证明。然后,您可以将该层用作Angular UI将使用的REST API的基础。然后,如果需要,您可以同时运行这两种方法,因为用户是以小集合的形式从一个迁移到另一个的。这也将帮助您解决新代码库中可能遇到的任何扩展问题,而不仅仅是“翻转开关”并将每个人都放在新系统上,只是希望它支持负载。
答案 1 :(得分:1)
Here’s讨论服务器中同时存在Strut 1和Strut 2是否很好。当您遇到类似的情况时,我开始使用struts 2 + REST plug-in开发所有新的REST API,并在struts 1中保留了较旧的API。当我定义较新的REST API时,它们替代了基于struts 1的较早API,不推荐使用较旧的API,并删除相应的代码。