亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

J2EE表現層設計思考

2019-11-18 15:48:11
字體:
來源:轉載
供稿:網友
設計表現層時需要考慮的幾個問題

  開發者在設計表現層時,可以使用不同的模型,這時需要考慮一些相關的設計問題。這些問題和模型關系的緊密程度也各有不同,它們可以影響系統的各個方面,包括有安全、數據完整性、可治理性和擴展性。雖然這些設計問題大部分都可以用模型的形式表示,但我們不打算這樣做,因為這樣更為抽象,我們選擇以非正式的文檔形式表示。我們只是根據不同的模型,將每個需要考慮的問題列出來。

  session治理

  用戶Session指的是跨越一個客戶和服務器多個請求間的一個對話。我們將在以下部分根據用戶Session的概念討論這個問題。

  客戶端的Session狀態

  在客戶端保存Session的狀態指的是將Session的狀態串行化并且嵌入到返回給客戶的Html頁面中。

  在客戶端保存Session的狀態有這以下的好處:

   . 它實現起來相對輕易

   . 在保存少量的狀態信息時,它工作得很好

  此外,這個策略還消除了跨越多個服務器復制狀態的問題,例如多個服務器間實現負載均衡時就會碰到這種情況。

  在客戶端保存Session狀態通常有兩個方法--HTML的隱藏字段和HTTP cookies--我們將在下面討論這些策略。第三個策略則是在每個頁面的URL中嵌入Session狀態信息,例如<form action=someServlet?var1=x&var2=y method=GET>。雖然第三個方法比較少見,但它也有著其它兩個方法的許多限制。

  HTML的隱藏字段(HTML Hidden Fields)

  雖然這個方法實現起來相對輕易,不過使用HTML隱藏字段在客戶端保存Session狀態仍然有著許多的缺點。這些缺點在保存大量的狀態時尤為突出。保存大量的狀態將會對性能有很大的影響。因為每次發出請求和響應時,都需要在網絡中傳送這些狀態信息。

  此外,當你利用隱藏的字段來保存Session狀態時,這些持久的狀態值只能是字符串值,因此所有的對象引用都必須被“字符串化”,而這些信息除非經過非凡的加密,否則都是以明文的形式顯示在HTML的源代碼中。

  HTTP Cookies

  與隱藏字段的方法一樣,使用HTTP Cookies的方式也是相對簡單的。不幸的是,這兩個方法有著許多相同的缺點。非凡是,在保存大量的狀態信息時將會對性能產生很大的影響,因為在每次的請求和響應時,都必須在網絡上傳送全部的Session狀態信息。

  在客戶端保存Session狀態時,我們也會碰到大小和類型的局限問題。cookie headers的大小是有限制的,這樣就限制了可以被持久保存的數據量,而且和隱藏字段的方法一樣,當你使用cookies來保存Session狀態時,這些持久的狀態信息只能使用字符串值。

  在客戶端保存Session狀態會帶來的安全問題

  當你在客戶端保存Session狀態時,你必須考慮到由此帶來的安全問題。假如你不想數據暴露給客戶端,你就需要一些方法來加密數據,從而保證數據的安全。

  雖然在客戶端保存Session狀態相對輕易實現,不過它有著很多的缺點,這些都要我們花費時間去解決。對于需要處理大量數據的項目,非凡是企業的系統,使用這種方式是得不償失的。進入討論組討論。

  表現層的Session狀態

  當Session狀態保存在服務器端時,它使用一個Session ID得到,并且會一直保持住,直到發生以下的情形:

   . 一個預定義的Session超時發生了

   . Session被手動設置為無效

   . 狀態由Session中移除

  要注重的是服務器關閉后,一些內存中的Session治理機制可能不能恢復。

  很明顯,對于要保存大量Session狀態的應用,將它們的Session狀態放在服務器是更好的。當狀態被保存在服務器上時,你不會有客戶端Session治理的大小和類型限制。此外,還避免了由此帶來的安全問題,而且也不會碰到由于在每個請求間傳送Session狀態帶來的性能影響。

  使用該方式,你可以更加靈活地作處理,并且便于擴展和提高性能。

  假如你在服務器上保存Session狀態,你必須要決定如何使該狀態信息被每個服務器得到,即你運行該應用的服務器。假如群集的軟件是運行在負載均衡的硬件上,那么就要處理這個Session狀態的復制問題,這是一個多維的問題,不過,眾多的應用服務器現在都提供了各種各樣的解決方案。也就是說,在應用服務器的級別上有解決的方法。其中的一個方法是保證用戶只與一個服務器打交道,它在流量治理軟件上用得比較多,例如Resonate [Resonate]的軟件,在用戶的Session中,該用戶發出的每個請求都會被路由到同一個服務器處理。這種方式也被稱為server affinity。

  另一個可選的方式是在商業層或者資源層保存Session狀態。企業javaBeans組件可用來在商業層保存Session的狀態,而一個關系數據庫則可用在資源層。

  控制客戶訪問

  有很多時候我們都要限制或者控制客戶端訪問某些應用資源。下面我們就來討論其中兩種這樣的情形。

  限制或者控制客戶訪問的一個原因是防止一個視圖或者部分的視圖被一個客戶直接訪問。這個問題會發生在以下情況,例如僅有注冊或者登陸后的用戶才可答應訪問一個非凡的視圖,或者是根據用戶的角色限制用戶訪問部分的視圖。

  在描述過這個問題后,我們將討論第二種情況,它和控制應用中一個用戶的流程有關。后者的討論和重復的form提交有關,因為多次提交將會導致不必要的重復事務。

  控制視圖訪問

  在一些情況下,資源被限制為完全不答應某些用戶訪問。有幾個方法可以做到這一點。一個方法是加入應用邏輯到處理控制器或者視圖的程序中,禁止某些用戶訪問。另一個方案是設置運行時的系統,對于一些資源,僅答應經由另一個應用資源內部調用。在這種情形,對于這些資源的訪問必須被通過另一個表現層的應用資源進行,例如一個servlet控制器。對于這些受限制的資源不答應通過一個瀏覽器直接調用。

  處理這個問題的一個常見方法是使用一個控制器來作為該類訪問控制的一個委托者。另一個常見的方式是在一個視圖中置入一個保護設置。我們這里主要討論基于視圖的控制策略。在考慮選擇何種方式來控制訪問之前,我們首先來描述一下這些策略。

  在視圖中置入保護邏輯

  對于在一個視圖的處理中置入一個保護邏輯,有兩個常見的應用。一個是防止訪問整個的資源,而另一個是限制訪問部分的資源。

  在每個視圖中包含一個All-or-Nothing保護

  在一些情況下,置入到視圖處理代碼中的邏輯以all-or-nothing的模式答應或者拒絕訪問。也就是說,這個邏輯限制某個非凡的用戶訪問一個非凡的視圖。通常這一類型的保護最好封裝到一個中心化的控制器中,這樣便于集中化治理。假如只有很少的頁面需要防護,那么可以使用這個策略。通常這個情形都是發生在一個非技術人員需要更新網站一小部分的靜態文件。假如客戶仍然需要登陸到網站來瀏覽這些頁面,那么只需要在每個頁面的頂部加入一個自定義的tag(標記)就可以做到控制訪問。如3.1的例子所示。

  例子3.1 在每個視圖中包含一個All-or-Nothing保護



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
性色av一区二区三区免费| 亚洲成人动漫在线播放| 亚洲免费视频一区二区| 98精品国产高清在线xxxx天堂| 欧美精品一本久久男人的天堂| 国产ts一区二区| 国产精品99久久久久久久久| 一个色综合导航| 91精品一区二区| 欧美激情在线视频二区| 精品视频www| 精品视频久久久久久| 亚洲最新中文字幕| 久久在线视频在线| 亚洲欧美激情四射在线日| 久久夜色精品亚洲噜噜国产mv| 久久色在线播放| 欧美午夜女人视频在线| 亚洲精品乱码久久久久久金桔影视| 色综合久久精品亚洲国产| 国内精品久久影院| 国产精品美女午夜av| 国产精品福利无圣光在线一区| 国产精品观看在线亚洲人成网| 在线成人激情黄色| 91久久精品一区| 亚洲人成77777在线观看网| 96精品视频在线| 欧美国产日韩精品| 欧美一区二区三区……| 在线精品国产欧美| 92看片淫黄大片欧美看国产片| 久久精视频免费在线久久完整在线看| 91亚洲精品久久久久久久久久久久| 久久精品国产亚洲精品2020| 韩国国内大量揄拍精品视频| 亚洲欧美自拍一区| 亚洲国产精品久久精品怡红院| 97色在线观看免费视频| 日韩av一区二区在线| 精品国偷自产在线视频| 性亚洲最疯狂xxxx高清| 亚洲天堂久久av| 日本精品久久久久久久| 亚洲综合精品伊人久久| 亚洲欧美福利视频| 最新国产精品亚洲| 欧美亚洲视频一区二区| 日韩av在线最新| 国产日韩在线一区| 日本欧美国产在线| 91av视频导航| 久久久久一本一区二区青青蜜月| 国产精品免费一区豆花| 日韩美女在线看| 日韩有码视频在线| 国产欧美久久久久久| 日韩欧美黄色动漫| 成人妇女淫片aaaa视频| 国产精品久久激情| 国产成人精品最新| 国产欧美久久久久久| 日韩精品有码在线观看| 精品成人在线视频| 国产精品久久久999| 亚洲精品在线不卡| 亚洲精品之草原avav久久| 欧美日韩一区二区在线播放| 国产福利精品在线| 国产精品jizz在线观看麻豆| 欧洲亚洲在线视频| 国产精品视频26uuu| 精品欧美国产一区二区三区| 国产91露脸中文字幕在线| 国产精品毛片a∨一区二区三区|国| 国产一区二区三区在线观看视频| 久久最新资源网| 亚洲成人av中文字幕| 亚洲精品理论电影| 久久久亚洲影院你懂的| 91亚洲精品久久久久久久久久久久| 热re99久久精品国产66热| 91精品国产91久久久久久| www日韩欧美| 欧美噜噜久久久xxx| 国产亚洲一级高清| 久久夜精品va视频免费观看| 亚洲aaa激情| 日韩在线免费视频| 国产欧美日韩最新| 国产精品大陆在线观看| 欧美日韩国产综合视频在线观看中文| 日韩美女视频免费在线观看| 日韩电影中文字幕一区| 日韩黄在线观看| 日韩视频欧美视频| 亚洲成人在线网| 日韩小视频网址| 国产日韩欧美黄色| 日韩在线激情视频| 日韩激情在线视频| 亚洲片在线观看| 欧美成人午夜剧场免费观看| 亚洲精品国产精品久久清纯直播| 日韩在线精品视频| 中文字幕自拍vr一区二区三区| 日韩免费观看在线观看| 亚洲爱爱爱爱爱| 欧美国产精品日韩| 欧美精品videos另类日本| 国产亚洲视频中文字幕视频| 色诱女教师一区二区三区| 国产欧美中文字幕| 97超级碰碰人国产在线观看| 欧美超级免费视 在线| 在线色欧美三级视频| 精品国产福利视频| 精品国产一区二区三区在线观看| 一区二区成人av| 国产精品免费福利| 日本免费一区二区三区视频观看| 欧美成人激情在线| 欧美综合在线观看| 国产精品久久97| 国产精品日韩在线| 91国产视频在线播放| 欧美激情日韩图片| 国产精品久久久久久久app| 亚洲精品国偷自产在线99热| 亚洲色图35p| 精品亚洲一区二区三区在线观看| 91精品综合久久久久久五月天| 中文字幕在线观看亚洲| 国产精品久久视频| 神马久久桃色视频| 精品久久久久久久久久| 欧美美女操人视频| 超碰日本道色综合久久综合| 国产亚洲美女精品久久久| 亚洲天堂色网站| 国产精品福利网站| 日韩av高清不卡| 91超碰caoporn97人人| 92版电视剧仙鹤神针在线观看| 欧美激情一区二区三区在线视频观看| xxx欧美精品| 成人性生交大片免费观看嘿嘿视频| 亚洲国产成人精品电影| 欧美裸体xxxxx| 91网站免费观看| 91禁外国网站| 国产美女久久精品| 亚洲精品动漫100p| 欧美午夜片欧美片在线观看| 亚洲3p在线观看| 国产精品丝袜高跟| 国产精品久久久久7777婷婷| 狠狠操狠狠色综合网| 久久99青青精品免费观看| 国内精品一区二区三区| 欧美成人精品在线视频| 亚洲欧美日韩综合| 国产成人aa精品一区在线播放| 久久综合网hezyo|