struts和ajax.doc_第1頁(yè)
struts和ajax.doc_第2頁(yè)
struts和ajax.doc_第3頁(yè)
struts和ajax.doc_第4頁(yè)
struts和ajax.doc_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一、struts1、MVC(Struts的MVC實(shí)現(xiàn)) Struts的目標(biāo)是希望分離Web程序的表示層、控制層和業(yè)務(wù)邏輯層。 Struts提供了自己的控制器組件,并融合許多先進(jìn)的技術(shù)來(lái)提供后臺(tái)模型與前端視圖。 對(duì)后臺(tái)來(lái)說(shuō),Struts可以與JDBC技術(shù)和EJB技術(shù)集成,或者與一些優(yōu)秀的第三方軟件包交互,如Hibernate;在視圖方面,Struts使用了JSP技術(shù),并可將標(biāo)記庫(kù)技術(shù)、JSP技術(shù)、Velocity模板、XSLT技術(shù)等同時(shí)用于表示層。2、Struts的核心包Action、actionForm、actionMapping、actionServlet、actionForward.3、 Action 定義多個(gè)Action類,用于處理客戶端請(qǐng)求。定義的Action組件類為org.apache.struts.action.Action子類類型, 控制器調(diào)用該類的execute()方法以處理不同的頁(yè)面請(qǐng)求 。org.apache.struts.action.Action類是Struts的心臟,也是客戶請(qǐng)求和業(yè)務(wù)操作間的橋梁。每個(gè)Action類通常設(shè)計(jì)為代替客戶完成某種操作。Struts框架只會(huì)為每個(gè)Action類創(chuàng)建一個(gè)Action實(shí)例。所有客戶請(qǐng)求共享同一個(gè)Action實(shí)例,并且所有請(qǐng)求線程可以同時(shí)執(zhí)行它的execute()方法。在多個(gè)線程同時(shí)使用Action對(duì)象的時(shí)候,要注意數(shù)據(jù)的線程安全。4、 ActionMappingActionMapping是用來(lái)封裝struts-config.xml文件中標(biāo)記的配置信息 。5、 ActionForm定義ActionForm組件類需要繼承ActionForm 父類使用請(qǐng)求表單參數(shù)自動(dòng)填充該ActionForm對(duì)象,并在不同的頁(yè)面間傳遞這些數(shù)據(jù)。 需在struts-config.xml中配置元素,每一個(gè)FormBean要對(duì)應(yīng)一個(gè)子元素。validate()方法validate方法的作用是驗(yàn)證客戶輸入的數(shù)據(jù)是否符合條件 。reset()方法reset方法中可以對(duì)屬性做重置,可以在這個(gè)方法中恢復(fù)各個(gè)屬性的默認(rèn)值。 6、 Struts配置文件Struts配置文件struts-config.xml可以說(shuō)是整個(gè)Struts應(yīng)用程序的樞紐。Struts應(yīng)用的各個(gè)組件及其關(guān)系均在該文件中聲明。該文件主要包含、等元素,用以對(duì)ActionForm、Action等對(duì)象進(jìn)行聲明。7、 標(biāo)簽庫(kù)Struts框架提供了6個(gè)核心的標(biāo)記庫(kù),供應(yīng)用程序使用。每個(gè)標(biāo)記庫(kù)各有不同的用途,可以單獨(dú)使用,也可以互相搭配使用。Struts提供的自定義標(biāo)記庫(kù)主要分成以下幾類:l HTML標(biāo)記:用來(lái)生成HTML標(biāo)記,在表單中顯示數(shù)據(jù),使用會(huì)話ID對(duì)URL進(jìn)行編程;l Bean標(biāo)記:用來(lái)在JSP頁(yè)中管理Bean;l Logic標(biāo)記:用來(lái)在JSP中控制流程;l Nested標(biāo)記:繼承于基本的Struts標(biāo)記,在不改變?cè)瓨?biāo)記邏輯的情況下能以一種嵌套的方式是它們相互關(guān)聯(lián);l Template標(biāo)記:使用動(dòng)態(tài)模板構(gòu)造普通格式的頁(yè);l Tiles標(biāo)記:利用JSP的“include”特性把不同組件組裝成表示層頁(yè)面,每一個(gè)這樣的組件(Tile)可以在整個(gè)應(yīng)用程序中復(fù)用。8、 屬性文件 當(dāng)對(duì)一個(gè)應(yīng)用程序進(jìn)行國(guó)際化處理時(shí),所要用的各種語(yǔ)言版本的“標(biāo)簽”信息應(yīng)該存放在不同的屬性文件中,每一個(gè)這樣的文件對(duì)應(yīng)一種語(yǔ)言的版本。所有屬性文件合在一起被稱為資源包(Resource Bundle)。屬性文件的命名格式: 1、文件名前綴.properties 2、文件名前綴_語(yǔ)言種類.properties9、 Struts的運(yùn)行流程10、 Validate方法驗(yàn)證的實(shí)現(xiàn)已配置的方式來(lái)驗(yàn)證表單數(shù)據(jù)。不需要編寫代碼 。 提高了數(shù)據(jù)驗(yàn)證的靈活性和可重用性。并且它克服了使用編程方式進(jìn)行參數(shù)驗(yàn)證的局限性。 Validator框架中使用的核心組件包有兩個(gè),分別是: 1、jakarta-oro.jar 該包提供了一些處理文本的功能類 2、commons-validator.jar 該包提供了驗(yàn)證框架的核心類,包含了通用的驗(yàn)證方法和驗(yàn)證規(guī)則。默認(rèn)情況下Validator驗(yàn)證框架自帶了一個(gè)validator-rules.xml配置文件,文件中定義了一組通用的驗(yàn)證規(guī)則 。validation.xml配置文件是需要開發(fā)人員編寫的。在validation.xml配置文件中,定義了對(duì)客戶輸入?yún)?shù)的驗(yàn)證方式。11、 國(guó)際化的支持國(guó)際化(Internationalization)又稱為I18N 。一個(gè)支持國(guó)際化的應(yīng)用程序應(yīng)該具有以下特征: 、不需要改變代碼就可以實(shí)現(xiàn)支持添加的語(yǔ)言。 、文本元素、消息元素以及圖像都要從代碼中脫離出來(lái),存儲(chǔ)在代碼外部。、文化相關(guān)的數(shù)據(jù),如:時(shí)間、貨幣。都應(yīng)該根據(jù)用戶所在的地理位置及語(yǔ)言環(huán)境進(jìn)行格式化。、支持非標(biāo)準(zhǔn)的字符集。、能夠快速適應(yīng)新的語(yǔ)言或地區(qū)。本地化(Localization)通過(guò)添加特定組件和翻譯來(lái)使軟件適用于特定的場(chǎng)所和語(yǔ)言的過(guò)程。Localization可以縮寫為L(zhǎng)10N。Struts框架對(duì)國(guó)際化的支持其實(shí)是依賴于 Java語(yǔ)言本身對(duì)國(guó)際化的支持。在Java 中可以通過(guò)使用3個(gè)關(guān)鍵的類來(lái)實(shí)現(xiàn)對(duì)國(guó)際化的支持 。 java.util.Locale, java.util.ResourceBundlejava.text.MessageFormatStruts已經(jīng)將國(guó)際化的實(shí)現(xiàn)封裝在框架中。在Struts框架中實(shí)現(xiàn)國(guó)際化,需要做以下工作:針對(duì)不同的語(yǔ)言編寫資源文件。使用資源文件夾。二、hibernate1、數(shù)據(jù)訪問(wèn)層數(shù)據(jù)訪問(wèn)模式 業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)耦合 ORM模式:在單個(gè)組件中負(fù)責(zé)所有實(shí)體域?qū)ο蟮某志没?,封裝數(shù)據(jù)訪問(wèn)細(xì)節(jié)。 主動(dòng)域?qū)ο竽J剑河蓪?shí)體域?qū)ο蟊旧碡?fù)責(zé)管理自己的持久化 JDO模式: SUN公司制定的描述對(duì)象持久化語(yǔ)義的標(biāo)準(zhǔn)API CMP模式:由容器負(fù)責(zé)管理持久化2、 ORM對(duì)象關(guān)系映射(Object/Relational Mapping) ORM模式:在單個(gè)組件中負(fù)責(zé)所有實(shí)體域?qū)ο蟮某志没?,封裝數(shù)據(jù)訪問(wèn)細(xì)節(jié)。 ORM解決的主要問(wèn)題就是對(duì)象-關(guān)系的映射。域模型和關(guān)系模型都分別建立在概念模型的基礎(chǔ)上。域模型是面向?qū)ο蟮?,而關(guān)系數(shù)據(jù)模型是面向關(guān)系的.一般情況下,一個(gè)持久化類和一個(gè)表對(duì)應(yīng),類的每個(gè)實(shí)例對(duì)應(yīng)表中的一條記錄。域模型與關(guān)系模型之間存在許多不匹配之處。3、 Hibernate的概念 Hibernate是ORM的解決方案,簡(jiǎn)單地說(shuō)就是將Java對(duì)象與對(duì)象關(guān)系映射至關(guān)系型數(shù)據(jù)庫(kù)中的表格與表格之間的關(guān)系,Hibernate提供了這個(gè)過(guò)程中自動(dòng)對(duì)應(yīng)轉(zhuǎn)換的方案。Hibernate是Java應(yīng)用和關(guān)系數(shù)據(jù)庫(kù)之間的橋梁,它負(fù)責(zé)Java對(duì)象和關(guān)系數(shù)據(jù)之間的映射。Hibernate內(nèi)部封裝了通過(guò)JDBC訪問(wèn)數(shù)據(jù)庫(kù)的操作,向上層應(yīng)用提供了面向?qū)ο蟮臄?shù)據(jù)訪問(wèn)API。在基于MVC設(shè)計(jì)模式的Java Web應(yīng)用中,Hibernate可以作為應(yīng)用的數(shù)據(jù)訪問(wèn)層。4、 級(jí)聯(lián)關(guān)系數(shù)據(jù)對(duì)象之間關(guān)聯(lián)關(guān)系有一對(duì)一、一對(duì)多、及多對(duì)多關(guān)聯(lián)關(guān)系。5、 會(huì)話工廠Session是應(yīng)用程序與數(shù)據(jù)庫(kù)之間的一個(gè)會(huì)話。SessionFactory接口是產(chǎn)生Session實(shí)例的工廠。6、 事務(wù)(P202) 事務(wù)(Transaction)是工作中的基本邏輯單位,可以用于確保數(shù)據(jù)庫(kù)能夠被正確修改,避免數(shù)據(jù)只修改了一部分而導(dǎo)致數(shù)據(jù)不完整,或者在修改時(shí)受到用戶干擾。數(shù)據(jù)庫(kù)向用戶提供保存當(dāng)前程序狀態(tài)的方法,叫事務(wù)提交(commit)。當(dāng)事務(wù)執(zhí)行過(guò)程中,是數(shù)據(jù)庫(kù)忽略當(dāng)前的狀態(tài)并回到前面保存的狀態(tài)的方法叫事務(wù)回滾(rollback)。事務(wù)的特性:l 原子性l 一致性l 隔離性l 持久性事務(wù)隔離意味著對(duì)于某一個(gè)正在運(yùn)行的事務(wù)來(lái)說(shuō),好像系統(tǒng)中只有這一個(gè)事務(wù),其他并發(fā)的事務(wù)都不存在一樣。在大部分情況下,很少使用完全隔離的事務(wù)。但不完全隔離的事務(wù)會(huì)帶來(lái)一些問(wèn)題:l 更新丟失(Lost Update)l 臟數(shù)據(jù)(Dirty Read)l 不可重讀(Unrepeatable Read)l 幻讀(Phantom Read)l 讀操作未提交(Read Uncommitted)l 讀操作已提交(Read Committed)l 可重讀(Repeatable Read)l 可串行化(Serializable)7、 Session接口,提供的方法(P171)Session是應(yīng)用程序與數(shù)據(jù)庫(kù)之間的一個(gè)會(huì)話,是Hibernate運(yùn)作的中心,持久層操作的基礎(chǔ),相當(dāng)于JDBC中的Connection。對(duì)象的生命周期、事務(wù)的管理、數(shù)據(jù)庫(kù)的存取都與Session息息相關(guān)。一個(gè)持久化類(PO)從定義上與普通的JavaBean類沒(méi)有任何區(qū)別,但是它與Session關(guān)聯(lián)起來(lái)后,就具有了持久化的能力。當(dāng)然,這種持久化操作是受Session控制的,即通過(guò)Session對(duì)象裝載、保存、創(chuàng)建或查詢持久化對(duì)象(PO)。Session類有save()、delete()、update()、load()等方法,來(lái)分別完成對(duì)持久化對(duì)象的保存、刪除、修改、加載等操作。Session類的方法的用途:l 取得持久化對(duì)象:get()和load()等方法。l 持久化對(duì)象的保存、更新和刪除:save()、update()、saveOrUpdate()和delete()等方法。l createQuery()方法:用來(lái)從Session生成Query對(duì)象。l beginTransaction()方法:用來(lái)從Session生成Transaction對(duì)象。l 管理Session的方法:isOpen()、flush()、clear()、evict()、close()等方法,其中isOpen()方法用來(lái)檢查Session是否仍然打開;flush()方法用來(lái)清理Session緩存,并把緩存中SQL語(yǔ)句發(fā)送出去;clear()方法用來(lái)清除Session中的所有緩存對(duì)象;evict()方法用于清除Session緩存中的某個(gè)對(duì)象;close()方法用來(lái)關(guān)閉Session。8、 持久化對(duì)象在Hibernate的應(yīng)用中,一個(gè)數(shù)據(jù)表對(duì)應(yīng)一個(gè)持久化對(duì)象(PO,Persistent Object)。PO實(shí)際上就是一個(gè)普通JavaBean,只不過(guò)定義時(shí)需要遵循一定的規(guī)則。定義PO要遵循四個(gè)規(guī)則:1) 未持久化字段聲明訪問(wèn)器(accessors)和是否可變的標(biāo)志(mutators)2) 實(shí)現(xiàn)一個(gè)默認(rèn)的(即無(wú)參數(shù)的)構(gòu)造方法(constructor)3) 提供一個(gè)標(biāo)識(shí)符屬性(identifier property)(可選)4) 使用非final的類(可選) 創(chuàng)建持久化類Customer A、持久化類符合JavaBean的規(guī)范,包含一些屬性,以及與之對(duì)應(yīng)的getXXX()和setXXX()方法。 B、持久化類有一個(gè)id屬性,用來(lái)惟一標(biāo)識(shí)Customer類的每個(gè)對(duì)象。在面向?qū)ο笮g(shù)語(yǔ)中,這個(gè)id屬性被稱為對(duì)象標(biāo)識(shí)符(OID,ObjectIdentifier),通常它都用整數(shù)表示 C、Hibernate要求持久化類必須提供一個(gè)不帶參數(shù)的默認(rèn)構(gòu)造方法 9、 檢索策略l 立即檢索策略運(yùn)行Session的find()方法默認(rèn)的立即檢索策略的缺點(diǎn) 1、select語(yǔ)句的數(shù)目太多,需要頻繁的訪問(wèn)數(shù)據(jù)庫(kù),會(huì)影響檢索性能。如果需要查詢n個(gè)Customer對(duì)象,那么必須執(zhí)行n+1次select查詢語(yǔ)句。這種檢索策略沒(méi)有利用SQL的連接查詢功能,例如以上5條select語(yǔ)句完全可以通過(guò)以下1條select語(yǔ)句來(lái)完成: select * from CUSTOMERS left outer join ORDERS on CUSTOMERS.ID=ORDERS.CUSTOMER_ID 2、以上select語(yǔ)句使用了SQL的左外連接查詢功能,能夠在一條select語(yǔ)句中查詢出CUSTOMERS表的所有記錄,以及匹配的ORDERS表的記錄。 3、在應(yīng)用邏輯只需要訪問(wèn)Customer對(duì)象,而不需要訪問(wèn)Order對(duì)象的場(chǎng)合,加載Order對(duì)象完全是多余的操作,這些多余的Order對(duì)象白白浪費(fèi)了許多內(nèi)存空間。l 延遲檢索策略在一對(duì)多關(guān)聯(lián)級(jí)別使用延遲檢索策略1、對(duì)于元素,應(yīng)該優(yōu)先考慮使用延遲檢索策略:2、此時(shí)運(yùn)行:Customer customer=(Customer)session.get(Customer.class,new Long(1);3、僅立即檢索Customer對(duì)象,執(zhí)行以下select語(yǔ)句:select * from CUSTOMERS where ID=1;優(yōu)點(diǎn)由應(yīng)用程序決定需要加載哪些對(duì)象,可以避免執(zhí)行多余的select語(yǔ)句,以及避免加載應(yīng)用程序不需要訪問(wèn)的對(duì)象。因此能提高檢索性能,并且能節(jié)省內(nèi)存空間。缺點(diǎn)應(yīng)用程序如果希望訪問(wèn)游離狀態(tài)的代理類實(shí)例,必須保證它在持久化狀態(tài)時(shí)已經(jīng)被初始化。適用范圍一對(duì)多或者多對(duì)多關(guān)聯(lián)。應(yīng)用程序不需要立即訪問(wèn)或者根本不會(huì)訪問(wèn)的對(duì)象。l 迫切左外連接檢索策略在多對(duì)一關(guān)聯(lián)級(jí)別使用迫切左外連接檢索策略默認(rèn)情況下,多對(duì)一關(guān)聯(lián)使用迫切左外連接檢索策略。如果把Order.hbm.xml文件的元素的outer-join屬性設(shè)為true,總是使用迫切左外連接檢索策略。對(duì)于以下程序代碼:Order order=(Order)session.get(Order.class,new Long(1);在運(yùn)行session.get()方法時(shí),Hibernate執(zhí)行以下select語(yǔ)句:Select * from ORDERS left outer join CUSTOMERS on ORDERS.CUSTOMER_ID=CUSTOMERS.ID where ORDERS.ID=1優(yōu)點(diǎn)1對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便的從一個(gè)對(duì)象導(dǎo)航到與它關(guān)聯(lián)的對(duì)象。 2使用了外連接,select語(yǔ)句數(shù)目少。缺點(diǎn)1可能會(huì)加載應(yīng)用程序不需要訪問(wèn)的對(duì)象,白白浪費(fèi)許多內(nèi)存空間。 2復(fù)雜的數(shù)據(jù)庫(kù)表連接也會(huì)影響檢索性能。適用范圍1多對(duì)一或者一對(duì)一關(guān)聯(lián)。2應(yīng)用程序需要立即訪問(wèn)的對(duì)象。3數(shù)據(jù)庫(kù)系統(tǒng)具有良好的表連接性能10、 Hibernate的配置文件的屬性和包含的內(nèi)容在Java應(yīng)用中使用Hibernate的步驟1、創(chuàng)建Hibernate的配置文件2、創(chuàng)建持久化類3、創(chuàng)建對(duì)象-關(guān)系映射文件4、通過(guò)Hibernate API編寫訪問(wèn)數(shù)據(jù)庫(kù)的代碼Hibernate的配置文件(perties)hibernate.dialect=net.sf.hibernate.dialect.MySQLDialecthibernate.connection.driver_class=com.mysql.jdbc.Driverhibernate.connection.url=jdbc:mysql:/localhost:3306/SAMPLEDBhibernate.connection.username=roothibernate.connection.password=1234hibernate.show_sql=true11、 數(shù)據(jù)查詢的方法a. Criteria Query Criteria Query通過(guò)面向?qū)ο蠡脑O(shè)計(jì),將數(shù)據(jù)查詢條件封裝為一個(gè)對(duì)象。 Criteria Query可以看作是傳統(tǒng)SQL的對(duì)象化表示,如: Criteria criteria = session.createCriteria(TUser.class); criteria.add(Expression.eq(name,Erica);criteria.add(Expression.eq(sex,new Integer(1);實(shí)際上是SQL “Select * from t_user wherename=Erica and sex=1”Criteria 本身只是一個(gè)查詢?nèi)萜?,具體的查詢條件需要通過(guò)Criteria.add方法添加到Criteria實(shí)例中。Expression 對(duì)象具體描述了查詢條件。Expression.eq對(duì)應(yīng)SQL“field = value”表達(dá)式。如Expression.eq(name,Erica)Expression.allEq參數(shù)為一個(gè)Map對(duì)象,其中包含了多個(gè)屬性值對(duì)應(yīng)關(guān)系。相當(dāng)于多個(gè)Expression.eq關(guān)系的疊加。Expression.gt對(duì)應(yīng)SQL中的 “field value ” 表達(dá)式Expression.ge對(duì)應(yīng)SQL中的 “field = value” 表達(dá)式Expression.lt對(duì)應(yīng)SQL中的 “field value” 表達(dá)式Expression.le對(duì)應(yīng)SQL中的 “field field”Expression.geProperty用于比較兩個(gè)屬性之間的值,對(duì)應(yīng)SQL中的“field= field”Expression.ltProperty用于比較兩個(gè)屬性之間的值,對(duì)應(yīng)SQL中的“field field”Expression.leProperty用于比較兩個(gè)屬性之間的值,對(duì)應(yīng)SQL中的“field=, =, , !=, like 邏輯操作 and, or, not 字符串連接 | SQL標(biāo)量( scalar)函數(shù),例如 upper() 和 lower() 沒(méi)有前綴的 ( )表示分組 in, between, is null order by 子句 查詢返回的列表可以按照任何返回的類或者組件的屬性排序:from eg.DomesticCat cat order by asc, cat.weight desc, cat.birthdate group by 子句 having子句select cat.color, sum(cat.weight), count(cat) from eg.Cat cat group by cat.color having cat.color10子查詢對(duì)于支持子查詢的數(shù)據(jù)庫(kù), Hibernate支持在查詢中嵌套子查詢。子查詢必須由圓括號(hào)包圍(常常是在一個(gè)SQL統(tǒng)計(jì)函數(shù)中)。 也允許關(guān)聯(lián)子查詢(在外部查詢中作為一個(gè)別名出現(xiàn)的子查詢)。c. SQL查詢Hibernate 也提供了對(duì)原生SQL以及存儲(chǔ)過(guò)程(Hibernate3)的支持,是對(duì) Criteria和HQL的補(bǔ)充使用Session.createSQLQuery() :傳遞給createSQLQuery(1,2,3)的三個(gè)參數(shù)是: 1.SQL查詢語(yǔ)句 2.表的別名 3.查詢返回的持久化類 例Query sqlQuery = sess.createSQLQuery(select cat.* from cats cat, cat, Cat.class); sqlQuery.setMaxResults(50);List cats = sqlQuery.list(); 為SQL查詢命名可以在映射文檔中定義SQL查詢的名字,然后就可以像調(diào)用一個(gè)命名HQL查詢一樣直接調(diào)用命名SQL查詢。 SELECT person.NAME AS , person.AGE AS person.age, person.SEX AS person.sex FROM PERSON person WHERE person.NAME LIKE Hiber% List people = sess.getNamedQuery(mySqlQuery) .setMaxResults(50) .list(); 三、Ajax1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論