hibernate3.2有個新功能叫做annotation,這個功能在ejb3.0就出現(xiàn)了。而且spring2.x版本也有這個功能,這個功能到底有什么作用,我們還是看看解釋是什么:
在已經(jīng)發(fā)布的JDK1.5(tiger)中增加新的特色叫 Annotation。Annotation提供一種機制,將程序的元素如:類,方法,屬性,參數(shù),本地變量,包和元數(shù)據(jù)聯(lián)系起來。這樣編譯器可以將元數(shù)據(jù)存儲在Class文件中。這樣虛擬機和其它對象可以根據(jù)這些元數(shù)據(jù)來決定如何使用這些程序元素或改變它們的行為。
spring的配置文件比較復(fù)雜,所以這次先使用hibernate的annotation功能。
更多詳細信息請看
這里
效果:
posted @
2007-05-04 09:22 千山鳥飛絕 閱讀(3049) |
評論 (0) |
編輯 收藏
首先對先前的那個應(yīng)用進行了完善,主要針對中文問題,查詢后的記錄的修改刪除問題進行了完善。功能基本可以說已經(jīng)比較完善了。盡管代碼不是很好看。
這次添加了權(quán)限管理的功能,應(yīng)用的是acegi來進行的權(quán)限管理。Acegi繼承了spring的特點,無侵入性,利用aop來實現(xiàn)了權(quán)限管理。
權(quán)限管理主要形式是用戶—角色—權(quán)限這種模式。因為是簡單應(yīng)用,我于是使用了用戶—權(quán)限的模式,省去了角色,少了兩張表。
users表

authorities表

user_auth表

在程序中相應(yīng)的增加了對應(yīng)表的POJO類。在commons包中增加了DataSourceMethodDefinitionSourceEditor.java類。
在根目錄增加了accessDenied.jsp,login.jsp頁面。
修改了web.xml,applicationContext.xml.
在spring-context文件夾中增加了最關(guān)鍵的applicationContext-security-acegi.xml
對applicationContext-security-acegi.xml配置文件,我將會寫一篇文章進行介紹,并說說自己使用時出現(xiàn)的問題,以及需要注意的地方。
附件下載
相關(guān)信息:
struts2.0+spring2.0+hibernate3.1 web應(yīng)用 示例代碼下載
項目架構(gòu)以及數(shù)據(jù)庫信息
struts+spring+hibernate的web應(yīng)用<一> 架構(gòu)搭建
更多信息
posted @
2007-04-24 10:12 千山鳥飛絕 閱讀(9050) |
評論 (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包都可以刪除,不過要看你其他的程序是否調(diào)用了這些commons包。
2、
formbean可以刪除了,因為你后臺有個pojo類。
3、
validation框架可以除去了
4、
資源包也可以刪除了
5、
Action和頁面先留著,主要是看你的業(yè)務(wù)邏輯。如果業(yè)務(wù)邏輯簡單也可以刪除了。
接著添加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來說是全新的技術(shù),我不可能都面面具到的提及,只能說說自己的體會。
需要對struts2.0有個更全面的了解,可以參考Max On Java的博客。
另外webwork2.2的官方文檔也是很好的學(xué)習(xí)資料。
接著談?wù)勎业捏w會:
1、
Strust2.0的action是個javabean(不知道這樣定義準(zhǔn)不準(zhǔn)確)。可以有自己的方法,你可以繼承ActionSupport,也可以不繼承。可以簡單的理解為將struts1.x的action和formbean結(jié)合成一個類了。
2、
頁面的參數(shù)可以不用request傳遞了,你只需要在action定義了這個屬性,然后set一下就可以傳遞到頁面上去了。
3、
因為頁面屬性都可以定義在action中,在編寫代碼過程中,對于struts1.x的程序員來說比較不適應(yīng),感覺action顯得亂糟糟的。不過適應(yīng)了就會覺得他的優(yōu)點急好處的。我感覺分頁更加簡單了。
4、
以前一直都需要在action中將form中的內(nèi)容放到pojo中去,因此有些業(yè)務(wù)也需要在action中完成。導(dǎo)致真正的業(yè)務(wù)層做的事情跟dao層差不多。現(xiàn)在struts2.0就可以更可能的把業(yè)務(wù)都放在業(yè)務(wù)層,這樣也便于業(yè)務(wù)的管理。
5、
Struts2.0支持的技術(shù)很多,現(xiàn)在我用到的還是他的CRUD的一部分內(nèi)容。他還支持ajax樹形,支持jassper,支持jfreechar,還支持struts1.x。這些都需要在以后的工作學(xué)習(xí)中去掌握
先說到這里吧。
這里有示例代碼
相關(guān)信息:
項目架構(gòu)以及數(shù)據(jù)庫信息
struts+spring+hibernate的web應(yīng)用<一> 架構(gòu)搭建
更多信息
posted @
2007-04-20 10:52 千山鳥飛絕 閱讀(3711) |
評論 (2) |
編輯 收藏
很不好意思,開始下載鏈接放錯了,現(xiàn)在是新的。
這是前面那個struts1.x+spring1.x+hibernater3.1的升級版本。
spring2.0與1.x區(qū)別不大,可以平滑的過度,我也就是把spring1.28換成了spring2.0.3,算是升級到spring 2.0了。
struts2.0基本就是webwork2.2,與以前的struts1.x可以說沒任何關(guān)系了。
因為是第一次用struts2.0,也是第一次用webwork,所以有很多不完善,不規(guī)范的地方,還望大家來拍磚。
下次在將這次使用struts2.0的心得寫篇文章。
因為是對前一次寫的struts+spring+hibernate的改進,所以一些新的朋友還不知道數(shù)據(jù)庫以及架構(gòu)是什么樣子的。
建議可以先看看這里:
struts+spring+hibernate的web應(yīng)用<一> 架構(gòu)搭建
lib包需要以下這些包

示例代碼下載
相關(guān)信息:
項目架構(gòu)以及數(shù)據(jù)庫信息
struts+spring+hibernate的web應(yīng)用<一> 架構(gòu)搭建
更多信息
posted @
2007-04-19 16:05 千山鳥飛絕 閱讀(11562) |
評論 (20) |
編輯 收藏
4月18日,中國鐵路第六次提速,出現(xiàn)了時速200公里的動車組。以下是從網(wǎng)上收集的資料。
我國時速200公里及以上動車組統(tǒng)一采用“CRH”的簡稱!
CRH系列動車組數(shù)據(jù)列表比較
我國時速200公里及以上動車組統(tǒng)一采用“CRH”的簡稱,這是“中國鐵路高速”(China Railway High-speed)英文字母的縮寫,意為“中國鐵路高速列車”。
CRH4:(3M+1T)+(2M+2T),8節(jié)編組,基本可以確定分兩個單元,Mc+M+Tp+M+T+Tp+M+Mc
CRH2:4M+4T,8節(jié)編組,基本上是Mc+T+Mc+Tp+M+Tp+M+Tc
CRH1:2(2M+1T)+(1M+1T),這個最為簡單,2M1T為一個單元,其中保證8節(jié)編組,一個單元減少動車一節(jié),Mc+Tp+M+M+T+M+Tp+Mc
CRH3:4M4T,編組形式可能類似于CRH2或者采用MTM+T+T+MTM
CRH2和CRH1都比較普通,每臺動力轉(zhuǎn)向架有兩臺架懸牽引電機。而最奇特的CRH4,牽引電機的功率為550kW,而列車總功率是5500kW,因此可見全車只有10根動軸,同時全車有5輛動車,那么每節(jié)動車只有兩根動軸,因此,每臺轉(zhuǎn)向架只有一根動軸。結(jié)合以前看到的圖紙,認(rèn)為CRH4采用的是體懸牽引電動機,并通過于車體平行的傳動軸將動力輸出到轉(zhuǎn)向架上,因此動車軸式應(yīng)該是1A0-A01。
CRH4、1軸重均在14t以上,特別是CRH4,居然達到了接近17t,這對路軌的損傷還是不小的,應(yīng)該著手進一步減輕軸重。CRH2繼承了新干線的輕量化車軸的特點。
制動方式似乎基本上都采用了電空制動,但是電制動方式未知,最大的可能應(yīng)該是再生制動,所以電空制動也應(yīng)該只是最終停車使用的輔助制動,電制動應(yīng)該才是主制動方式。
CRH4、2、1中只有CRH2不能滿足普通站臺要求,其余均能滿足500mm的站臺要求,所以全國現(xiàn)在普遍建造高站臺,特別是一些中心城市車站。
沒有氣密性,而且采用不銹鋼車體,相對來說都比較差。
CRH5型動車組,是中華人民共和國鐵道部為中國鐵路第六次提速,引進自法國阿爾斯通的高速列車車款。
首組CRH5已于2006年12月11日從意大利Savigilano登船運往中國,至2007年1月28日抵達大連港口。第一組由中國生產(chǎn)的CRH5將于2007年春出廠。
注:M:動車 T:拖車 c:控制車 p:受電弓車
CRH2圖片

CRH車內(nèi)圖片
posted @
2007-04-19 12:38 千山鳥飛絕 閱讀(2526) |
評論 (2) |
編輯 收藏
我的公仔QQ才11級,健康狀態(tài)都很好。一下子就成這樣了。
這是怎么回事呢?
posted @
2007-03-17 15:38 千山鳥飛絕 閱讀(4113) |
評論 (13) |
編輯 收藏
struts+spring+hibernate的web應(yīng)用 示例代碼下載
struts+spring+hibernate的web應(yīng)用<一> 架構(gòu)搭建struts+spring+hibernate的web應(yīng)用<二> Dao層代碼編寫struts+spring+hibernate的web應(yīng)用<三> Service層代碼編寫struts+spring+hibernate的web應(yīng)用<四> Web層代碼編寫(1)struts+spring+hibernate的web應(yīng)用<四> Web層代碼編寫(2)附件代碼跟前面的文章有個別地方不同。另外lib中的jar文件沒在附件中,因為上傳文件大小不能超過2M,所以請自行添加。
posted @
2007-03-15 11:10 千山鳥飛絕 閱讀(4227) |
評論 (1) |
編輯 收藏
Web
層代碼量比較大,涉及的地方也比較多,所以分兩篇文章來介紹:
struts+spring+hibernate的web應(yīng)用<四> Web層代碼編寫(1)
struts+spring+hibernate的web應(yīng)用<四> Web層代碼編寫(2)
posted @
2007-03-14 10:35 千山鳥飛絕 閱讀(1874) |
評論 (1) |
編輯 收藏
前面的文章:
struts+spring+hibernate
的
web
應(yīng)用
<
一
>
架構(gòu)搭建
struts+spring+hibernate
的
web
應(yīng)用
<
二
> Dao
層代碼編寫
?
現(xiàn)在開始編寫
Service
層代碼:
詳細內(nèi)容
posted @
2007-03-13 16:58 千山鳥飛絕 閱讀(1758) |
評論 (0) |
編輯 收藏
前一篇文章
(struts+spring+hibernate的web應(yīng)用<一>? 架構(gòu)搭建)
讓我們打好了架子,接下來就來編寫代碼了。在編碼之前,我們需要先自行了解
strust,spring,hibernate
基礎(chǔ)知識,后面的文章將不會過多的介紹這些框架的基礎(chǔ)知識。整個項目由
Dao,Services,Web
三層組成,
Dao
層主要通過
hibernate
來操作數(shù)據(jù)庫,
Service
層主要體現(xiàn)了業(yè)務(wù),事務(wù)的處理,
Web
層由
struts
來控制。整個項目的控制交由
spring
管理。
?
現(xiàn)在的這個小項目除了完成基本的添刪改查,還有一個簡單的分頁功能。這個分頁功能不僅前臺分頁,而且在后臺數(shù)據(jù)庫也進行了分頁處理。
?
現(xiàn)在就來編寫
Dao
層的代碼。
詳細內(nèi)容
posted @
2007-03-13 13:59 千山鳥飛絕 閱讀(3048) |
評論 (2) |
編輯 收藏