十三、Struts Struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。 ![]() struts 框架 Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。 Struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。Struts提供的类使得开发工作更加简单,这些类包括: ●控制程序流程的类 ●实现和执行程序事务逻辑的类 ●自定义的标记库使得创建和验证HTML表单更加容易 十四、JBoss JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。 因为JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用它,而不用支付费用。2006年,Jboss公司被Redhat公司收购。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。 ![]() JBoss 优点概述: 1、JBoss是免费的,开放源代码J2EE的实现,通过LGPL许可证进行发布。但同时也有闭源的,开源和闭源流入流出的不是同一途径。 2、JBoss需要的内存和硬盘空间比较小。 3、安装便捷:解压后,只需配置一些环境变量即可。 4、JBoss支持"热部署",部署BEAN时,只拷贝BEAN的JAR文件到部署路径下即可自动加载它;如果有改动,也会自动更新。 5、JBoss与Web服务器在同一个Java虚拟机中运行 JBoss运行后后台管理界面,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。 6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。 7、Jboss支持集群。 GlassFish是一款商业兼容应用服务器 十五、GlassFish GlassFish是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。 ![]() GlassFish 优点: 在遵守通用开发和发布许可版本 1.0 的前提下,开发者可以免费获得源代码,还可以对代码进行更改。要申请 Java Compatibility,商业分发的开发者需要签署 Java Developer License ,并在重新分发代码前验证代码已通过兼容性测试套件的测试。任何人均可签署分发协议,对代码进行审阅以贡献更改、错误修复和功能。 GlassFish 的更新版本将于每晚发布。发布的代码已经过了非常基本的测试以确保它们能够进行构建并执行,但这些代码并没有象产品发行版那样经过完整测试。 GlassFish 将实现最新版本的Java EE平台Java EE 5,这两者将大约同时成为最终版本。同时,Sun 还将基于GlassFish发行最终的受支持的兼容Sun Java System Application Server PE 9.0。 在2005年6月,Sun将GlassFish项目的Web站点向公众开放,从而发布了GlassFish 项目。开发者可以访问源代码、每晚构建、讨论组和电子邮件列表。这是开发者首次能够了解并参与应用服务器的开发过程。最初,访问仅限于Web 层,随着GlassFish 的开发,访问也将扩大到其他模块。 GlassFish 项目将Java EE呈现在更多爱好者面前,这些人最终将成为 Java EE 许可证持有者的客户。GlassFish不会更改许可证持有者的任何许可证条款。在遵守其许可证条款的前提下,许可证持有者仍可以销售或分发代码,并对已通过TCK的产品使用Java Compatibility品牌。在遵守授予开发者的CDDL许可证条款的前提下,他们可以使用、编辑、更改代码,并可以分发代码或将其用于生产。但他们没有得到使用CTS 的许可,也不能使用Java Compatibility品牌。 GlassFish虽然是一个标准的JavaEE服务器,但是它同样具有轻便的Web容器的优点,它和Tomcat一样是优秀的Servlet 容器,同时,它具备延迟加载的功能,也就是说,GlassFish在启动时只会启动一些必需的核心服务项,如LocalJNDI服务,用于管理的JMX服务等,而对于暂时用不到的服务通通不予加载,直到需要的时候再说,而且这个特性不需要额外的配置。这样GlassFish的启动时间是以前的一半,内存占用也只有以前的一半。 GlassFish的另外一个秘密武器,就是Grizzly,Grizzly是一个基于JavaNIO技术,并完全以Java实现的一个HTTP的 Listener,有了Grizzly,GlassFish在静态文件传输方面的性能比Tomcat要强得多,而且可以支持更多的并发访问。我们可以抛弃 JBoss+Tomcat和Apache+Tomcat这样的组合了。 十六、CouchDB CouchDB是用Erlang开发的面向文档的数据库系统,最近刚刚发布了1.0版本(2010年7月14日)。CouchDB不是一个传统的关系数据库,而是面向文档的数据库,其数据存储方式有点类似lucene的index文件格式,CouchDB最大的意义在于它是一个面向web应用的新一代存储系统,事实上,CouchDB的口号就是:下一代的Web应用存储系统。 ![]() CouchDB 特点: 一、CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。这当然也得以于Erlang无与伦比的并发特性才能做到。对于基于web的大规模应用文档应用,然的分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。 二、CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS,电话本,地址本等应用,在这些应用场合,文档数据库要比关系数据库更加方便,性能更好。 三、CouchDB支持REST API,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句,我们可以想像一下,用AJAX技术结合CouchDB开发出来的CMS系统会是多么的简单和方便 。 其实CouchDB只是Erlang应用的冰山一角,在最近几年,基于Erlang的应用也得到的蓬勃的发展,特别是在基于web的大规模,分布式应用领域,几乎都是Erlang的优势项目。 |