Java Web 应用程序前端

Java web application Front end

我有一个大型应用程序,它在后端使用 Java,在前端使用 struts、Jsp 和 JSTL 标记库。数据库是 DB2,我们严重依赖存储过程。

我们正计划将应用程序升级到新的 architecture/framework。

我们正在考虑的主要框架是 Spring,尽管我们的领导试图推动我们采用 Java EE 而不是声称它是更好的框架。

关于使用 Spring 或 Java EE 的方式有什么建议吗?有什么主要原因使您更喜欢其中之一 (advantage/disadvantage)?

对于其中的每一个,JSP taglib 的最佳替代方案是什么? 我们过去必须手动编写所有 html 标签才能使用 JSTL 显示动态数据。我正在阅读 Angular 和 JSF 组件等新框架。我也不确定这些天广泛使用的是什么。我读到越来越多的程序员将来自 REST 服务的数据作为 JSON 传递到前端。他们用什么来渲染数据,是JSF吗,Angular?

我做 .NET 编程,在 ASP.NET 中我们有数据绑定和 ListView 等组件。JSF 和 Angular 一样吗?

有没有您推荐的具有良好示例和文档(尤其是体系结构)的网站?

Java EE 和 Spring 都是很好很全面的写后端的框架。他们俩都应该能够完全按照您的意愿行事。我会建议使用您的团队熟悉的任何一种,但我不会详细说明,因为您可以非常轻松地使用其中任何一种来制作高质量的应用程序。

就前端而言,我个人通过创建 RESTful API 并将数据发送到前端 Java脚本框架。 Angular 非常适合这个。原因之一是 Javascript 框架在编写良好的 Web 前端时往往会提供很多功能。 JSF 是一个服务器端的、基于组件的 MVC 框架,通常让您对正在创建的 HTML + Java 脚本的控制更少,并且使编写测试变得更加困难。

我还发现,在大型商店中,您不能总是相信人们会立即做事。关注点分离很重要,我喜欢在前端使用像 Angular 这样的 JavaScript 框架,因为它可以让前端代码远离后端。我们工作场所的 JSF 应用程序非常糟糕,因为开发人员滥用会话之类的东西。 JSF 代码也位于与后端相同的部署中。我们没有使用 Web 服务并采用面向服务的方法并保持一切松散耦合,而是最终得到了巨大的 'blobs' 代码 'do everything'.

很大程度上取决于你的团队,他们很舒服 with.Both Spring 和 Java EE 可以为你做一切,但我个人建议 spring jdbc + spring 用于后端的 mvc 模块。 Spring 注入功能对 Web 应用程序非常有帮助。此外 spring jdbc 模块创建环境并为您的 jdbc 调用创建 sessionFactory。

在您的控制器中创建 rest-api,这将使您的生活变得非常轻松。 Spring 还提供了许多模板作为基础 类 使使用 Java EE 标准技术变得轻而易举。例如,JdbcTemplate 与 JDBC 配合得很好,JpaTemplate 与 JPA 配合得很好,JmsTemplate 使 JMS 非常简单。

另外,从维护的角度来看,spring 最好,因为它很受欢迎,而且大多数开发人员都更熟悉 spring。

前端 angular 非常棒,因为 AngularJS 有一个内置的依赖注入子系统,可以帮助开发人员使应用程序更容易开发、理解和测试。

数据绑定可能是 AngularJS 中最酷、最有用的功能。它将避免您编写大量样板代码。