hibernate3.2有个新功能叫做annotation,这个功能在ejb3.0就出现了。而且spring2.x版本也有这个功能,这个功能到底有什么作用,我们还是看看解释是什么:
在已经发布的JDK1.5(tiger)中增加新的特色叫 Annotation。Annotation提供一种机制,将程序的元素如:类,方法,属性,参数,本地变量,包和元数据联系起来。这样编译器可以将元数据存储在Class文件中。这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。
spring的配置文件比较复杂,所以这次先使用hibernate的annotation功能。
更多详细信息请看
这里
效果:
posted @
2007-05-04 09:22 千山鸟飞绝 阅读(3035) |
评论 (0) |
编辑 收藏
首先对先前的那个应用进行了完善,主要针对中文问题,查询后的记录的修改删除问题进行了完善。功能基本可以说已经比较完善了。尽管代码不是很好看。
这次添加了权限管理的功能,应用的是acegi来进行的权限管理。Acegi继承了spring的特点,无侵入性,利用aop来实现了权限管理。
权限管理主要形式是用户—角色—权限这种模式。因为是简单应用,我于是使用了用户—权限的模式,省去了角色,少了两张表。
users表
authorities表
user_auth表
在程序中相应的增加了对应表的POJO类。在commons包中增加了DataSourceMethodDefinitionSourceEditor.java类。
在根目录增加了accessDenied.jsp,login.jsp页面。
修改了web.xml,applicationContext.xml.
在spring-context文件夹中增加了最关键的applicationContext-security-acegi.xml
对applicationContext-security-acegi.xml配置文件,我将会写一篇文章进行介绍,并说说自己使用时出现的问题,以及需要注意的地方。
附件下载
相关信息:
struts2.0+spring2.0+hibernate3.1 web应用 示例代码下载
项目架构以及数据库信息
struts+spring+hibernate的web应用<一> 架构搭建
更多信息
posted @
2007-04-24 10:12 千山鸟飞绝 阅读(9026) |
评论 (7) |
编辑 收藏
我首先升级了spring2.0,因为spring2.0是向下兼容的,所以也只是将spring1.2.8的包换成了spring2.0.3的包。虽然spring2.0是向下兼容,但他需要的其他包也跟着需要变换。例如如果你程序包括acegi的话,就需要将以前的echache1.1或者1.2换成spring2.0.3中带着的echache1.2.4。不然就会在启动tomcat的时候报错,说找不到echache这个类。
Struts2.0跟struts1.x完全不同,首先需要把struts1.x的东西都删除掉。
1、
lib包中的struts1.x,以及他那几个commons包都可以删除,不过要看你其他的程序是否调用了这些commons包。
2、
formbean可以删除了,因为你后台有个pojo类。
3、
validation框架可以除去了
4、
资源包也可以删除了
5、
Action和页面先留着,主要是看你的业务逻辑。如果业务逻辑简单也可以删除了。
接着添加struts2.0需要的包
freemarker-2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.6.jar,xwork-2.0.1.jar,struts2-spring-plugin-2.0.6.jar 。需要注意的是struts2-core-2.0.6.jar和struts2-all-2.0.6.jar不能同时添加到lib包中。
因为struts2.0对于1.x来说是全新的技术,我不可能都面面具到的提及,只能说说自己的体会。
需要对struts2.0有个更全面的了解,可以参考Max On Java的博客。
另外webwork2.2的官方文档也是很好的学习资料。
接着谈谈我的体会:
1、
Strust2.0的action是个javabean(不知道这样定义准不准确)。可以有自己的方法,你可以继承ActionSupport,也可以不继承。可以简单的理解为将struts1.x的action和formbean结合成一个类了。
2、
页面的参数可以不用request传递了,你只需要在action定义了这个属性,然后set一下就可以传递到页面上去了。
3、
因为页面属性都可以定义在action中,在编写代码过程中,对于struts1.x的程序员来说比较不适应,感觉action显得乱糟糟的。不过适应了就会觉得他的优点急好处的。我感觉分页更加简单了。
4、
以前一直都需要在action中将form中的内容放到pojo中去,因此有些业务也需要在action中完成。导致真正的业务层做的事情跟dao层差不多。现在struts2.0就可以更可能的把业务都放在业务层,这样也便于业务的管理。
5、
Struts2.0支持的技术很多,现在我用到的还是他的CRUD的一部分内容。他还支持ajax树形,支持jassper,支持jfreechar,还支持struts1.x。这些都需要在以后的工作学习中去掌握
先说到这里吧。
这里有示例代码
相关信息:
项目架构以及数据库信息
struts+spring+hibernate的web应用<一> 架构搭建
更多信息
posted @
2007-04-20 10:52 千山鸟飞绝 阅读(3701) |
评论 (2) |
编辑 收藏
很不好意思,开始下载链接放错了,现在是新的。
这是前面那个struts1.x+spring1.x+hibernater3.1的升级版本。
spring2.0与1.x区别不大,可以平滑的过度,我也就是把spring1.28换成了spring2.0.3,算是升级到spring 2.0了。
struts2.0基本就是webwork2.2,与以前的struts1.x可以说没任何关系了。
因为是第一次用struts2.0,也是第一次用webwork,所以有很多不完善,不规范的地方,还望大家来拍砖。
下次在将这次使用struts2.0的心得写篇文章。
因为是对前一次写的struts+spring+hibernate的改进,所以一些新的朋友还不知道数据库以及架构是什么样子的。
建议可以先看看这里:
struts+spring+hibernate的web应用<一> 架构搭建
lib包需要以下这些包
示例代码下载
相关信息:
项目架构以及数据库信息
struts+spring+hibernate的web应用<一> 架构搭建
更多信息
posted @
2007-04-19 16:05 千山鸟飞绝 阅读(11518) |
评论 (20) |
编辑 收藏
4月18日,中国铁路第六次提速,出现了时速200公里的动车组。以下是从网上收集的资料。
我国时速200公里及以上动车组统一采用“CRH”的简称!
CRH系列动车组数据列表比较
我国时速200公里及以上动车组统一采用“CRH”的简称,这是“中国铁路高速”(China Railway High-speed)英文字母的缩写,意为“中国铁路高速列车”。
CRH4:(3M+1T)+(2M+2T),8节编组,基本可以确定分两个单元,Mc+M+Tp+M+T+Tp+M+Mc
CRH2:4M+4T,8节编组,基本上是Mc+T+Mc+Tp+M+Tp+M+Tc
CRH1:2(2M+1T)+(1M+1T),这个最为简单,2M1T为一个单元,其中保证8节编组,一个单元减少动车一节,Mc+Tp+M+M+T+M+Tp+Mc
CRH3:4M4T,编组形式可能类似于CRH2或者采用MTM+T+T+MTM
CRH2和CRH1都比较普通,每台动力转向架有两台架悬牵引电机。而最奇特的CRH4,牵引电机的功率为550kW,而列车总功率是5500kW,因此可见全车只有10根动轴,同时全车有5辆动车,那么每节动车只有两根动轴,因此,每台转向架只有一根动轴。结合以前看到的图纸,认为CRH4采用的是体悬牵引电动机,并通过于车体平行的传动轴将动力输出到转向架上,因此动车轴式应该是1A0-A01。
CRH4、1轴重均在14t以上,特别是CRH4,居然达到了接近17t,这对路轨的损伤还是不小的,应该着手进一步减轻轴重。CRH2继承了新干线的轻量化车轴的特点。
制动方式似乎基本上都采用了电空制动,但是电制动方式未知,最大的可能应该是再生制动,所以电空制动也应该只是最终停车使用的辅助制动,电制动应该才是主制动方式。
CRH4、2、1中只有CRH2不能满足普通站台要求,其余均能满足500mm的站台要求,所以全国现在普遍建造高站台,特别是一些中心城市车站。
没有气密性,而且采用不锈钢车体,相对来说都比较差。
CRH5型动车组,是中华人民共和国铁道部为中国铁路第六次提速,引进自法国阿尔斯通的高速列车车款。
首组CRH5已于2006年12月11日从意大利Savigilano登船运往中国,至2007年1月28日抵达大连港口。第一组由中国生产的CRH5将于2007年春出厂。
注:M:动车 T:拖车 c:控制车 p:受电弓车
CRH2图片
CRH车内图片
posted @
2007-04-19 12:38 千山鸟飞绝 阅读(2512) |
评论 (2) |
编辑 收藏
我的公仔QQ才11级,健康状态都很好。一下子就成这样了。
这是怎么回事呢?
posted @
2007-03-17 15:38 千山鸟飞绝 阅读(4092) |
评论 (13) |
编辑 收藏
struts+spring+hibernate的web应用 示例代码下载
struts+spring+hibernate的web应用<一> 架构搭建struts+spring+hibernate的web应用<二> Dao层代码编写struts+spring+hibernate的web应用<三> Service层代码编写struts+spring+hibernate的web应用<四> Web层代码编写(1)struts+spring+hibernate的web应用<四> Web层代码编写(2)附件代码跟前面的文章有个别地方不同。另外lib中的jar文件没在附件中,因为上传文件大小不能超过2M,所以请自行添加。
posted @
2007-03-15 11:10 千山鸟飞绝 阅读(4219) |
评论 (1) |
编辑 收藏
Web
层代码量比较大,涉及的地方也比较多,所以分两篇文章来介绍:
struts+spring+hibernate的web应用<四> Web层代码编写(1)
struts+spring+hibernate的web应用<四> Web层代码编写(2)
posted @
2007-03-14 10:35 千山鸟飞绝 阅读(1865) |
评论 (1) |
编辑 收藏
前面的文章:
struts+spring+hibernate
的
web
应用
<
一
>
架构搭建
struts+spring+hibernate
的
web
应用
<
二
> Dao
层代码编写
现在开始编写
Service
层代码:
详细内容
posted @
2007-03-13 16:58 千山鸟飞绝 阅读(1751) |
评论 (0) |
编辑 收藏
前一篇文章
(struts+spring+hibernate的web应用<一> 架构搭建)
让我们打好了架子,接下来就来编写代码了。在编码之前,我们需要先自行了解
strust,spring,hibernate
基础知识,后面的文章将不会过多的介绍这些框架的基础知识。整个项目由
Dao,Services,Web
三层组成,
Dao
层主要通过
hibernate
来操作数据库,
Service
层主要体现了业务,事务的处理,
Web
层由
struts
来控制。整个项目的控制交由
spring
管理。
现在的这个小项目除了完成基本的添删改查,还有一个简单的分页功能。这个分页功能不仅前台分页,而且在后台数据库也进行了分页处理。
现在就来编写
Dao
层的代码。
详细内容
posted @
2007-03-13 13:59 千山鸟飞绝 阅读(3037) |
评论 (2) |
编辑 收藏