隨筆-26  評(píng)論-44  文章-20  trackbacks-0
            做試卷管理系統(tǒng)的時(shí)候,寫(xiě)了一個(gè)操作數(shù)據(jù)庫(kù)的工具,它與數(shù)據(jù)庫(kù)的具體的表,屬性都無(wú)關(guān):Tabel t=DB.getTabel("user")后可以操作相應(yīng)的數(shù)據(jù)表,只要這個(gè)名為user的表存在,t.search(property[][],start,limit)傳入一個(gè)屬性數(shù)組,property比如可以為{{"username","admin"},{"password","admin"}....},然后數(shù)據(jù)庫(kù)就可以在user表中查找username="admin"....的記錄,start,limit是查找起始點(diǎn)和數(shù)目限制,js分頁(yè)時(shí)用到。
            這樣一來(lái),servlet也可以和具體的表,屬性無(wú)關(guān),只和幾個(gè)通用屬性有關(guān),如tableName,id(主鍵也可以為別的,在config.properties中配置),start,limit等等和具體數(shù)據(jù)庫(kù)無(wú)關(guān)的。奇妙就在這里:不管數(shù)據(jù)庫(kù)有多少?gòu)埍恚瑢?duì)于與每一個(gè)操作,servlet只有一個(gè),如Edit,而不需要EditUser,EditPaper....等等很多edit了。同樣以后系統(tǒng)怎樣擴(kuò)展,怎樣增加表,表的屬性怎樣變化。servlet都可以不變,他只是操作相應(yīng)的數(shù)據(jù)。那么具體的業(yè)務(wù)操作呢?
            js為這些帶來(lái)了可能,它與返回的數(shù)據(jù)交互操作,和在服務(wù)器沒(méi)有兩樣,為servlet省去了麻煩。
            以上是我個(gè)人感想,僅供參考。
            操作數(shù)據(jù)庫(kù)的工具和寫(xiě)的servlet參見(jiàn) 自己動(dòng)手做試卷管理系統(tǒng)的幾篇隨筆。js不好意思公開(kāi)了,這是給別人做的小項(xiàng)目。

          posted on 2008-08-12 08:32 開(kāi)機(jī) 閱讀(1686) 評(píng)論(7)  編輯  收藏 所屬分類(lèi): javaweb

          評(píng)論:
          # re: js帶來(lái)了改變。 2008-08-12 10:13 | 一杯清茶
          大哥,這樣也太開(kāi)放了吧,表結(jié)構(gòu),表屬性,表數(shù)據(jù)相當(dāng)于敞開(kāi)門(mén)給別人看嘛,如果是小項(xiàng)目,且數(shù)據(jù)不重要的話還可以用用,不然就不要暴露給客戶端了  回復(fù)  更多評(píng)論
            
          # re: js帶來(lái)了改變。 2008-08-12 13:38 | 隔葉黃鶯
          當(dāng)客戶端要隨意修改你的表記錄都很輕松了。  回復(fù)  更多評(píng)論
            
          # re: js帶來(lái)了改變。 2008-08-12 17:30 | leekiang
          很多"架構(gòu)師"也跟你想得一樣。  回復(fù)  更多評(píng)論
            
          # re: js帶來(lái)了改變。 2008-08-12 17:39 | HiMagic!
          并不是所有的客戶端都具有攻擊性,比如系統(tǒng)的使用者為了簡(jiǎn)化操作,完全可以讓HTM+JS通過(guò)UI操作數(shù)據(jù)庫(kù)。  回復(fù)  更多評(píng)論
            
          # re: js帶來(lái)了改變。 2008-08-13 18:49 | 開(kāi)機(jī)
          @一杯清茶
          是的,我嘗試的是小項(xiàng)目,所以才敢這樣做。我也只是初學(xué)者,不知道遇到大項(xiàng)目,到底會(huì)出什么問(wèn)題?  回復(fù)  更多評(píng)論
            
          # re: js帶來(lái)了改變。 2008-08-13 18:55 | 開(kāi)機(jī)
          @隔葉黃鶯
          客戶端和服務(wù)器端都是我一人做,的確與數(shù)據(jù)庫(kù)交互起來(lái)很輕松。
          為什么怕客戶端隨意修改表記錄?我現(xiàn)在基本上快做完了,還沒(méi)遇到這個(gè)問(wèn)題帶來(lái)了麻煩。也許是因?yàn)槲易龅氖呛苄『苄〉捻?xiàng)目吧。
          做這樣的小項(xiàng)目,我覺(jué)得用自己做的這個(gè)工具很簡(jiǎn)潔,不需要把時(shí)間浪費(fèi)到重復(fù)性的工作上。  回復(fù)  更多評(píng)論
            
          # re: js帶來(lái)了改變。 2008-08-13 18:56 | 開(kāi)機(jī)
          @leekiang
          多謝夸獎(jiǎng)!
          不知道他們具體是怎么做的?  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 东至县| 出国| 宁化县| 岱山县| 隆林| 营口市| 南川市| 玉龙| 沂水县| 安图县| 于田县| 汝阳县| 德阳市| 蓬安县| 甘孜| 长顺县| 澜沧| 贵南县| 保山市| 通许县| 沂水县| 长沙县| 浦城县| 肥东县| 琼中| 蓝山县| 梅河口市| 西藏| 古丈县| 富蕴县| 东安县| 深州市| 大关县| 宁城县| 洪江市| 仲巴县| 延长县| 景宁| 区。| 彰化市| 沅江市|