Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7583146 建立时间:2006年5月29日 |

| |
[Tapestry]了解 Tapestry,第 2 部分 软件技术
lhwork 发表于 2006/7/10 11:15:48 |
Tapestry 框架允许 Java™ 和 Web 开发人员开发动态的、轻量级的和富于响应性的基于 servlet 的
Web 应用程序。在本文中,Brett McLaughlin 继续介绍 Tapestry,即如何规划 Tapestry
应用程序的开发,创建有用的、健壮的 Tapestry 组件。
这个简短系列的第一篇文章
是 Tapestry 的介绍 —— Tapestry 是一个构建 Web 应用程序的轻量级框架。如果曾经阅读过那篇文章,应当对
Tapestry 的工作方式有了基本的理解,并了解了如何把它的核心 API 组合在一起。您可能还不敢确定如何从头开始实际开发 Tapestry
应用程序,但是在这篇文章中,我将解决这个问题。
我要从一种简单的应用程序规划方式开始,在使用 Tapestr |
|
[Tapestry]了解 Tapestry,第 1 部分 软件技术
lhwork 发表于 2006/7/10 11:15:12 |
在这篇由两部分构成的文章的前一部分中,作者兼 developerWorks 的热心贡献者 Brett
McLaughlin 对 Tapestry 进行介绍,从它的安装一直到文件结构。您可以看到 Tapestry 怎样帮助使用 HTML
和模板标记进行基于 servlet 的 Web 应用程序开发。
如果想出售产品,那么拥有在线设施是很重要的,不论是运作一家数百万美元的公司,还是只是想在假日处理几千个线手镯。在某些情况下,修补一些
Web 页面,并采用一些像 PayPal 或 eBay 这样的预先打包好的支持系统处理销售事务,也可以做得足够好。但是一个全面的、设计良好的
Web 应用程序应当能把在线销售从小打小闹提升到专业的、动态的在线商店的层次。每个人都知道,消费者在商店中买的东西比从跳蚤市场买的东西多。
问题在于,在进入大多数 Web 开发框架时 —— 特别是在使用 Java™ 作为编程语言的时候 ——
会发现复杂性太高。Struts、JSF 和 Spring 都是优秀的 Web 开发框架 |
|
[Hibernate]Hibernate的缓存机制介绍 软件技术
lhwork 发表于 2006/7/10 11:12:44 |
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。
Hibernate的缓存包括Session
阅读全文(1711) | 回复(0) | 编辑 | 精华 | 删除 |
| | |
[Hibernate]不要重复DAO!使用Hibernate 和Spring AOP 构建泛型类型安全的DAO 软件技术
lhwork 发表于 2006/7/10 11:11:27 |
由于 Java™ 5 泛型的采用,有关泛型类型安全 Data Access Object (DAO)
实现的想法变得切实可行。在本文中,系统架构师 Per Mellqvist 展示了基于 Hibernate 的泛型 DAO
实现类。然后展示如何使用 Spring AOP introductions 将类型安全接口添加到类中以便于查询执行。
对于大多数开发人员,为系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复标识为
“代码味道”,但我们大多数都已经学 |
|
[Hibernate]Hibernate 3 的Formulas 软件技术
lhwork 发表于 2006/7/10 11:10:06 |
原文地址: http://www.onjava.com/pub/a/onjava/2005/08/03/hibernate.html 中文地址: http://www.matrix.org.cn/resource/article/43/43813_Hibernate_Formulas.html 关 |
|
[Hibernate]解决Hibernate 3不支持 "&" 运算的SQL语句 软件技术
lhwork 发表于 2006/7/10 11:09:04 |
按位与运算(&)在许多数据库中都是支持的,遗憾的是,Hibernate 3在HQL中不支持&运算,如果你写了如下的HQL:
where a.id & :mask = :target
则Hibernate报错:exception: unexpected char: '&'.
如何解决此问题?方法是利用Hibernate支持的自定义SQLFunction,定义一个bitand(a,b)的SQLFunction,然后,自己写一个解释器,生成a & b的SQL语句。
要实现一个自定义的SQLFunction,必须实现SQLFunction接口:
/** * for more information, please visit |
|
[Hibernate]Hibernate 3.2 SQL函数返回类型从Integer变为Long 软件技术
lhwork 发表于 2006/7/10 11:07:06 |
如果你从Hibernate 3.0.x/3.1.x升级到最新的3.2版,一定要注意,3.2版的很多sql函数如count(), sum()的唯一返回值已经从Integer变为Long,如果不升级代码,会得到一个ClassCastException。
这个变化主要是为了兼容JPA,可以在hibernate.org的最新文档中找到说明。
Hibernate Team也提供了一个与原来兼容的解决方案:
Configuration classicCfg = new Configuration(); classicCfg.addSqlFunction( "count", new ClassicCountFunction()); |
|
[DWR(Ajax)]读了遍DWR1.1官方文档,提取的些东西 软件技术
lhwork 发表于 2006/7/10 10:29:54 |
1、java的方法避免用 java 和 javascript的关键字。 如 try()方法 或 delete()方法。 2、在你的java类中不要出现重载 avoid overloaded methods. 3、
在生产环境下,你可以把deprecated.js engine.js util.js
合并成一个,并放到web容器内,直接在htm,jsp中引用。
(对于java代码转换成的javascript代码也可以这么做,免得每次生成javascript代码浪费时间) 4、研究一下Bean
Converters。POJOjava对象必须严格按照 getProperty() setProperty()定义。Bean
Converters是按照 java对象的 get set方法工作的。DWR1.1加了Object Converters,是按private
int property;这类属性工作的。 <convert converter="bean" match="example.Fred |
|
|