JAVA涂鴉
關于JAVA的點點滴滴 |
首先對先前的那個應用進行了完善,主要針對中文問題,查詢后的記錄的修改刪除問題進行了完善。功能基本可以說已經比較完善了。盡管代碼不是很好看。
這次添加了權限管理的功能,應用的是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應用<一> 架構搭建
更多信息
我首先升級了spring2.0,因為spring2.0是向下兼容的,所以也只是將spring
Struts2.0跟struts1.x完全不同,首先需要把struts1.x的東西都刪除掉。
1、 lib包中的struts1.x,以及他那幾個commons包都可以刪除,不過要看你其他的程序是否調用了這些commons包。
2、 formbean可以刪除了,因為你后臺有個pojo類。
3、 validation框架可以除去了
4、 資源包也可以刪除了
5、 Action和頁面先留著,主要是看你的業務邏輯。如果業務邏輯簡單也可以刪除了。
接著添加struts2.0需要的包
freemarker-
因為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應用<一> 架構搭建
更多信息
很不好意思,開始下載鏈接放錯了,現在是新的。
這是前面那個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應用<一> 架構搭建
更多信息
我國時速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:受電弓車
前面的文章:
struts+spring+hibernate 的 web 應用 < 一 > 架構搭建
struts+spring+hibernate 的 web 應用 < 二 > Dao 層代碼編寫
現在開始編寫
Service
層代碼:
詳細內容
前一篇文章 (struts+spring+hibernate的web應用<一>? 架構搭建) 讓我們打好了架子,接下來就來編寫代碼了。在編碼之前,我們需要先自行了解 strust,spring,hibernate 基礎知識,后面的文章將不會過多的介紹這些框架的基礎知識。整個項目由 Dao,Services,Web 三層組成, Dao 層主要通過 hibernate 來操作數據庫, Service 層主要體現了業務,事務的處理, Web 層由 struts 來控制。整個項目的控制交由 spring 管理。
現在的這個小項目除了完成基本的添刪改查,還有一個簡單的分頁功能。這個分頁功能不僅前臺分頁,而且在后臺數據庫也進行了分頁處理。
現在就來編寫
Dao
層的代碼。
詳細內容
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |