開花流水

          空山無人,水流花開。

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            79 Posts :: 42 Stories :: 160 Comments :: 0 Trackbacks

          Java Web開發(fā)中,有許多共通的問題,是開發(fā)人員在開發(fā)過程中一定會(huì)遇到的,需要處理的問題:

          1.  亂碼問題

          為何會(huì)出現(xiàn)亂碼問題?既然有亂碼問題,肯定是由于編碼設(shè)置的不一致導(dǎo)致的。在Web開發(fā) 過程中,涉及以下一些編碼設(shè)置,客戶端參數(shù)的編碼設(shè)置,Web服務(wù)器的編碼設(shè)置,服務(wù)器端應(yīng)用程序的編碼設(shè)置,數(shù)據(jù)庫的編碼設(shè)置等。只要這四處的編碼設(shè)置 有不相同的,就可能會(huì)出現(xiàn)亂碼問題。開發(fā)人員在進(jìn)行開發(fā)之前,不防先了解一下這四個(gè)編碼在哪里設(shè)置,當(dāng)前自己的項(xiàng)目設(shè)置是怎么樣的,這樣就可以很好的避免 編碼問題。

          2.  權(quán)限控制

          對(duì)于一個(gè)Java Web系統(tǒng),不是所有的頁面與功能都允許所有的用戶訪問的,這樣就需要對(duì)用戶能訪問哪些頁面進(jìn)行控制了。一般的Java Web系統(tǒng),都需要進(jìn)行權(quán)限控制。進(jìn)行權(quán)限控制的方法有很多,以前看到有不少項(xiàng)目直接在程序里寫權(quán)限控制的代碼,這樣的弊端是顯而易見的,太不利于擴(kuò)展 了,只要有任何的修改,都需要改動(dòng)相當(dāng)?shù)拇a,一是容易出錯(cuò),二是修改的代價(jià)大。一個(gè)比較好的想法是基于AOP的思想,使用攔截器來進(jìn)行權(quán)限控制,當(dāng)然前 提是系統(tǒng)要配置一定的數(shù)據(jù)庫結(jié)構(gòu),如用戶-角色-權(quán)限表這樣的表結(jié)構(gòu)。當(dāng)然,目前有不少的權(quán)限控制開源框架如acegi

          3.  參數(shù)驗(yàn)證

          All Input Is Evil。對(duì)于輸入?yún)?shù)的驗(yàn)證是少不了的。對(duì)于參數(shù)的驗(yàn)證,有客戶端驗(yàn)證與服務(wù)器端驗(yàn)證,一般來說,能夠在客戶端進(jìn)行驗(yàn)證的,優(yōu)先考慮客戶端驗(yàn)證以減少服 務(wù)器端壓力?,F(xiàn)在有許多的Javascript框架可以很好的完成這一工作。如Jquery Validation插件。

          4.  異常處理

          應(yīng)該說對(duì)于每個(gè)系統(tǒng)來說,異常處理都是很重要的。但在B/S結(jié)構(gòu)的環(huán)境中,異常就顯得更為重要,一個(gè)設(shè)計(jì)良好的異常處理框架可以減少很多的代碼編寫工作。

          5.  參數(shù)傳遞

          在B/S結(jié)構(gòu),基于HTTP來完成通信,每一次的客戶端與服務(wù)器端的交互都是一次參數(shù)傳 遞的過程??刂茀?shù)的傳遞過程就顯得很重要了。要清楚的知道每一次的B/S的交互,需要傳遞哪些參數(shù),哪些參數(shù)是合法的,哪些參數(shù)是不合法的,是通過 GET方式還是通過POST方式,還是通過URL鏈接的方式。

          6.  Ajax

          現(xiàn)在的Java Web系統(tǒng),不使用Ajax技術(shù)是不可能的了。Ajax實(shí)在是一項(xiàng)不錯(cuò)的技術(shù),不刷新頁面而完成與服務(wù)器端的通信,它使得基于B/S的結(jié)構(gòu)功能更強(qiáng)大了, 許多傳統(tǒng)的Web應(yīng)用程序所無法完成的功能現(xiàn)在大都可以用B/S架構(gòu)來實(shí)現(xiàn)。對(duì)于Ajax現(xiàn)在已經(jīng)有很多成熟的Javascript框架可以使用。首推 jQuery,其提供的Ajax功能簡(jiǎn)單而實(shí)用。


          7.  客戶端Javascript技術(shù)

          客戶端技術(shù)有很多,Javascript應(yīng)該說是功能最強(qiáng)大、應(yīng)用最廣泛的一個(gè)了。用好Javascript,在系統(tǒng)設(shè)計(jì)時(shí)多考慮客戶端的實(shí)現(xiàn)方式,可以很好的輔助進(jìn)行服務(wù)器端的功能設(shè)計(jì)。優(yōu)秀的Javascript框架還是推薦jQuery,其功能簡(jiǎn)單、實(shí)用而強(qiáng)大。

           


          posted on 2010-10-27 10:57 開花流水 閱讀(1736) 評(píng)論(1)  編輯  收藏 所屬分類: java技術(shù)

          Feedback

          # re: Java Web開發(fā)常見問題 2013-07-12 17:32 "><script>alert(‘對(duì)雙方的');</scrit[&
          ddd  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 离岛区| 石景山区| 特克斯县| 娄底市| 河西区| 洪湖市| 定结县| 昌黎县| 云梦县| 会泽县| 新河县| 平乡县| 南安市| 庐江县| 文山县| 万山特区| 洛川县| 延安市| 洪雅县| 梁山县| 内乡县| 平遥县| 黄大仙区| 常德市| 政和县| 苗栗县| 四会市| 涿州市| 信宜市| 东港市| 邓州市| 翁源县| 乐都县| 淮南市| 鹤山市| 和政县| 垦利县| 四川省| 龙陵县| 且末县| 肃南|