欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

EJB中數(shù)據(jù)驗(yàn)證出現(xiàn)的地方是什么

這篇文章主要介紹“EJB中數(shù)據(jù)驗(yàn)證出現(xiàn)的地方是什么”,在日常操作中,相信很多人在EJB中數(shù)據(jù)驗(yàn)證出現(xiàn)的地方是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”EJB中數(shù)據(jù)驗(yàn)證出現(xiàn)的地方是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

公司專注于為企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、電子商務(wù)商城網(wǎng)站建設(shè)小程序定制開(kāi)發(fā),軟件按需求定制網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

 我們將討論數(shù)據(jù)驗(yàn)證邏輯應(yīng)該出現(xiàn)在 EJB 應(yīng)用程序代碼的什么位置,而不是專注于驗(yàn)證過(guò)程(Java 技術(shù)專區(qū)的其它地方對(duì)此進(jìn)行了很好的討論)。在本系列先前的技巧文章中,我們了解了很多組成基于 EJB 技術(shù)的應(yīng)用程序的組件:底層會(huì)話 bean 及其業(yè)務(wù)接口;在實(shí)體 bean 及其客戶機(jī)之間傳送數(shù)據(jù)的值對(duì)象以及擔(dān)任 web 層和業(yè)務(wù)層之間的保護(hù)層的各種委派類。驗(yàn)證邏輯十分適合這些組件中的任何一個(gè)。實(shí)際上,您可以在多個(gè)組件中放置驗(yàn)證邏輯,在整個(gè)應(yīng)用程序中分層次地放置它(盡管這樣做是不可取的)。因此,我們?cè)诖颂幪岢龅膯?wèn)題是:在 EJB 應(yīng)用程序的什么位置放置驗(yàn)證代碼最有利?

數(shù)據(jù)驗(yàn)證的類型
 要確定將驗(yàn)證代碼放置在什么位置,第一步是了解您正在處理什么類型的驗(yàn)證。數(shù)據(jù)格式驗(yàn)證確保所有數(shù)據(jù)類型(整數(shù)、浮點(diǎn)數(shù)、字符串等)都是正確的。它還要確認(rèn)變量都在允許值的范圍之內(nèi)以及實(shí)際的模式按預(yù)期的匹配。本質(zhì)上,數(shù)據(jù)格式驗(yàn)證處理驗(yàn)證的任何方面,這些驗(yàn)證不需要應(yīng)用特定業(yè)務(wù)規(guī)則

特定于業(yè)務(wù)的驗(yàn)證基于一組業(yè)務(wù)規(guī)則(例如,確保所提供的 ISBN 號(hào)與您數(shù)據(jù)庫(kù)中的實(shí)際書(shū)籍相匹配)。它幾乎總是需要對(duì) EJB 層以及應(yīng)用程序中的其它業(yè)務(wù)邏輯組件具有訪問(wèn)權(quán)。

數(shù)據(jù)格式驗(yàn)證
 確定了正在處理的驗(yàn)證類型之后,下一步是確定放置代碼的位置。在您的 EJB 應(yīng)用程序中,數(shù)據(jù)格式驗(yàn)證邏輯可以如下進(jìn)行放置:

將賦值(setter)方法放置在業(yè)務(wù)委派上。 
將賦值(setter)方法放置在 bean 的遠(yuǎn)程接口上。 
將賦值(setter)方法放置在 bean 的消息對(duì)象或值對(duì)象上。 
對(duì)于本示例,我們將假定您正在處理一個(gè)包括業(yè)務(wù)委派的 EJB 應(yīng)用程序。如果是這樣,那么您應(yīng)該采取某些步驟,確保所有的應(yīng)用程序客戶機(jī)(處于 Web 層)都在使用委派進(jìn)行 bean 訪問(wèn),而不是直接訪問(wèn) bean。如果確實(shí)是這樣,那么您可以將所有數(shù)據(jù)驗(yàn)證代碼都安全地放置在業(yè)務(wù)委派方法中,如清單 1 所示。

清單 1. 業(yè)務(wù)委派中的數(shù)據(jù)格式驗(yàn)證 package com.ibm.library;

import java.Rmi.RemoteException;
import java.util.Iterator;
import java.util.List;
import javax.ejb.CreateException;
import javax.naming.NamingException;

public class LibraryDelegate implements ILibrary {

 private ILibrary library;

 public LibraryDelegate() {
 init();
 }

 public void init() {
 // Look up and obtain our session bean
 try {
 LibraryHome libraryHome =
 (LibraryHome)EJBHomeFactory.getInstance().lookup(
 "java:comp/env/ejb/LibraryHome", LibraryHome.class);
 library = libraryHome.create();
 } catch (NamingException e) {
 throw new RuntimeException(e);
 } catch (CreateException e) {
 throw new RuntimeException(e);
 } catch (RemoteException e) {
 throw new RuntimeException(e);
 }
 }

 // No validation required for accessor (getter) methods

 public boolean checkout(Book book) throws ApplicationException {
 // No validation required here; the object type
 // takes care of it

 try {
 return library.checkout(book);
 } catch (RemoteException e) {
 throw new ApplicationException(e);
 }
 }

 public boolean checkout(List books) throws ApplicationException {
 // Validate list
 for (Iterator i = books.iterator(); i.hasNext(); ) {
 Object obj = i.next();
 if !(obj instanceof Book) {
 throw new ApplicationException(
 ApplicationException.VALIDATION_ERROR,
 "Only Books are allowed in the input list");
 }
 }

 try {
 return library.checkout(books);
 } catch (RemoteException e) {
 throw new ApplicationException(e);
 }
 }

 // And so on...

 public void destroy() {
 // In this case, do nothing
 }
}


 

 對(duì)于數(shù)據(jù)格式驗(yàn)證,您希望使驗(yàn)證邏輯盡可能靠近客戶機(jī)。數(shù)據(jù)格式驗(yàn)證經(jīng)常觸發(fā)錯(cuò)誤頁(yè)面或要求客戶機(jī)重新輸入格式錯(cuò)誤的數(shù)據(jù)。在這些情況下,您希望花費(fèi)最少的處理開(kāi)銷迅速向客戶機(jī)提供反饋。通過(guò)將驗(yàn)證邏輯放置在業(yè)務(wù)委派中,您已經(jīng)創(chuàng)建了最自然的錯(cuò)誤處理方案。當(dāng)客戶機(jī)嘗試向委派查詢帶有格式錯(cuò)誤的數(shù)據(jù)時(shí),就會(huì)觸發(fā)錯(cuò)誤,請(qǐng)求被直接送回客戶機(jī),并就該問(wèn)題警告用戶。

 將驗(yàn)證邏輯放置在 bean 實(shí)現(xiàn)中會(huì)導(dǎo)致低效率的驗(yàn)證過(guò)程。錯(cuò)誤消息將從 bean 實(shí)現(xiàn)傳送到委派,而不是直接從委派傳送到客戶機(jī),這很象 RemoteException,而不象應(yīng)用程序異常。除了遠(yuǎn)程異常的代價(jià)之外,委派還將付出 JNDI 查找、RMI 流量以及(可能有)額外的業(yè)務(wù)邏輯的代價(jià) — 花費(fèi)在單個(gè)驗(yàn)證錯(cuò)誤上的力氣太多了!

特定于業(yè)務(wù)的驗(yàn)證
 特定于業(yè)務(wù)的驗(yàn)證完全是一種不同的情形。業(yè)務(wù)驗(yàn)證錯(cuò)誤通常比數(shù)據(jù)驗(yàn)證錯(cuò)誤更復(fù)雜,并很少通過(guò)客戶機(jī)交互獲得解決。解決特定于業(yè)務(wù)的錯(cuò)誤要求使用額外的實(shí)體和會(huì)話 bean 以及數(shù)據(jù)庫(kù)訪問(wèn),這些都必須通過(guò) JNDI 和 RMI 事務(wù)進(jìn)行處理。把這種驗(yàn)證放在業(yè)務(wù)委派上花費(fèi)的開(kāi)銷會(huì)很大。更好的主意是將這種驗(yàn)證移回 EJB 層,尤其是放置到 bean 的實(shí)現(xiàn)類中。

 在將該驗(yàn)證放置在應(yīng)用程序的這一層時(shí),所有 RMI 流量都應(yīng)該是本地的;大多數(shù)應(yīng)用程序服務(wù)器都將使用 VM 內(nèi)的優(yōu)化,以使 bean-到-bean 交互速度極快。您也可以避免 JNDI 訪問(wèn),因?yàn)樵S多 bean 已經(jīng)查找了相關(guān) bean 的主(home)接口。此外,您的業(yè)務(wù)委派已經(jīng)處理了所有必要的數(shù)據(jù)格式驗(yàn)證。

到此,關(guān)于“EJB中數(shù)據(jù)驗(yàn)證出現(xiàn)的地方是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)頁(yè)名稱:EJB中數(shù)據(jù)驗(yàn)證出現(xiàn)的地方是什么
本文URL:http://aaarwkj.com/article34/gpgpse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站維護(hù)微信公眾號(hào)、小程序開(kāi)發(fā)品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
日本一区二区三区精彩视频| 人妖一区二区三区在线观看| 欧美中文字幕内射合集| 麻豆精品国产粉嫩av| 精品自拍一区在线观看| 91久久国产综合精品女同| 日韩精品国产自拍在线| 女厕所偷拍一区二区三区| 亚洲一区乱码精品中文| 久久精品国产免费夜夜嗨| 国产精品无遮挡猛进猛出| 成年人黄色免费网站在线观看| 人人爽人人妻人人澡| 蜜桃视频在线视频免费观看| 国产精品亚洲av性色| 日本大片在线一区二区三区| 老司机午夜视频在线观看| 国产免费很黄很色视频| 国产毛片一区二区在线| 欧美日韩国产精品久久乐播| 日韩欧美午夜福利在线视频| 国产高清不卡午夜福利| 自由成熟性生活免费视频| 俩小伙探花专约老熟女| 久久久精品免费中文视频| 日韩无码一区二区视频| 91大神午夜在线观看| 中文字幕人妻紧贴拍摄| 国产丝袜美腿在线观看| 亚洲男人天堂免费观看| 亚洲香蕉av一区二区蜜桃| 一区二区三区免费在线观看视频| 妞干网视频这里只有精品| 日韩中文字幕欧美国产| 国内精品久久大型新型| 亚洲综合精品久久久一区| 国产成人99亚洲综合精品| 亚洲一区二区三区久久伊人| 高清欧美精品一区二区三区| 欧美黄片不用下载在线观看| 亚洲av免费一区二区三区|