几种Java的Web框架的对比 java 客户端开发 框架有哪些
几种Java的Web框架的对比
1. Spring MVC - Java Web 框架
自离首次发布 10 多年以来,Spring MVC 框架仍然领先于竞争对手。随着时间的推移,它扩展成一个完整的MVC框架,并不断演变成一个全面的Java框架。作为集成特殊应用科学的分层J2EE / Java框架,该框架为软件工程师提供了用于 Web 应用程序配置,应用程序开发和安全项目的完整工具包。该框架以其发达的生态系统而闻名,它提供了许多附加选项,从SOAP Web服务,REST API到安全加密和授权。  
优点:
2. 增强模块化的轻量级容器
3. 可以跨各种平台进行部署
4. 灵活的依赖注入使用
5. 包括XML,Java和注释配置的三路配置
6. 通过POJOs缓解了注射测试的数据
缺点:
7. 学习曲线比较陡峭
8. 新手实施比较困难
9. 需要花费时间部署
2.JSF - Java Web 框架
Oracle 认为 JSF 是一个实用网络 Java 框架,旨在简化基于Web的UI的集成开发。虽然这个框架在Java开发方面不是很好,但是Oracle提供的文档很容易使用。这是一种标准化的技术,拥有丰富的工具和库,可以为你在高度复杂的应用程序中铺平道路。JSF规范允许启用标准用户界面组件的重用和扩展。它减少了创建和维护Java应用程序在服务器上运行和在目标客户端上呈现 UI 应用程序的痛苦。不仅如此,它还提供简单的数据传输和可重用的UI组件。 
优点  
10. 由于它可以创建可重复使用的组件,因此效率更高且一致
11. 支持像EJB这样的JSF实现的优秀供应商(IBM,Oracle,JBoss等)
12. 准备使用像Apache,Infragistics,Richfaces等组件
13. 方便开发人员,特别是那些使用IDE软件的人
JSF的缺点
14. 陡峭的学习曲线
15. 没有考虑书签工具
16. 不可扩展
17. 原始Ajax支持
18. 缺乏灵活性
3.Google Web Toolkit - Java Web 框架
Google Web Toolkit(GWT)是一个开源开发工具集,使开发人员能够构建和优化复杂的JS前端应用程序。它的主要目标是提供高性能Web应用程序的开发,即使开发人员不熟悉 JavaScript,XMLHttpRequest 或浏览器等偏冷门的知识。为了让其可信度高,谷歌自己的许多产品,包括 AdSense,Hotel Finder,Wallet,AdWords 等都使用 GWT。     
优点:
19. 更容易学习
20. 内置IDE支持重构Java代码
21. 可以在客户端大量构建响应式Web应用程序,并减少服务器端的琐事
22. 可以迭代地平滑地从典型的Web应用程序迁移到GWT应用程序
23. 即使在使用AJAX的情况下,也具有内置的浏览器后退按钮支持
缺点:
24. 仅对Java开发人员有利,对PHP或.NET的开发人员没有太大帮助
25. 由于快速发展的GWT,有许多版本很难获得所有功能和接口
26. 编译速度慢,需要使用专有方法来定义结构
4.Grails - Java Web 框架
Grails 是一个开源的Java Web框架,旨在将开发人员的生产力与默认值和Convention-over-Configuration API相提并论。它与Java虚拟机(JVM)相集成,同时提供强大的功能,包括编译时元编程,异步编程和领域特定语言。Grails采用强大的视图技术,集成的NoSQL / ORM支持,插件和Spring支持的依赖注入进行更新。让你可以轻松集成并互操作Java,Java EE和JVM容器。 
优点:
27. Grails提供了一个快速的开发周期
28. 非常适合小型和中型项目
29. 各种插件可供选择
30. 简单而令人易懂的文档
31. 可以在不重启服务器的情况下更改配置
缺点:
32. 使用运行时语言可能会很困难
33. 开发多线程应用程序,GORM 可能会出现问题
34. 复杂的集成过程
35. 延迟运行时间
5.Struts 2 - Java Web框架
Apache的Struts是一个用于开发现代Java Web应用程序的开源免费MVC框架。它包含一组类和接口,共同协作开发Web应用程序。它适用于许多Java应用程序的网络框架,并且受到了很多社区的支持。为了进一步扩展Struts Java框架,Struts 2 作为后继者有了很大的改变。这个框架最适合于开发当代 Java EE web 应用程序的工程师,Apache 软件基金会借助 Struts 2 为开发人员提供了一个用于开发面向网络的,企业级应用程序,并优化整个开发流程的工具
优点:
36. 没有线程安全问题
37. 依赖注入使得测试更简单
38. 它可以使用“对象图导航语言”(OGNL)
39. Struts 2框架的Servlet上下文以简单的地图形式表示 
40. 它支持通过验证方法进行手动验证,并且还包含子框架验证
缺点:
41. 由于它与Struts 1完全不同,难以迁移
42. Struts 2 文档非常有限
43. 由于文档管理不善,新用户很难发现它的优点
java 客户端开发 框架有哪些
JAVA软件开发开发框架多达几十种,瑭锦Tanjurd总结列举了3种最常见也是最常用方便的3种工具:
1、Struts:Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的
2、Spring:Spring是轻量级的J2EE应用程序框架。
3、Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化。它还可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用
Java中的框架技术?
1. Apache Struts框架
Struts框架是一开源产品,基于模型-视图-控制器(MVC)设计范例来开发Web应用软件。它使用并且扩展了Java Servlet API,最初由Craig McClanahan创建。在2000年5月,它被捐赠到Apache Foundation。Struts框架展示了一个强有力的定制标签库,平铺显示,表单检验和I18N(国际化)。另外,Struts支持许多描述层,包括JSP,XML/XSLT,JavaServerFaces(JSF)和Velocity还支持一些模型层,包括JavaBeans和EJB。
2. Spring框架
Spring框架是一个分层的Java/J2EE应用程序框架,基于Expert One-on-One J2EE设计和发行的代码。Spring框架提供一种简单的开发技术,用于自动化处理工程中大量的属性文件和助理类。
Spring框架包括的主要特色有:
1 强有力的基于JavaBeans的配置管理,使用Inversion-of-Control(IoC)原则。
2 一个核心bean工厂,可用在任何环境,从applets到J2EE容器程序。
3 通用的抽象层适合于数据库事务管理,允许可插入的事务管理器,并且不需要处理低层次的问题就可容易地划分各事务的界限。
4 一个很有意义的异常处理的JDBC抽象层。
5 与Hibernate集成到一起,DAO实现支持以及事务策略。
3. Hibernate框架
Hibernate是一适合于Java语言的对象-关系映射(ORM)解决方案。它也是开源软件,类似Struts,并且在LGPL保护下发布。Hibernate被一群来自世界各地的Java软件开发者所共同开发。它提供一个易用的框架来实现把一个面向对象的域模型映射到一传统的关系数据库。它不仅负责从Java类到数据库表格(以及来自Java数据类型的SQL数据类型)的映射,而且还提供数据查询和检索能力,并能大大减少花在SQL和JDBC手工数据处理上的开发时间。
Hibernate的目标是减轻开发者的与大量普通的数据持续性相联系的编程任务。Hibernate还能够适应开发进程,无论它是刚开始设计还是来自一现成的数据库。Hibernate可以自动生成SQL,使开发者摆脱了手工处理结果集和进行对象转化的繁琐任务,并能使应用程序移植到所有的SQL数据库。它还能提供透明的持续性,对持续性类的唯一的要求的是实现一个无参数的构造器。
这个框架典型地使用在JavaSwing应用软件、基于Servlet的Java应用软件和使用EJBsession beans的J2EE应用软件中。