《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > Java異常處理技術及EJB中的應用

Java異常處理技術及EJB中的應用

2007-08-20
作者:郭廣軍 羊四清 戴經國 賀

摘要:在企業級的大型軟件開發中,嚴謹強大的Java異常處理" title="異常處理">異常處理機制為軟件質量控制提供了有力的技術支持,提高了軟件的可讀性、可維護性、容錯性和開發效率。深入分析了Java異常處理的基本機制及語法結構、總結了異常處理的基本原則,進一步探索了EJB中異常處理的方法,并給出了其關鍵技術、優化策略和應用實例。?

關鍵詞:Java;EJB;異常處理。?

中國分類號:TP311.52 ??文獻標識碼:A?

Java Exception Handling Technique and Application in EJB?

GUO Guang-jun?? YANG Si-qing?? DAI Jing-guo?? HE Wen-hua?

(Department of Computer Science of Hunan University of Humanities and Science and Technology, Loudi Hunan 417000,China )?

AbstractIn the large-scale enterprise software development, the precise, strong exception handling mechanism of the Java provided powerful technique support for the software quality control, as well as, the readability, maintainability, fault-tolerance performance and development efficiency of the software are improved. In this paper, first the basic exception handling mechanism and syntax structure of the Java are thoroughly analyzed, and the basic principle of the exception handling is advanced, then the exception handling mechanism of the EJB is probed into, the key technique,optimization strategy and example of the exception handling in EJB are provided last.?

Keywords:Java; EJB; Exception Handling?

1? 引言?

傳統的基于函數返回錯誤代碼的錯誤處理方法存在明顯的不足,如程序邏輯復雜,結構不清;可靠性差,維護不便;返回信息有限,不直觀需譯碼;返回代碼標準化困難,代碼復用率低;在面向對象的應用系統中,有些如構造方法等沒有返回值而無法報告程序錯誤。因此,在Java中新的錯誤檢測和報告方法—異常處理機制應運而生。?

異常是指中斷程序正常執行流程的錯誤事件,如程序打開不存在的文件、裝載不存在的類、網絡連接中斷、被零除、訪問數組越界、系統資源耗盡等。在Java中,異常[1](Exception,例外)是特殊的運行錯誤對象,是異常類的一個對象,而每個異常類代表一種運行錯誤,在異常類中封裝了該運行錯誤的信息和處理錯誤的方法等內容。Java異常處理機制的基本思想是由發現而不能處理錯誤的方法引發一個異常對象,然后由該方法的直接或間接調用者捕獲并處理這個錯誤。其優越性有:在catch中傳播與捕獲錯誤信息,實現了錯誤代碼與業務邏輯的分離,結構清晰;可對錯誤類型分組并標準化;方便了對錯誤的定位與維護;能有效防止由于異常而導致程序運行崩潰,可靠性高;強制程序員考慮程序的容錯性、健壯性和安全性。?

2? Java異常處理機制?

2.1? 異常類?

2.1.1? 系統定義的異常類

異常類用于處理異常,分為系統定義的異常類和用戶自定義的異常類[1]。在java.lang包中提供的Throwable類是異常類層次結構的頂層類,Error類和Exception類是從Throwable類直接派生的兩個知名子類" title="子類">子類。?

Exception類:它代表了Java語言中異常的基本屬性,除Java預定義的由Exception類派生的諸多異常類外,還支持用戶擴展Exception類來實現自定義異常類。其構造函數主要有public Exception()和public Exception(String s)等;它從Throwable類繼承了若干方法,常用的有:public String toString()方法,用來返回異常類信息;public void printStackTrace()方法,默認在當前標準輸出設備上輸出當前異常對象的堆棧使用軌跡。Exception類定義的是非致命性錯誤,允許用戶編寫代碼來處理這類錯誤,并繼續程序的執行。通常觸發異常(Exception)的原因有打開的文件不存在;網絡連接中斷;操作數超過允許范圍;想要加載的類文件不存在;試圖通過空的引用型變量訪問對象;數組下標越界等。?

Error類:它定義的錯誤是致命性錯誤,如虛擬機錯誤、裝載錯誤、動態連接錯誤,一般會導致程序停止執行,通常是由于Java系統或執行環境發生錯誤(Error)而導致的。由于這類異常主要與硬件、運行時系統有關,而不是由用戶程序本身拋出的,因此用戶程序不對這類異常進行處理。?

需指出,除java.lang包中定義的異常處理之外,其他的Java包中也包括異常。實際上幾乎每個Java包都定義了相應的異常類。此外,運行時異常RuntimeException類及其派生子類是Java程序員不用處理的異常。Java創建者認為運行時異常不應由程序來處理,而且程序也很難真正的對付運行時異常。?

2.1.2? 用戶自定義異常類

用戶自定義異常類是指擴展Exception類或其他某個已經存在的系統異常類或其他用戶異常類而形成新的異常類。可以給新的異常類定義新的屬性和方法,或重載父類的屬性和方法,并使這些屬性和方法能夠體現該類所對應的錯誤信息。要特別注意的是:第一? 一個方法被覆蓋時,覆蓋的方法必須扔出與被覆蓋方法相同的異?;蚱洚惓n惖淖宇悾坏诙? 若父類拋出多個異常,則覆蓋方法只能拋出父類所拋出的異常的一個子集,或者說不能拋出新的異常。?

2.2? 基本機制與語法結構?

2.2.1? 基本機制

Java異常處理機制采用中斷模式[2],即引發并拋出異常后,中止正在執行的程序塊,控制流轉至異常處理器,待完成異常處理后,再返回調用點繼續執行。異常處理的基本算法是:?

Step1:拋出異常,即創建一個異常對象并將它交給運行時系統的過程;?

Step2:捕獲異常,即找到異常處理程序的過程:運行時系統從發生錯誤的方法開始回溯,在方法調用" title="方法調用">方法調用堆棧里向后搜索,直到找到能處理當前發生的異常的處理程序的方法;?

Step3:處理異常,即通過方法調用來實現對異常的處理;?

Step4:終止異常處理。若運行時系統在方法調用棧中遍歷了所有的方法而未找到合適的異常處理程序,則顯示缺省錯誤并終止執行運行時系統的異常處理。?

2.2.2? 語法結構

Java異常處理機制通過throws、throw、try、catch和finally 5個關鍵詞來實現,分為三個基本部分[3]。?

·throws:此關鍵字統一定制并明確標明了一個方法可能拋出的各種異常,這些異常是該方法定義的一部分。其實質是允許將異常處理遞歸交給調用它的上一級方法去處理,此時Java編譯器會強制此方法的調用者必須將其放在調用方法的try、catch塊中以拋出并捕獲處理這些異常。?

·throw:此語句用來拋出緊跟其后的一個異常對象給此方法的調用者,此異常對象可用new創建,或者是一個Throwable的實例句柄通過參數傳到catch中。因為用戶自定義的異常不能由系統自動拋出,所以必須借助于throw語句來拋出各種錯誤情況所對應的異常,且要求在程序中的合適位置定義好用戶自定義的異常類。?

·try-catch-finally:此語句是Java錯誤處理的基本結構,主要用來捕獲和處理一個或多個異常。通常由try、catch、finally三個塊組成。?。﹖ry塊:將所有可能拋出異常的代碼部分放入try塊中;ⅱ)catch塊:用緊跟在try塊后面一個或多個catch子句來捕獲異常,其的目標是處理異常,把變量設到合理的狀態,并象沒有出錯一樣繼續運行。若一個子程序不處理這個異常,則可返回到上一級處理,如此不斷的遞歸向上直到最外一級。ⅲ)finally塊:finally是Java異常處理機制的精髓,使用finally可以維護對象的內部狀態、清理非內存資源、將系統恢復到應該處于的狀態。若沒有finally,要實現其功能的代碼是很費解的。finally塊是可選塊,若定義了finally塊,則不論try塊中有無異常產生,finally塊都會被執行;甚至若在try或catch塊中執行了return、break語句,finally塊也會被執行,但要特別注意此時finally塊后面的語句并不會被執行。只有在try或catch中執行了System.exit(0)操作,才不會執行finally塊。另要特別指出的是:捕獲異常時,catch語句是按其位置由前至后依次對被拋出的異常對象進行匹配捕獲,若有多個catch語句,則異常類要按從子類到父類的順序放置;在應用技巧中,還可通過在try塊中由throw拋出“異?!?,然后在catch塊中捕獲之,實現程序中業務邏輯控制流程的跳轉。?

2.3? 異常處理的基本原則?

對于非運行時異常必須捕獲或聲明,而對運行時異常則不必,可以交給Java運行時系統來處理;對于自定義的異常類,通常把它作為Exception類的子類,且類名常以Exception結尾,不要把自定義的異常類作為RuntimeException類或Error的類的子類;在捕獲或聲明異常時,要選取合適類型的異常類,注意異常類的層次,根據不同的情況使用一般或特殊的異常類;根據具體的情況選擇在何處處理異常,或者在方法內捕獲并處理,或者用throws子句把它交給調用棧中上層的方法去處理;在catch語句中盡可能指定具體的異常類型,必要時使用多個catch;使用finally語句為異常處理提供統一的出口;若無法處理某個異常,則不捕獲它;若捕獲了一個異常,則要對它進行適當的處理;盡量在靠近異常被拋出的地方捕獲異常;除非要向上層遞歸拋出異常,否則要在捕獲異常的地方將其記錄到日志中。?

3? EJB中的異常處理?

3.1? EJB異常處理?

EJB(Enterprise JavaBean)是J2EE企業級應用開發的核心組件,EJB的分布式和事務屬性使得其異常處理成為一個更重要的問題[4]。EJB中異常可分為三類[5]:?。㎎VM異常:由JVM拋出,是一種致命錯誤。ⅱ)系統異常:一般由JVM以RuntimeException的子類拋出,是一種非受查異常。ⅲ)應用程序" title="應用程序">應用程序異常:它是一種定制異常,由應用程序或第三方類庫以Exception類或其子類拋出,是一種受查異常,通常由EJB方法的調用者來處理之。EJB容器攔截了EJB組件上的每一個方法調用,因此方法調用中發生的每一個異常也被EJB容器所攔截。EJB規范只處理應用程序異常和系統異常這兩種類型的異常。?

應用程序異常:是指在遠程接口的方法說明中所聲明的異常,它不是遠程異常RemoteException,也不應繼承RuntimeException或其子類。但是,在遠程接口方法的throws子句中聲明的非受查異常并不會被當作應用程序異常。應用程序異常是業務工作流中的例外,當這種類型的異常被拋出時,客戶機可得到一個恢復選項。當發生應用程序異常時,默認情況下EJB容器不會自動回滾事務,只有被顯式說明并通過調用關聯的EJBContext對象的setRollbackOnly()方法才能回滾事務。實際上,對于應用程序異常EJB容器通常以它原本的狀態傳送給客戶機而不會以任何方式包裝或修改它。?

系統異常:通常被定義為非受查異常,EJB方法不能從這種異常中恢復。當EJB容器攔截到非受查異常時,會自動回滾事務并執行必要的清理工作,然后把該非受查異常包裝到RemoteException類或其子類中并拋給客戶機。對于受查異常,若要使用EJB容器的內務處理,則必須將受查異常作為非受查異常拋出。因此,每當觸發受查系統異常時,應該對其原始的異常以javax.ejb.EJBException類或其子類方式包裝后拋出。由于EJBException本身是非受查異常,因此不需要在方法的throws子句中聲明它。EJB容器會自動捕獲EJBException或其子類,并把它包裝到RemoteException中,然后拋給客戶機。?

需指出,雖然EJB規范規定系統異常由應用程序服務器記錄,但記錄格式會因應用程序服務器的不同而異。為確保異常記錄格式的統一,方便對其進行統計分析,在代碼中記錄異常是一種好的策略。此外,在EJB1.0規范中要求把受查系統異常以RemoteException拋出,而EJB 1.1及以上規范則規定EJB實現類絕不應拋出RemoteException。?

3.2? 關鍵技術?

3.2.1? 日志機制

盡管用System.out.println()方法跟蹤異常方便,但開銷大,對I/O處理的同步控制將大大降低系統吞吐量。缺省時堆棧跟蹤被輸出至控制臺,但在實際的應用系統中,通過瀏覽控制臺來查看異常跟蹤不太現實。因此,在大型應用系統的開發、測試和運行等生命周期中,采用日志機制和恰當的編碼策略,精確地記錄各種類型的異常,可以降低系統開銷,提高軟件性能和質量。知名的日志實用程序有兩種:Log4J[6]是Apache的Jakarta的一個開放源代碼的項目,J2SE 1.4捆綁提供了日志處理包(java.util.logging)[7],它們的使用方法請參考相關文獻。?

3.2.2? Decorators設計模式

在面向對象的程序設計中若用一個對象(the Decorators)包裝另外一個對象,被稱為Decorators設計模式" title="設計模式">設計模式?;贒ecorators設計模式,通過包裝原始的異常消息并在EJB組件中將其重新拋出,以方便對該異常的查詢和訪問。其次,由于Log4J只能記錄String消息,所以要利用Decorators設計模式定義一個專門類負責把堆棧跟蹤轉換成String,以獲取該堆棧跟蹤的String表示。?

3.3? EJB異常處理策略?

3.3.1? 常見EJB異常處理的不足

·拋出帶有出錯消息的異常:此種方法存在異常內容可能被“吞掉”的現象。?

·記錄到控制臺并拋出一個異常:僅當控制臺可用時調用者才能向后跟蹤。?

·包裝原始的異常以保護其內容:可能導致重復記錄,產品日志或控制臺不能被交叉引用。?

3.3.2? EJB異常處理的優化策略

·優化應用程序異常處理:由EJB開發者顯式拋出,通常包裝了含義清楚消息,不必將其記錄到EJB層或客戶機層,而以一種直觀有意義的方式提供給最終用戶,并帶上其解決方案的途徑。?

實體Bean一般是啞類,通常應用程序異常主要來源于會話Bean。從實體Bean拋出的應用程序異常類型通常是CreateException、FinderException、RemoveException及它們的子類。當引用其它EJB遠程接口時,實體Bean會遇到RemoteException,在查找其它EJB組件時會遇到NamingException,若使用BMP實體Bean,則會碰到SQLException。與這些類似的受查系統異常應該被捕獲,并被包裝起來,作為EJBException或它的一個子類拋出。在優化的EJB設計中,客戶機一般不直接調用實體Bean上的方法,而通過會話Bean間接訪問實體Bean。若會話Bean調用相同的實體Bean方法,則要避免對異常的重復記錄。會話Bean和實體Bean處理系統異常的方式基本相似??刹捎迷L問標識技術避免對同一異常的重復記錄。?

·優化系統異常處理:比應用程序異常處理更為復雜,它的發生不受EJB開發者的控制且異常信息不直觀,需要對其原始異常進行包裝,以清楚地表達系統異常的含義。?

·優化Web層設計:通常把異常記錄到Web層本身,則易于實現且代碼簡潔。這要求Web層必須是EJB層的唯一客戶機,且Web層必須建立在業務委派(Business Delegate)、FrontController或攔截過濾器(Intercepting Filter)等模式和Struts或其它類似于MVC的框架基礎上。?

實際應用中,即使采用良好的異常處理策略,但由于編譯器和運行時優化,會限制使用堆棧跟蹤程序跟蹤異常的能力。通常把大的方法調用分割為更小的、更易于管理的塊,并提高代碼復用率;并將異常類型按需要劃分成細粒度的、具體的異常,在捕獲異常時則捕獲已規定好的具體類型的異常,避免捕獲所有類型的異常。?

3.4? EJB異常處理實例?

1:ejbCreate()方法中的FinderException異常處理。其代碼如下:?

public Object ejbCreate(RatepayingOrderValue value) throws CreateException { ?

try { if (value.getItemName() == null) { ?

throw new CreateException("不能創建報稅單!"); } ?

String taxpId = value.getTaxpayerId(); ?

Taxpayer taxp = taxpayerHome.fingByPrimaryKey(taxpId); ?

this.taxpayer = taxp; ?

} catch (FinderException fe) { ?

//作為應用程序異常,還是系統異常??

} catch (RemoteException re) { ?

//這是系統異常,并記錄在日志中。?

throw ExceptionLogUtil.createLoggableEJBException(re); ?

} ?

return null; ?

} ?

例1中報稅單RatepayingOrder實體Bean的ejbCreate()方法試圖獲取納稅人Taxpayer實體Bean的一個遠程引用,可能導致FinderException。此處,盡管可把FinderException當作應用程序異?;蜃飨到y異常,但是若把它當系統異常則更好,因為這可以提高EJB組件對客戶機的透明性。同理,對于會話Bean或者實體Bean試圖創建另一個會話Bean,可能導致的CreateException,或者會話Bean在它的某個容器回調方法中獲得了一個FinderException等,都最好將其作為系統異常。此外,若考慮會話Bean在處理下報稅單時,用戶須具有一個簡歷,若沒有,則會話Bean將觸發ObjectNotFoundException異常,這時最好將其作為應用程序異常拋出,以告知用戶其簡歷丟失。?

例2:logon()方法的InvalidUserDataException應用程序異常處理。其代碼如下:

public void logon(String user, String password) throws InvalidUserDataException

{???? if (user == null || password ==null)

????????????? throw new InvalidUserDataException();

?????? serviceImpl.logon(user, password);

}

以下是應用程序異常類InvalidUserDataException的定義。

public class InvalidUserDataException extends Exception

{? public InvalidUserDataException()

?????? {super(“用戶名或密碼不能為空!”); }

}

4? 結論?

在企業級的大型軟件開發中,嚴謹強大的Java異常處理機制為軟件質量控制提供了有力的技術支持,提高了軟件的可讀性、可維護性、容錯性和開發效率。充分有效的利用Java異常處理機制、采用合適的異常處理策略,是提高EJB中異常處理的性能的有效途徑。?

參考文獻:

[1]? Bruce Eckel. Thinking in Java[M].Beijing: China Machine Press,2000.240-281.?

[2]? 趙化冰,唐英,唐文彬,蘆東昕. Java異常處理[J]. 計算機應用, 2003,12:46-48.?

[3]? 張聰品,趙琛,糜宏斌. 異常處理機制研究[J].計算機應用研究,2005,4:86-89.?

[4]? [美]Chuck Cavaness Brian Keeton著,智慧東方工作室 譯. EJB 2.0企業級應用程序開發[M].北京:機械工業出版社,2002,3.294-310.?

[5]? EJB異常處理的最佳做法. http://www.evget.com/view/article/viewArticle.asp?article=548?

[6]? Log4J框架. http://jakarta.apache.org/log4j/docs/index.html?

[7]? Java Logging API. http://java.sun.com/j2se/1.4/docs/api/java/util/logging/?

package-summary.html?

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产黄色一级大片 | 秋霞成人午夜鲁丝一区二区三区 | 日本男人天堂网 | 中国亲与子乱ay中文 | 国产精品美女www爽爽爽动态图 | 亚洲成人免费观看 | 18禁裸男晨勃露j毛免费观看 | 五月婷婷视频在线观看 | 天堂va在线观看 | 精品一区二区三区免费视频 | 中文国产成人精品久久不卡 | 国产又粗又猛又黄又爽无遮挡 | 肉番在线观看 | 欧洲一级黄色片 | 7777日本精品一区二区三区 | 青椒国产97在线熟女 | 欧美一区二区免费视频 | 高清国产一区二区三区四区五区 | 男女猛烈激情xx00免费视频 | 西西44rtwww国产精品 | 无码国产激情在线观看 | 自拍偷拍精品视频 | 无码精品a∨在线观看中文 亚洲熟妇自偷自拍另欧美 无码少妇a片一区二区三区 | 成人欧美一区二区三区白人 | 特黄三级毛片 | 亚洲自偷自偷在线成人网站传媒 | 在线国产精品视频 | 精品国产97| 中文字幕在线2018 | 国产中文字幕一区 | 国色天香精品一卡2卡3卡 | 人人爽人人爽人人爽人人片av | 国产免费艾彩sm调教视频 | 天堂欧美城网站地址 | 成人wwxx视频免费男女 | 欧美黑人性暴力猛交喷水 | 日韩精彩视频在线观看 | 福利第一页 | 少妇熟女视频一区二区三区 | 亚洲一二三四视频 | www日本高清 | 又大又长又粗又爽又黄少妇视频 | 老司机福利av | 久久综合在线 | av日韩av | 日本免费在线看 | 国产美女一区二区三区在线观看 | 少妇被又大又粗又爽毛片久久黑人 | 久青草影院在线观看国产 | 精品人妻二区中文字幕 | 国产免费拔擦拔擦8x网址 | 3d动漫精品啪啪一区二区下载 | 亚洲tv久久爽久久爽 | 国产在线导航 | 亚洲在线不卡 | 六月丁香激情 | 日本高清视频网站www | 新婚少妇无套内谢国语播放 | 久久久久久久久久网 | 91精品国产综合久久久蜜臀图片 | 蜜桃色一区二区三区 | 综合免费视频 | 精品国产99久久久久久宅男i | 国产午夜伦鲁鲁 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 美女免费看片 | 国产一区二区三区久久久久久久 | 亚洲欧美日韩国产综合精品二区 | 日一本二本三本在线2021 | 亚洲第一无码xxxxxx | 欧美成人久久 | 中文无码日韩欧 | 国产一二三在线视频 | 天天爽夜夜操 | 中国毛片基地 | 国产97在线 | 日韩 | 特级做a爰片毛片免费看无码 | 日韩一区二区中文字幕 | 黑人狂躁日本妞一区二区三区 | 午夜精品久久久久久久久久久 | 国精品无码人妻一区二区三区 | 黄色毛片一级 | 国产女人18毛片 | 久草女人| 香港三级韩国三级日本三级 | 少妇粉嫩小泬喷水视频 | 成人国产精品齐天大性 | 亚洲淫 | 国产高清视频在线免费观看 | 亚洲国产丝袜在线观看 | 大尺度做爰床戏呻吟沙漠 | 久草中文在线观看 | 免费观看一级黄色片 | 亚洲午夜高清 | 台湾佬中文娱乐22vvvv | 正在播放酒店约少妇高潮 | 三个熟睡少妇的按摩中文字幕 | 中文字幕在线观看免费视频 | 午夜乱码爽中文一区二区 | 中文字幕在线有码 | 永久天堂网av手机版 | 久久一区二区三区四区 | 成熟妇人a片免费看网站 | www.色94色.com| 欧美人与动牲交免费观看网 | 成人免费网站视频 | 精品国产一区二区三区噜噜噜 | 人妻少妇被粗大爽9797pw | 免费国产女王调教在线视频 | 欧美 日韩 国产 成人 在线 | 中文无码av一区二区三区 | 欧美黄网在线观看 | 欧美jizzhd精品欧美性24 | 亚洲狠狠丁香婷婷综合久久久 | 日本www色 | 精品一区在线播放 | 中文字幕在线播放视频 | 日韩精品视频免费专区在线播放 | 久久合合| 丝袜人妻一区二区三区 | 欧美疯狂xxxx乱大交 | 免费看国产一级片 | 国产在线精品一区二区在线播放 | 一区二区免费在线播放 | 国产专区在线播放 | 啪啪短视频 | 日韩在线免费视频观看 | 国产模特私拍xxxx | 久久国产精品99久久久久久丝袜 | 久久久精品久久久久久 | 亚洲国产精品无码久久久 | 一区二区在线免费看 | www亚洲精品少妇裸乳一区二区 | 一级特黄高清 | 在线免费播放av | 国产精品久久久久久亚洲伦 | 色综合久久久久久久久久 | а√最新版天堂资源 | 嫩模一区 | 老司机在线精品视频 | 免费观看性欧美大片无片 | 台湾性色hd性色av | 久久久妇女国产精品影视 | 免费a级毛片, | 国产无色aaa| 国产精品美女久久久久av超清 | 成人一区二区三区在线 | 午夜无人区免费网站 | 极品色视频 | 久久11| 国产精品少妇 | 国精产品999永久天美 | 波多野结衣免费在线视频 | 日韩精品一区二区三区中文在线 | 国产一级做a爰片久久毛片男 | 爱情岛论坛亚洲自拍 | 日日摸夜夜添夜夜添特色大片 | 搡老熟女国产 | 爆乳女仆高潮在线观看 | 18分钟处破好疼哭视频在线观看 | 黄色1级毛片 | a天堂一码二码专区 | 狠狠综合久久av一区二区老牛 | 精品欧洲av无码一区二区 | 美女裸体无遮挡免费视频网站 | 高清一区二区三区四区 | 特黄aaaaaaaaa毛片免费视频 | 欧美精品videos | 一本一本久久a久久精品综合麻豆 | 激情视频久久 | 激情在线视频 | 日本少妇aa特黄毛片亚洲 | 欧洲亚洲一区二区三区四区五区 | 99久在线观看 | 国产美女黄网站 | 亚洲精品一区中文字幕乱码 | 勾搭情趣店女老板av | 亚洲网站在线看 | 欧美精品亚洲精品日韩已满十八 | 青青草青娱乐 | 亚欧在线播放 | 欧美国产亚洲日韩在线二区 | 91久久精品www人人做人人爽 | 夜夜骚视频 | 久久久爽爽爽美女图片 | 欧美精品国产动漫 | 人成免费a级毛片 | 成人1啪啪| √天堂资源在线中文8在线最新版 | 天干天干天啪啪夜爽爽av小说 | 命带桃花1987在线 | 夜夜躁很很躁日日躁麻豆 | 一级性感毛片 | 国产精品国产三级国产aⅴ入口 | 色噜噜狠狠一区二区三区 | 污片在线免费看 | 亚洲伊人色综合网站小说 | 国产妇女乱码一区二区三区 | 日本aaaaa女人裸体h片 | 日本a级网站| 少妇特黄a片一区二区三区 精品香蕉一区二区三区 | 久久久久久麻豆 | 亚洲精品成人片在线观看精品字幕 | 暖暖日本在线观看 | 精品无码国产一区二区三区麻豆 | 四虎4hu永久免费网站影院 | 竹菊影视欧美日韩一区二区三区四区五区 | 亚洲精品三区 | 99国产精品| 哪里看毛片 | 午夜黄色在线 | 81国产精品久久久久久久久久 | 欧美特级视频 | 国产露脸对白刺激2022 | 中文字幕一路线二路线三路线 | 99久久这里只有精品 | 亚洲视频国产视频 | 成人羞羞国产免费图片 | 人妻激情文学 | 黑人粗硬进入过程视频 | 91久久久一线二线三线品牌 | 精品国精品国产自在久国产应用 | 少妇高潮一区二区三区 | 日产欧美一区二区三区不上 | 国产精品国产三级国产专区51 | 国产二级片 | 91视频网址入口 | 男女交性全过程免费观看网站 | 性猛交富婆xxxx乱大 | 女同亚洲精品一区二区三 | 国产精品自拍视频 | 国产乱子伦在线观看 | 亚洲成人手机在线 | 中文字幕日韩精品一区 | 成人无码精品1区2区3区免费看 | 天堂视频网站 | 麻豆精品免费视频 | 人人妻人人妻人人人人妻 | 国产嫖妓一区二区三区无码 | 日韩在线不卡免费视频一区 | 国产精品久久久久久久久久久久久久 | 亚洲成av人片一区二区梦乃 | 久久夜色精品国产www红杏 | 精品无码人妻一区二区三区品 | 欧美亚洲日本国产 | 亚洲首页| 美女的屁股眼网站 | 丰满肥臀噗嗤啊x99av | 色偷偷色偷偷色偷偷在线视频 | 按摩18ⅹxxx性高湖 | 日韩欧美无 | 亚洲区小说 | 日本大尺度激情做爰电2022 | 男男野外做爰全过程69 | 性欧美视频 | 国产精品岛国久久久久 | 日本黄频| 国产成人无码一区二区在线观看 | 免费观看性生交大片3区 | 精品久久久久久久无码 | 人人干97 | 白白嫩嫩的美女无套内谢 | 国产偷国产偷精品高清尤物 | 无码人妻少妇伦在线电影 | 欧洲精品久久久 | 少妇又色又爽又刺激视频 | 亚洲综合欧美 | 欧美精品一区二区三区一线天视频 | 香蕉爱视频 | 亚洲va久久久噜噜噜久久 | 亚洲国产二区 | 亚洲天堂视频在线观看 | 一a一片一级一片啪啪 | 欧美精品一区二区三区视频 | 国产妇女乱码一区二区三区 | 特级西西444www大精品视频免费看 | 男人的天堂欧美 | 国产成人精品一区二区三区在线观看 | 极品尤物魔鬼身材啪啪仙踪林 | 日日弄天天弄美女bbbb | 一本色道久久88—综合亚洲精品 | 国产理伦 | 国产女人高潮视频在线观看 | 日韩欧美一中文字暮视频 | 国产综合在线播放 | 日本高清在线观看 | 制服丝袜在线播放 | xvideos亚洲网站入口 | 区一区二视频 | 美国成人av| 男女操操视频 | 日韩岛国片 | 国产综合精品 | 91免费国产 | 好男人影视www | 色翁荡息又大又硬又粗又爽 | 国模私拍一区二区三区 | 免费看欧美中韩毛片影院 | 国产一区二区亚洲 | 国产在线xxx | 欧美一区二区高清视频 | 国产精品一区二区不卡 | av黄在线 | 一本久久精品一区二区 | 成人免费ā片在线观看 | 国产日本免费 | 女女女女女裸体处开bbb | 日本天天操 | 日韩成人精品 | 少妇精品无码一区二区三区 | 日韩一级伦理片 | 欧美96在线 | 欧 | 女人被弄到高潮的免费视频 | 777米奇影院狠狠色 一日本道a高清免费播放 | 国产真实伦对白全集 | 99热中文 | 熟妇人妻中文av无码 | 色综合免费视频 | 天堂网2018 | 天天操天天撸 | 蜜乳av 懂色av 粉嫩av | 熟妇人妻系列aⅴ无码专区友真希 | 久久艹国产精品 | 国产精品久久久久av | 日本美女黄色一级片 | 91久久久久久久久久久久久 | 草草影院在线观看 | 亚洲精品无码不卡 | 在线免费观看视频a | 国产成人tv | av在线播放地址 | 亚洲 自拍 另类小说综合图区 | 成年人的天堂 | 中文字幕一区二区三区四区 | 91好色先生 | 亚洲爱爱av | 乱子轮熟睡1区 | 在线亚州| 91精品国产91久久久久游泳池 | 无码午夜人妻一区二区不卡视频 | 男人边吻奶边挵进去视频 | 国变精品美女久久久久av爽 | 午夜三级在线 | play在线海量a v视频播放 | 日韩欧美一级 | 狠狠色噜噜狠狠狠狠米奇777 | 少妇思春三a级 | 久久国产精品久久精品国产 | 久久精品国产丝袜人妻 | 国产对白叫床清晰在线播放图片 | 亚洲一区在线观看视频 | av资源在线免费观看 | 毛片大全在线播放 | 亚洲精品福利在线观看 | 亚洲小视频在线播放 | 亚洲香蕉av在线一区二区三区 | 亚洲人成色777777精品音频 | 99热久久这里只精品国产www | 欧洲人妻丰满av无码久久不卡 | 国产专区一区 | 亚洲系列中文字幕 | 福利一区二区在线观看 | 免费看一级特黄a大片 | 免费一区在线观看 | 精品黑人一区二区三区久久 | 国产一级激情 | 久久久久久欧美精品se一二三四 | 九色蝌蚪国产 | 色999在线| 中文字幕有码在线播放 | 欧美性折磨bdsm激情另类视频 | 免费观看黄频视 | 哪里可以看免费毛片 | 免费av网址大全 | 日本三级2018 | 波多野结衣久久久久 | 国产精品无码av无码 | 天天干视频在线 | 亚洲国产欧美国产综合一区 | 亚洲哺乳偷拍哺乳偷拍 | 春草| 天堂а在线中文在线新版 | 免费ā片在线观看 | 噜噜视频| 国产精品免费久久久久久久久久中文 | 欧美成在线 | v天堂中文在线 | 中文字幕无码人妻aaa片 | 久久中文综合 | 日本黄a三级三级三级 | 特黄aaaaaaaaa真人毛片 | 白嫩初高中害羞小美女 | 制服 丝袜 综合 日韩 欧美 | 中文字幕乱码一二三区 | 国产精品免费在线 | 成年人免费在线观看 | 激情六月天 | 黄a大片av永久免费 亚洲欧美高清一区二区三区 | 男人用嘴添女人下身免费视频 | 成人瑟瑟 | 秋霞在线观看视频 | 国产精品二区一区二区aⅴ 国产精品粉嫩懂色av | 国产一区二区三区av在线无码观看 | 无码国产精品一区二区色情男同 | 性福宝av | 精品久久久久久久久久久 | 色综合啪啪 | 无码aⅴ在线观看 | 久久久久久久久久99精品 | 天天综合网天天综合 | 国产高潮又爽又刺激的视频免费 | 久久久久久久一区二区 | 18女人毛片 | 精品无码三级在线观看视频 | 青青青草视频在线 | 日日射夜夜操 | 精品久久久久国产免费 | 午夜精品福利一区二区 | 久久久精品欧美一区二区 | 亚洲精品成人av在线观看爽翻天 | 91亚洲精品在线观看 | 在线视频观看免费视频18 | 干欧美 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 欧美色图一区二区 | 日日干狠狠干 | 亚洲加勒比久久88色综合 | 国产午夜精品无码一区二区 | 久久综合伊人77777麻豆最新章节 | 日韩在线高清 | 日韩精品视频一区二区三区 | 久久午夜场 | 在线国产欧美 | 欧美91精品久久久久国产性生爱 | 日本牲交大片无遮挡 | 欧美日韩精品一区二区三区在线 | 中文字幕一二三 | 日本亚洲精品一区二区三 | 免费视频欧美无人区码 | 亚洲第一免费网站 | 无码av大香线蕉 | 99热免费| 欧美精品极品 | 亚洲精品久久久狠狠爱小说 | 欧美日韩制服 | 91丨porny丨中文 | 久久久亚洲精品视频 | 我想看一级黄色毛片 | 亚洲在线免费 | 亚洲另类伦春色综合图片 | 日韩av无码中文字幕 | av老司机在线播放 | 大尺度做爰呻吟舌吻网站 | 国产乱人伦偷精品视频 | 中文国语毛片高清视频 | 国产精品福利一区二区 | 富婆找两个黑人3p在线视频 | 日韩精品无码中文字幕一区二区 | 超碰免费看| 日韩成人av网站 | 国产99免费视频 | 国产91视频播放 | 亚洲伊人久久大香线蕉综合图片 | 性色蜜桃臀x66av| 国产成人一区二区三区在线观看 | ts 人妖 另类 在线 | 挺进邻居丰满少妇的身体 | 日日射夜夜操 | 少妇太爽了太深了太硬了 | 亚洲人视频在线 | 中出内射颜射骚妇 | 秦大爷的性生生活1一7 | 在线观看中文字幕第一页 | 黑丝国产在线 | 少妇做爰xxxⅹ性视频 | 在线亚州 | 久久草在线视频播放 | 久久社区视频 | 国产精品久久久久久久久久大牛 | 99久久国产露脸国语对白 | 色小姐av| 国产美女无遮挡永久免费 | 国产91玉足脚交在线播放 | 午夜av大片 | 91精品国产视频 | 日本裸体精油4按摩做爰 | 久久精品中文字幕无码绿巨人 | 成人在线视频一区 | 酒店大战丝袜高跟鞋人妻 | 国产喂奶挤奶一区二区三区 | 97国产精品久久久 | 久久妇女高潮喷水多 | 91在线观看视频网站 | 亚洲黄色网址大全 | 免费av网站在线观看 | 四虎网站在线播放 | 黄色精品在线 | 精品自拍视频在线观看 | 最新中文字幕在线观看视频 | 在线观看免费黄色小视频 | 免费成人深夜夜行网站视频 | 国产精品第9页 | 98涩涩国产露脸精品国产网 | 第一毛片 | 大学生精油按摩做爰hd | 日本精品三级 | 精二青青河边草解释正确的是 | 国产黄色录像片 | 922tv免费观看在线 | 国产无遮挡吃胸膜奶免费看 | 风流少妇又紧又爽又丰满 | 电影久久久久久 | 高h禁伦肉伦np双龙 高h捆绑拘束调教小说 | 国产乱码精品一区二区三区四川人 | 香蕉在线播放 | 视频在线观看网站免费 | 在线精品亚洲欧美日韩国产 | 免费人成网站在线观看欧美高清 | 激情综合图| 和粗大男人做爰过程 | 又色又爽无遮挡免费视频男男 | 日本欧美在线视频 | 久久久妇女国产精品影视 | 免费成人深夜夜行网站视频 | 啦啦啦中文在线观看日本 | 亚洲视频在线免费播放 | 久久不见久久见免费影院www日本 | 久久精品波多野结衣 | 国产欧美a | 精品视频9999 | 欧美一卡二卡三卡四卡视频区 | 国产一级一级一级 | 高潮流白浆潮喷在线播放视频 | 性欧美videos做受 | 青草国产精品久久久久久 | www日韩avcom| 黄色软件链接 | 超碰人人在线观看 | 性色av一区二区咪爱 | 国产毛片毛片 | 国产无套粉嫩白浆内谢在线 | 葵司有码中文字幕二三区 | 国产精品sm调教免费专区 | 少妇超碰 | 亚洲国产精品999久久久婷婷 | 一级全黄少妇性色生活片 | 国偷自产av一区二区三区 | 丰满妇女毛茸茸刮毛 | 中国黄色录像 | 91精品国产人妻国产毛片在线 | 无码ol丝袜高跟秘书在线观看 | 国产四区视频 | 国产亚洲二区 | 日韩欧美一区二区三区免费观看 | 亚洲国产一区二区三区 | 色哟哟网站在线观看 | 日韩爱爱网 | 东京无码熟妇人妻av在线网址 | 精品视频麻豆入口 | 毛片一区二区三区 | 日本在线三级 | 久久久久久久久久久久久女过产乱 | 蜜臀aⅴ精品一区二区三区 蜜臀aⅴ一区二区三区 | 欧美日韩一区二区三区四区在线观看 | www射| 深夜视频在线观看免费 | 大陆一级a毛片杨玉环 | 国产又黄又猛又粗又爽的 | 18禁免费无码无遮挡不卡网站 | 成人免费看黄yyy456 | 岬奈奈美精品一区二区 | 91久久北条麻妃一区二区三区 | 欧美日韩一区二区在线视频 | 欧美黑人精品一区二区不卡 | 7777精品伊人久久久大香线蕉 | 亚洲成av人综合在线观看 | 91亚洲精品久久久蜜桃借种 | 欧美第一页浮力影院 | 在线视频毛片 | 天天操中文字幕 | 男女免费视频网站 | 大桥未久av一区二区三区中文 | 单亲陪读乱淫口述 | 丁香久久性网 | 欧美国产成人精品 | 岛国精品在线播放 | 99精品免费久久久久久久久日本 | 日本一卡二卡不卡视频查询 | 小sao货水好多真紧h视频, | 艳妇臀荡乳欲伦69调教视频 | 亚洲欧美日韩国产手机在线 | 伊人久久网站 | 97免费人妻在线视频 | 大胸喷奶水www视频妖精网站 | 青青青手机视频在线观看 | 精品白嫩初高中害羞小美女 | 亚洲中字幕 | 国产成人无码av在线影院 | 日本青青草视频 | 张柏芝hd一区二区 | 四虎综合网 | 天堂а√在线中文在线 | 成人nv在线观看 | 国产又粗又硬又大爽黄老大爷视 | 国产igao为爱做激情国外 | 高潮毛片又色又爽免费 | av 高清 尿 小便 嘘嘘 | 久久久久女人 | 久久久久国产a免费观看rela | 亚洲自拍中文字幕 | 疯狂做受xxxx高潮视频免费 | 小12萝8禁在线喷水观看 | 精品少妇人妻av免费久久洗澡 | 国产精品视频免费在线观看 | 在线观看欧美日韩 |