我有一个大型应用程序,它在后端使用Java,在前端使用struts,Jsp和JSTL标记库。数据库是DB2,我们在很大程度上依赖于存储过程。
我们计划将应用程序升级到新的架构/框架。
我们正在考虑的主要框架是Spring,尽管我们的主要人员试图推动我们采用Java EE而不是声称它是更好的框架。
有关Spring或Java EE的哪种方式的建议?任何一个优先于另一个(优势/劣势)的主要原因是什么?
对于其中的每一个,JSP taglib的最佳替代方案是什么? 我们使用必须手动编写所有html标签以使用JSTL显示动态数据。我正在阅读有关Angular和JSF组件等新框架的内容。我不确定这些天广泛使用的是什么。我读到越来越多的程序员将REST服务中的数据作为JSON传递给前端。他们使用什么来呈现数据,是JSF,Angular?
我做.NET编程,在ASP.NET中我们有数据绑定和ListView等组件。是JSF和Angular一样吗?
您推荐的任何网站都有很好的示例,文档(尤其是架构)?
答案 0 :(得分:7)
Java EE和Spring都是用于编写后端的非常好且非常全面的框架。他们俩都应该能够做到你想要的。我建议您使用您的团队熟悉的任何一个,但我将不再使用细节,因为您可以非常轻松地制作高质量的应用程序。
就前端而言,我个人从创建RESTful API并使用它将数据发送到前端Javascript框架中获得了最好的结果。 Angular对此非常有益。其中一个原因是,在编写好的Web前端时,Javascript框架往往会提供很多功能。 JSF是一个基于服务器端,基于组件的MVC框架,通常可以减少对正在创建的HTML + JavaScript的控制,并使编写测试变得更加困难。
我还发现,在大型商店,您始终不能信任别人立即做事。关注点的分离很重要,我喜欢在前端使用像Angular这样的JavaScript框架,因为它将前端代码保留在后端之外还有很长的路要走。我们在工作场所使用的JSF应用程序非常糟糕,因为开发人员滥用会话之类的东西。 JSF代码也与后端存在于同一部署中。我们不再使用Web服务,采取面向服务的方法,并且保持一切松散耦合,而是采用了巨大的“blob”。代码“做所有事情”#。
答案 1 :(得分:1)
很大程度上取决于你们熟悉的团队。Spring和Java EE可以为你做所有事情,但我个人建议使用spring jdbc + spring mvc模块作为后端。 Spring注入功能对Web应用程序非常有用。另外spring jdbc模块创建环境并为你的jdbc调用创建sessionFactory。
在您的控制器中创建rest-api,让您的生活变得轻松愉快。 Spring还提供了许多模板,这些模板充当基类,使得使用Java EE标准技术变得轻而易举。例如,JdbcTemplate适用于JDBC,JpaTemplate使用JPA做得很好,JmsTemplate使JMS非常简单。
另外从维护角度来看,弹簧是最好的,因为它很受欢迎,而且大多数开发人员对弹簧都比较熟悉。
前端角度非常棒,因为AngularJS有一个内置的依赖注入子系统,可以通过使应用程序更容易开发,理解和测试来帮助开发人员。
数据绑定可能是AngularJS中最酷最有用的功能。它将使您免于编写大量的样板代码。