Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RAD组件/体系结构-对.NET开发人员的建议?_Java_.net_Architecture_Components_Rad - Fatal编程技术网

Java RAD组件/体系结构-对.NET开发人员的建议?

Java RAD组件/体系结构-对.NET开发人员的建议?,java,.net,architecture,components,rad,Java,.net,Architecture,Components,Rad,我是Java新手(但有一点.NET经验) 我需要快速启动并运行Java应用程序,因此我在这里寻找的是有关组件的建议,这些组件将简化或减少常见任务的痛苦,并且其回报将是即时的,或者至少在学习如何使用该组件方面投入最少的时间。我没有几周的时间来掌握复杂或广泛的框架——我正在寻找易于使用的插件,并消除使用原始API的一些问题。但是,如果原始API是这些任务的最佳选择,那没关系,让我知道 数据层 我想为MySQL、MSSQL、Postgres编写特定的提供程序,但除此之外,数据访问非常简单。我可能需要交

我是Java新手(但有一点.NET经验)

我需要快速启动并运行Java应用程序,因此我在这里寻找的是有关组件的建议,这些组件将简化或减少常见任务的痛苦,并且其回报将是即时的,或者至少在学习如何使用该组件方面投入最少的时间。我没有几周的时间来掌握复杂或广泛的框架——我正在寻找易于使用的插件,并消除使用原始API的一些问题。但是,如果原始API是这些任务的最佳选择,那没关系,让我知道

数据层 我想为MySQL、MSSQL、Postgres编写特定的提供程序,但除此之外,数据访问非常简单。我可能需要交易。你有什么建议?比如说,Spring数据访问是否提供了任何值得拥有的JDBC?还有什么我需要考虑的吗?我猜Hibernate会被过度杀戮,需要很长时间才能起床和跑步——你觉得呢

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

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

网络应用程序 我需要某种缓存,需要用户会话,需要动态页面。据我所知,JSP是PHP或其他服务器端脚本语言的Java等价物(不支持状态)。除非有一个非常直接的框架可以使用,否则MVC框架可能有些过分?。我听说有一个与ASP.NET web表单相当的Java版本-有什么好处吗?也许JSP在这里就足够了

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

谢谢你的建议

我会查看模型/控制器/视图机制和web前端。它将帮助您快速启动并运行ORM、模型、动态页面等(它是RoR-RubyonRails-model)

从这里开始,我将研究如何使用与桌面前端通信。RMI是Java的标准配置,非常适合Java到Java的通信需求。除非您有多语言/平台的需求,否则我不会研究web服务。RMI的设置非常简单,配置很少

启用RMI的服务层将不得不使用Grails提供的模型进行拦截,但这应该是微不足道的。为了减少可能的客户端/服务器不可映射性(由接口更改引起),您可以通过(比如)提供Java桌面(您将有一个Grails的web服务器cottersy),它可以来自您的服务器正在运行的相同代码库。更新后端时会维护最新的部署。

是一种工具,可以使用最佳实践启动和预配置各种java项目。生成的代码也可用于示例学习

AppFuse是一个开源项目和应用程序,它使用构建在Java平台上的开源工具帮助您快速高效地开发Web应用程序。它最初的开发目的是消除为客户构建新web应用程序时出现的加速时间。AppFuse的核心是一个项目框架,类似于在向导中单击以创建新的web项目时由IDE创建的框架

  • 对于数据层:JPA(Hibernate或其他JPA提供程序)
  • 对于中间层:Spring—它非常强大,提供了许多功能,如事务支持、调度等。它可以轻松地与Apache CXF一起使用,以公开Web服务
  • 对于Web应用程序-JSF、SpringMVC、Struts
  • 对于桌面应用程序-Swing完全可以。它具有处理后台任务的能力。SwingX-一堆不错的组件

AppFuse支持上述所有功能。

我将仅限于回答webapp部分,因为我想回答其他部分的问题,其他部分已经回答了

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

不完全正确。JSP可以做得更多。更重要的是,(ab)以PHP方式使用jsp(将内联Java代码作为scriptlet)被认为是不好的做法。JSP应该被用作一个模板,在该模板中,您可以使用TagLib(例如)动态控制页面流,并使用访问后端数据

我听说有一种与ASP.NET web窗体相当的Java

它叫。然而,存在竞争,例如和

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

JSF(和任何其他像样的MVC框架一样)将普通MVC应用程序中需要考虑的所有内容抽象出来,这样您就只需要一个XHTML(或JSP)文件和一个Javabean类。这样,您就不需要控制请求(自定义servlet等)、处理请求参数(request.getParameter()等)、基本验证/转换(requireness、字符串/数字/日期输入类型转换)、更新模型值(在javabeans中设置已处理/转换/验证的参数),MVC框架将透明地处理所有枯燥的工作


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

谢谢Brian,一些不错的建议,正是我想要的。对于web前端,Grails还有哪些替代方案?这里的其他答案建议了视图/控制器机制(例如Struts)的解决方案。不过,我还是建议使用Grails