09 2009 档案
摘要:Hibernate QBC查询 QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口。我们看下面的示例程序:Criteria criteria=session.createCriteria(User.class);criteria.add(Expression.eq(“...
阅读全文
摘要:好了,呵呵,云头晕脑复制粘贴了这么多代码。我们来简单总结一下吧。我们这个小项目涉及到ExtJS, JSON, DWR,Spring还有Hibernate这些大部件知识,每一块要学精通都不是朝夕之功。我们分别来看一下这些框架技术:1. ExtJS是一个很不错的Ajax框架,可以用来开发带有华丽外观的RIA(富客户端)的Ajax应用,使得我们的B/S应用更加具有活力及生命力。由于它是一个用javasc...
阅读全文
摘要:现在我们就来看看我们的页面设计部分。首先是登陆页面logon.jsp:<%@ page language="java" pageEncoding="utf-8"%><html> <head> <title>HR Manager Project</title> <meta http-equiv="pragma" content="no...
阅读全文
摘要:接下来我们看看我们 WEB应用的JAVA代码,首先是各个模块的DAO,它们充分利用了Spring对Hibernate的支持:package org.leno.hr.dao;import java.util.ArrayList;import java.util.List;import org.hibernate.Session;import org.leno.hr.User;import org.s...
阅读全文
摘要:怎么样,看到这么绚丽的效果之后,大家心痒了吧!这些都是extjs产生的效果,RIA(富客户端应用)是今后的潮流和趋势,建议大家多了解下客户端的技术,特别是些优秀的JS组件。好咧,工欲善其事,必先利其器。我们先来准备开发环境:各种开源框架环境及下载:ExtJS:2.X http://extjs.com/DWR:2.X http://directwebremoting.org/dwr/download...
阅读全文
摘要:现如今,在javaEE应用中,SSH的组合已经家喻户晓,而Ajax技术也已经遍地开花。我们一般会使用遵循MVC设计模式的Struts来规范程序结构,使用优秀的ORM组件Hibernate来简化数据库访问操作,使用系统黏合剂Spring来提高开发效率,使用异步访问的Ajax来提高用户体验。而今天我们要做的一个demo是一个简化的HRMS(人力资源管理系统),在SSH上因为Spring本身有自己的MV...
阅读全文
摘要:好啦,整个应用看完了。大家是不是大有斩获呢!?呵呵,我们来做个项目总结吧。1. Spring的作用是什么?很多人在做SSH的应用时,很清楚Struts和Hibernate的职责和作用,但是却对Spring的作用有点迷惑。为什么呢?因为我们看到了很多Struts的API和Hibernate的API,但是却没有看到多少Spring的API。那么,大家还记得Spring定义吗?我们说它是一个非侵入式框架...
阅读全文
摘要:在做项目的过程中,难免会遇到大大小小的问题(这是好事情,要不我们怎么进步呢?),那么,我们就把一些共性的值得探讨的问题拿出来,一起分析下:1. JS没有错误,但却一直报未结束的字符串常量这个问题很有趣,后来发现是编码问题,在拷贝或写入中文前,写把JS文件的编码方式改为UTF-82.组合分页中,Hibernate报Unsupported method: ResultSet.absolute 我们知道...
阅读全文
摘要:现在开始进入CRUD+分页+复杂查询+排序的解析了。它们的完整代码在前面的init-house.js上。 我们的大体思路是,列表,查询,添加,修改都采用ExtJS访问后台的方式,而按id查找单条记录和批量删除则交给DWR来完成,下面我们按照功能划分来逐一分析。首先是带分页的列表功能。核心实现代码如下:ds = new Ext.data.Store({ // proxy: new Ext.data....
阅读全文
摘要:上篇文章我们已经把最核心的ExtJS代码贴出来了。慢慢消化着,我们先来一个完整的登陆应用。登陆页面如下:1.login.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4....
阅读全文
摘要:好了,铺垫工作做的差不多了,主角闪亮登场。让ExtJS炫起来吧~~!ExtJS本质上也是一个AJAX的框架,但是它和DWR有很大不同,首先,DWR是JAVA世界的产物,而ExtJS是后台无关的。也就是说,ExtJS的后台可以是.NET,PHP或者JAVA都可以。其实我们在网上看到的大部分例子都是PHP或者.NET,后台的。这说明ExtJS在所有后台都很受青睐。其次,DWR只关注客户端与服务器端的交...
阅读全文
摘要:SSH这三个巨擘已经现身了,接下来就轮到我们小型的AJAX框架DWR了。做好DWR的准备工作:导入JAR包->在web.xml配置核心Servlet->编写核心配置文件dwr.xml,我在前面的应用中已经详细介绍过DWR,这里就简单地说一下。DWR是一个JAVA世界里的AJAX框架,它对页面表现并没有提供什么支持,它的强大主要体现在和服务器端程序的交互能力以及和Spring这样的大框架...
阅读全文
摘要:既然是说SSH,那就少不了WEB层的struts.我们以前做过一个小型的HRMS,采用的是Spring自己的MVC框架。这一次,我们还是用老牌的Struts。这是一个非常简单而且容易学习的框架,如果大家对它还不是非常了解,请先参考我的相关文章。这里我们用MyEclipse开发,加入Struts的支持后,我们开发人员最主要的工作就是编写Action和ActionForm类,然后再在struts-co...
阅读全文
摘要:上一篇文章我们看到了hibernate的作用,但是我们并没有贴出具体的数据访问层的代码,这是因为我们既然要使用这么多框架,当然就希望它们能够“黏合”的很好,譬如,我们不想使用代码处理事务,也就是说想使用声明式事务。这当然就是Spring大显身手的地方了。我们来看一看数据访问层的代码,还是面向接口编程:1.下面是一个接口,它告诉外界可以做哪些事情,譬如按条件分页查询房屋信息,...
阅读全文
摘要:现在我们已经看过了主要项目截图,并且利用MyEclipse加入了SSH的支持和其它框架的JAR包,搭建好了我们的应用环境。(这里因为MyEclipse自动导入的各个框架的包会存在版本冲突,所以我们建议只加入MyEclipse对各大框架的支持,完了后将它自动导入的JAR包从项目中移除,换成我们自己下载的包,这样可以更好的控制,做到所用的JAR包心中有数!),任何应用,数据库总是要先设计好。以下是本应...
阅读全文
摘要:我们这次实战的项目是一个房屋出租系统,重点是房屋信息的管理。主要功能包括用户的登陆,房屋信息的发布,编辑,删除,复杂查询以及数据的分页显示和排序等。为了便于大家下载测试,我们这里就使用SQLServer 2000数据库。好咧,马上就要开工了。先来做好准备工作:(1) 工具MyEclipse6.5+ExtJS插件:下载地址:http://www.agpad.com/downloads/spket-1...
阅读全文
摘要:ExtJS中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。但很多人在应用的时候都会因为遇到一些细节问题而苦恼,为什么提示信息出不来呀?为什么s.gif图片在断网的情况下不能显示啊?为什么从后台得不到JSON数据啊?为什么日期的格式无法转换啊?为什么翻页就是报错啊?为什么拖曳功能就是实现不了啊?等等等等。最后归结到一句话,为什么ExtJS这么乱七...
阅读全文
摘要:这次我们来学习下ExtJS中的树面板(TreePanel),很多人都说,只是为了树,都要好好学习ExtJS!可见大家对Tree的一往情深。从另一方面来说,Tree这种结构在实际项目中也的确用得相当广泛,所以我们很有必要研究一下它。这次我们完成的树大致上有这样的功能:它的节点是动态异步从后台(存储在数据库中一张电子产品分类表)加载的,节点之间可以拖曳,节点可以编辑,同时还支持右键菜单,而且,它能够和...
阅读全文
摘要:OK,前面我们已经学过了GridPanel,TabPanel,TreePanel这三种重要的面板,今天我们再下一城,拿下FormPanel这个面板。提到表单Form,那是做WEB开发的无人不晓了。那么,在ExtJS中,对应表单Form的封装组件就是FormPanel,它的重要性就不言而喻了。为了详细说明FormPanel中的各项属性和各种字段类型,我找了一个综合点的例子,这个例子来源于网络,被人转...
阅读全文