成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Swing應(yīng)用的數(shù)據(jù)驗證

開發(fā) 后端
本文介紹Swing應(yīng)用的數(shù)據(jù)驗證,數(shù)據(jù)驗證一直是軟件開發(fā)中非常重要的一環(huán),一定程度上保護(hù)你的系統(tǒng)。

這段時間真是忙得要死,一方面要開發(fā)公司項目的系統(tǒng)框架,要將項目分成不同的子項目,編寫核心代碼;另一方面要將極限編程(XP)引入團隊開發(fā),部署各類 XP需要的服務(wù)例如subversion啦,ant+ivy啦,Hudson啦等等。順便說句題外話,ubuntu還真是不是一般的好用,建議有能力的全部轉(zhuǎn)到ubuntu上去開發(fā)。

我目前開發(fā)的這個框架的客戶端是具肥的客戶端,也就是Swing客戶端了。Swing應(yīng)用相對于Web應(yīng)用有很多優(yōu)勢,因為它更肥。數(shù)據(jù)驗證就是其中一個。當(dāng)然現(xiàn)在的Web應(yīng)用通過使用Ajax也要比以前強很多了,但是還是避免不了在驗證數(shù)據(jù)時向服務(wù)段發(fā)出請求,至少你無法避免驗證結(jié)果從Web服務(wù)器傳輸?shù)接脩魹g覽器上這段過程。而Swing這類肥客戶端可以實現(xiàn)完全在本地對數(shù)據(jù)進(jìn)行驗證,甚至可以斷網(wǎng)繼續(xù)工作(這也是Web應(yīng)用目前在研發(fā)的一個重要課題)。

前段時間開發(fā)出了一個可以應(yīng)用于所有Swing應(yīng)用的通用數(shù)據(jù)驗證模塊,發(fā)現(xiàn)它在項目中使用后,對于普通的數(shù)據(jù)驗證,程序員幾乎不需要編碼,效率提高了不少,就寫了一篇博文拿出來和大家分享。原文是用英文寫的。

編寫這個模塊使用了很多不同的開源框架和類庫,其中很重要的一個就是JXLayer.文章寫完后,我就跑去邀請JXLayer的作者Alexp來指點一下,然后就在我的文章后面開始了一段討論,挺有意思的,他不愧為是Swing team里面的牛人啊!厲害啊!呵呵。

ok,回到今天這篇文章的正題。今天的主要目的是將我的英文博文翻譯成中文(自己的文章,我就不逐字逐句翻譯了,意思到了就行了,可能還會隨興展開一番討論)在這里展示給大家,與大家分享開發(fā)經(jīng)驗,希望大家能夠從中獲益,也希望能夠以文會友,廣交朋友。廢話少說,切入正題。

數(shù)據(jù)驗證(Validation)一直是軟件開發(fā)中非常重要的一環(huán),有了它,你的系統(tǒng)會讓客戶感到更加友善,同時你的系統(tǒng)也得到了一定程度的保護(hù)。一般來說,數(shù)據(jù)驗證既可以在客戶端也可以在服務(wù)端。默認(rèn)的JSF數(shù)據(jù)驗證就是在服務(wù)端,數(shù)據(jù)只能在被提交以后才能夠被驗證,然后把錯誤信息傳遞回用戶的瀏覽器。后來大規(guī)模使用Ajax后,基本可以實現(xiàn)對修改的數(shù)據(jù)“即時”驗證,注意這里是個打了引號的即時,數(shù)據(jù)事實上還是要在瀏覽器和服務(wù)端之間進(jìn)行傳遞的,只不過Ajax將這種傳遞改為隱式了而已,理論上并沒有真正實現(xiàn)(斷網(wǎng))即時驗證。而在Swing應(yīng)用上就能夠達(dá)成這種愿望。

事實上,開發(fā)Swing應(yīng)用時,數(shù)據(jù)驗證一直比較棘手,需要手工編碼的地方太多,效率不高。后來出了JGoodies Validation 結(jié)合JGoodies binding后,好了一些。這個JGoodies Validation既可以實現(xiàn)model層面的驗證,也可以實現(xiàn)Bean層面的驗證,但是多年使用下來,發(fā)現(xiàn)其實它比較適用于中小項目,而且要編寫的代碼其實一點不比自己手動編寫的少。

JGoodies流行了一段時間后,sun開始推出自己的bean綁定方案:beansbinding(JSR 295),我個人感覺要比JGoodies binding好用(JGoodies的作者Karsten也在專家組里,這個人我以前和他一起共事過,我的msn space里面還有跟他的合影,絕對是Swing界的牛人)。這個beansbinding也提供數(shù)據(jù)驗證,但是它的這個數(shù)據(jù)驗證只是在target被改動后,數(shù)據(jù)被同步回source之前才會起作用,使用起來局限性比較大,而且編碼量也不小。

由于目前絕大部分項目是基于POJO的,Hibernate validator已經(jīng)提供了一個很好的數(shù)據(jù)驗證框架,我們完全沒必要再重復(fù)發(fā)明輪子,我們應(yīng)該努力站在巨人的肩膀上,這樣我們才能站得更高,看得更遠(yuǎn)。于是我考慮結(jié)合beansbinding和Hibernate Validator開發(fā)數(shù)據(jù)驗證。還有一個重要的問題,那就是數(shù)據(jù)錯誤的時候,需要在用戶界面上展示相應(yīng)的信息,例如Error icon和錯誤提示,這部分我考慮使用JXLayer.

【編輯推薦】

  1. SwingWorker的實例化
  2. Swing控件可以提供聽覺反饋
  3. Java swing組件的串行化方法
  4. Swing組件的新元素Spinner Model
  5. SwingWorker單線程規(guī)則
責(zé)任編輯:佚名 來源: 中國IT實驗室
相關(guān)推薦

2009-07-10 14:41:57

Swing技術(shù)

2009-07-17 16:09:29

Swing桌面應(yīng)用程序

2009-07-14 18:10:38

Swing應(yīng)用程序框架

2009-07-16 17:09:02

Swing應(yīng)用程序

2009-07-17 10:42:06

Swing應(yīng)用程序處理函數(shù)

2009-07-10 17:24:07

Swing應(yīng)用程序

2011-04-15 17:33:39

SWINGAWT

2009-07-14 11:08:42

WebRendererSwing應(yīng)用程序

2009-07-15 15:35:59

Swing程序Swing性能

2009-11-26 10:48:59

PHP驗證碼

2009-07-17 15:34:37

Java Swing連接數(shù)據(jù)庫

2022-02-17 13:04:57

網(wǎng)絡(luò)驗證運營商

2009-08-04 15:02:18

ASP.NET數(shù)據(jù)驗證

2023-12-01 08:01:33

GoValidator

2009-08-05 13:09:17

ASP.NET應(yīng)用執(zhí)行

2009-07-15 11:02:32

Swing組件

2009-07-14 15:01:02

AWT和Swing

2009-07-14 17:21:42

Swing組件

2009-07-16 08:53:03

Swing任務(wù)Swing線程

2009-07-10 16:29:32

Swing組件
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久国产一区二区 | 涩涩操| 久久久久资源 | 二区中文| 国产99久久久国产精品 | 99免费精品视频 | 久久国产婷婷国产香蕉 | 久久小视频| 亚洲福利一区二区 | 日本三级全黄三级三级三级口周 | 九九热在线观看 | 天天成人综合网 | 欧美一级免费看 | 久久不卡 | 在线成人| 亚洲视频国产视频 | 在线免费毛片 | 免费黄色网址视频 | 人人玩人人添人人澡欧美 | 九九在线视频 | 国产一区二区在线免费观看 | 一级在线 | 免费一区 | 色爱综合| 免费观看一级毛片 | 成人av播放 | 天堂网色| 精品欧美一区二区三区久久久 | 亚洲国产一区二区三区 | 色综合99 | 精品国产伦一区二区三区观看说明 | 欧美片网站免费 | 国产精品久久久久久亚洲调教 | 成人久久18免费 | 久久51| 视频一区二区三区在线观看 | 欧美日韩一区二区在线观看 | 99r在线| 欧美一区二区三区 | 国产精选一区 | 久久免费大片 |