JAVA教程 JAVA虚拟机电子书

Java是什么 Java培训

Java教程 组件框架技术tapestry及简单对比 Java软件学习

JSF和Tapestry都是基于页面组件技术的开发框架,但jsf基于jsp,仍然是jsp架构,开发维护起来非常麻烦。tapestry则不同,是基于servlet的一种完全页面组件化的开发框架, 而且现在已经非常成熟,目前已经推出t4.0-beta2。 页面开发走向组建化是一种越来越明显的趋势,这方面tapestry可以说是引导了这个方向,也许是sun太厉害,jsf一出生就得到大家的关注, 不过顺此东风,tapestry的用户社区比以前更加繁荣了:http://news.gmane.org/gmane.comp.java.tapestry.user tapestry有很多范例精彩,参看它的官方网站:http://jakarta.apache.org/tapestry/ 若想致力于web页面的开发,个人觉得jsp/serlvet是首要精通的,至于选择框架,则是一件费精力的事情。框架的目的是为了简化开发流程, 提高生产效率,典型的框架如turbine、struts、webwork、jsf、tapestry等。如何选择框架是一个经久不衰的讨论,没有多年的实践经验是难 以作出实际评价和最终抉择的。愚以为turbine过于厚重,无论是开发速度还是运行速度都令人难以接受,2.4M1到现在快一年还是M!,运行起 来真是满如蜗牛,打开一个页面要等浏览器的地球要转上半圈,这也许要归功于velocity解析和没有页面缓存的功劳了。还有就是扩展性、可 维护性等,实际上都很差,象它的核心类Turbine,居然定义为final!实际开发起来还不如我自己实现的velocity servlet filter框架效率高 ,速度快。struts,webwork实际都是jsp的MVC包装,无法摆脱jsp页面难以维护的烦恼,也许开发起来快,但维护呢?还有就是美工人员,他 们都得懂jsp。实际的mvc分工在页面这块还是打了折扣。jsf,在一定程度上借鉴了tapestry的组件思想,但大项目应用中狂多的标签封装和定 义把你搞疯也得把机器搞疯,估算有两大弊端:运行速度相对慢和页面维护相对复杂。最后是tapestry,唯一的难度是理解它的组件开发方法 ,理解的转变就好比从过程开发到OO开发一样,但对初学者无所谓,一张白纸总是容易上画的。 选择tapestry有如下几大优点: 1、最彻底的MVC开发框架,页面代码全部由HTML标准标签组成,页面美工人员无须了解特别的标签定义。 2、可重用组件开发节省开发资源,一句话:越开发越轻松 3、优秀的页面流转开发。传统方式都是基于URL实现激活页面流转,而tapstry除了此方式,你还可象开发普通java类一样实现page页面流,更 重要的是,还可由此实现页面类的复用。 4、丰富的组件资源。除了官方维护的资源外,还可找到一大堆的tapestry组件库。 5、超强的扩展性。tapestry是一个真正的开放性架构,说白了,你觉得哪个服务不爽,你就可写个替代它。 6、生命力超强,不断的自我更新、发展。tapestry4.0与3.0相比简直就是另一个飞跃,如支持jdk1.5的Annotations,仅这点开源产品中目前 还只看到一个hibernate;支持portlet JSR-168,又一个顺应潮流的web开发支持。规划中的4.1将支持页面静态化,这不正是众多开发人员的 另个期待吗? 7、tapestry的开发人员稳定。不是一个两个人在那里单打独斗,而是有一群人在开发和支持tapestry的进程。 8、tapestry技术成熟吗?基于tapestry的软件和大网站已经很多了, 国外的:软件如SeaView内容管理系统、WidenTM Digital Asset Management System 网站大的如:http://www.nhl.com/,http://www.theserverside.com/,https://merchant.shopping.com/enroll/app,http://www.identitytheft911.com/home.htm,http://admissions.chicagogsb.edu/admissions/app 国内的:软件如http://www.onetsoft.com,网站如:http://love.9618.com.cn/dating/app,http://dbi.lib.ntu.edu.tw/libraryList/,http://www.cdcin.com/,http://www.xtcin.com/,http://www.xnjs.com/ tapestry的优点和带给你的便利不是两句话可讲清楚的,还需要自己去多多体会

Java教程分页:

其他Java虚拟机教程:

触摸Java中的包和文档

Java Servlet和数据库连接池的部署

本人开发的workshop

权限组件之四(规则)

tomcat配置手册(server.xml)

Antlr--看Hibernate3如何解释HQL语言(下)

Sun ONE Application Server 开发者指南(4)

关于EJB返回值的解决方案

[J2SE 5.0专题][2.2]增强的for循环

Struts的一个小错误

面向服务架构(SOA)的原则

Tutorial for building J2EE Applications

用JSP制作的日期选择器

Struts的体系结构

用Java实现Windows系统托盘图标

JDK 5.0介绍

Jbuilder8开发J2ee学习笔记(4)

Linux下安装Tomcat及融合Apache

J2EE入门(10)

学用Java Web Start 部署应用程序

结合验证在struts中减少Action和ActionForm

J2EE持久性:JBoss选择了JDO

Jive笔记2----关于Jive2中的中文搜索

实 现JAVA 的 动 态 类 载 入 机 制

EJB技术之旅(二)

用AspectJ和Spring进行依赖项插入

ahxu-commons-upload-beta2显进度上传组件b

足球战术-

初级 Java I/O 综述(二)

Hibernate3.0 vs Rails Active Record

Vector还是ArrayList

JavaOne现场报道(6月12日)

关于java异常处理机制的深入理解

使用jdom操作xml数据,生成含Jtree的applet

仔细触摸Java编程中的“文档”和“包”

Bridge模式 (打架篇)

在Jsp中模拟WebForm(三)

探讨JDBC 4.0在设计和性能方面的改进

SSL 加密在Jrun上的配置

JBuilder 8开发EJB应用

Eclipse tips

JAVA命名和目录服务(JNDI)

J2EE vs. Microsoft.NET(2)

J2SE 1.5 in a Nutshell 中文版 --1.5新特

评测报告:.NET的性能仍然远远落后于Java

Java Thread Programming 1.7 - Concurrent

每个初学JAVA者都应该搞懂的问题

JavaScript正则表达式

Java分布式应用迫切需要“大统一”理论

using和Enviroment.NewLine