我是 Java 新手(但有相当多的 .NET 经验)。

我需要快速启动并运行一个 Java 应用程序,因此我在这里寻找的是有关组件的建议,这些组件将简化或减少常见任务的痛苦,并且其回报要么是立竿见影的,要么至少是花费最少的时间投资学习如何使用该组件。我没有花几周的时间来掌握复杂或广泛的框架 - 我正在寻找易于使用并消除使用原始 API 的一些问题的插件。然而,如果原始 API 是执行这些任务的最佳选择,那也没关系,请告诉我......

数据层我想为 MySQL、MSSQL、Postgres 编写特定的提供程序,但除此之外数据访问是非常简单的事情。我可能需要交易。你有什么建议?是否说 Spring Data Access 提供了比 JDBC 更值得拥有的东西?还有什么我需要考虑的吗?我的猜测是 Hibernate 之类的东西会太过分,并且需要很长时间才能启动和运行 - 您认为呢?

中层松散耦合、基于接口的业务层。我需要能够通过 Web 应用程序和桌面应用程序与中间层交互 - 公开这一点的最佳方式是什么?网络服务?

桌面应用程序我了解 Swing - 还有其他简单的桌面 UI 组件吗?我将需要某种调度组件来运行后台任务。

网页应用程序 我需要某种缓存,我需要用户会话,我需要动态页面。据我所知,JSP 是 PHP 或其他某种服务器端脚本语言的 Java 等效项(并且不支持状态)。除非有一个非常容易使用的框架,否则 MVC 框架可能有点过大了。我听说有一个与 ASP.NET Web 表单相当的 Java - 它有什么好处吗?也许 JSP 就足够了?

我正在寻找实用的建议/您对组件的体验,而不是网络链接列表:)

感谢您的任何建议..

有帮助吗?

解决方案

我想看看的Grails 以模型/控制器/视图机制和web前端。这将让你和与ORM,模型,动态网页等非常快速运行(这是一个回报率 - 的Ruby-on-Rails的 - 模型)。

从那里,我想看看使用 Java RMI的到与桌面前端连通。 RMI将其视为与Java标准,是一个天然的适合一个Java-to-Java的通信需求。我不会看的Web服务,除非你有一个多语言/平台的要求。 RMI是相当简单的设置,很少配置。

您启用RMI-服务层将具有与Grails的提供的模型进行拦截,但应该是微不足道的。为了减少可能的客户端/服务器incomaptibilities(由接口的变化),你能容纳通过(比方说)的 Java Web Start的(你必须的Grails Web服务器courtersy),它可以来自的相同的您的服务器正在运行的代码库。向上最新的部署被保持为更新后端。

其他提示

AppFuse 是一个工具,可以开始预先配置和各种java项目,采用最佳做法。所产生的代码还可以用来学习的实例。

AppFuse是一个开放源项目和应用程序中使用开放源工具建立在Java平台来帮助你发展网络的应用程序的速度和效率。它最初开发,以消除的斜坡上时发现当建立新的网络应用程序对于客户。在其核心,AppFuse是一个项目框架,类似于一个创建的通过IDE当你点击通过一个向导创建一个新的网络项目。

  • 数据层 :访问用户(休眠,或另一个访问用户提供商)
  • 中产阶级 :春天-这是极其强有力和提供很多东西喜欢的事务的支持,schedulling,等等。它可以很容易地一起使用Apache CXF到,获得网络服务。
  • 网络应用程序 -JSF、弹视,支杆
  • 桌面应用程序 -摆动是完全确定。它有能力进程的背景任务。SwingX-一堆不错的成分。

AppFuse支持上述所有。

我只会将我的答案限制在网络应用程序部分,因为我想回答其他部分的问题已经被其他人回答了。

据我所知,JSP 是 PHP 的 Java 等价物

不完全正确。JSP 的功能远不止这些。更重要的是,(ab)以 PHP 方式使用 JSP(使用内联 Java 代码作为 小脚本)被认为是不好的做法。JSP 应该用作模板,您可以在其中使用标签库动态控制页面流,例如 JSTL 并使用访问后端数据 表达语言.

我听说有一个相当于 ASP.NET Web 表单的 Java 版本

它被称为 JavaServer Faces (JSF). 。然而,竞争是存在的,例如 阿帕奇支柱春季MVC.

- 有什么好处吗?也许 JSP 就足够了?

JSF(与任何其他不错的 MVC 框架一样)抽象了您在普通 MVC 应用程序中需要考虑的所有内容,以便您最终只得到一个 XHTML(或 JSP)文件和一个 Javabean 类。这样你就不需要控制请求(自定义Servlet等)、处理请求参数(request.getParameter()等)、基本验证/转换(需求、字符串/数字/日期输入类型转换)、更新模型值(在javabean中设置处理/转换/验证的参数)等。MVC 框架将透明地处理所有这些无聊的工作。

如果您只需要为每个 saldo 开发几页,JSP 就足够了。但是,如果您想开发更多页面或网络应用程序,那么您希望已经拥有一个框架,这样您就不需要一次又一次地重新发明通常的工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top