freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

中南大學(xué)軟件學(xué)院軟件工程基礎(chǔ)復(fù)習(xí)大全(編輯修改稿)

2024-11-04 17:05 本頁面
 

【文章內(nèi)容簡介】 、降低維護(hù)成本。ll Struts1的缺陷:Formbean與ActionServlet有關(guān)、控制器無法脫web、不能做單元測試 Struts2的大致工作流程可描述為: 瀏覽器發(fā)送請求。Control中的核心控制器FilterDispatcher根據(jù)請求調(diào)用相應(yīng)的業(yè)務(wù)邏輯控制器(Action)。WebWork的攔截器鏈自動對請求應(yīng)用通用功能,如數(shù)據(jù)校驗和文件上傳等功能?;卣{(diào)Action中的execute()方法,并在方法體內(nèi)調(diào)用業(yè)務(wù)邏輯組件來處理請求(Model)。execute()方法將調(diào)用業(yè)務(wù)邏輯組件(Model)得到的數(shù)據(jù)返還并更新視圖層(View)。l Struts2應(yīng)用的開發(fā)步驟:第一步:;第二步:如果需要以POST方式提交請求,則定義包含表單數(shù)據(jù)的JSP頁面。如果僅僅是以GET方式發(fā)送請求,則無須經(jīng)過這一步;第三步:定義處理用戶請求的Action類;第四步:;第五步:;第六步: 2的配置文件: :Web部署描述符,包括所有必需的框架組件。:主要的配置文件,包含result映射、action映射、攔截器配置等。:Struts 2的屬性配置。:Struts 2的默認(rèn)配置文件。:Struts 2框架的插件所用的配置文件。Action映射:將一個請求URI映射到一個action類。name action的名字,用于匹配請求URI。Class Action實現(xiàn)類的完整類名。method 執(zhí)行Acition時調(diào)用的方法。Converther 應(yīng)用于action的類型轉(zhuǎn)換器的完整類名。Result映射 daspatcher 轉(zhuǎn)發(fā)。Redirect 重定向到另外的URL。redirectAction 重定向到另外的Action。chain 用于Action的鏈?zhǔn)教幚?。plainText 用于顯示某些特定頁面的原始內(nèi)容。Xslt 用于顯示XML的內(nèi)容。l 輸入校驗:輸入校驗的內(nèi)容一般包括驗證輸入數(shù)據(jù)的有效性和驗證失敗后向用戶提供錯誤信息兩部分。輸入驗證的方式可分為客戶端驗證和服務(wù)器端驗證。手動驗證:。validateXxx即可由框架在業(yè)務(wù)代碼執(zhí)行前自動被調(diào)用。如果多個方法調(diào)用同一段驗證代碼,則可以將驗證代碼編寫在名為validate的方法中即可。內(nèi)置驗證框架:通過在外部配置文件中定義驗證規(guī)則的方式來簡化對輸入數(shù)據(jù)的驗證,驗證框架通過validator攔截器來調(diào)用,通過讀取驗證文件中的驗證規(guī)則對輸入數(shù)據(jù)進(jìn)行驗證。ClassName表示實際的Action類名。其中,驗證器還分為普通驗證器和字段驗證器。自定義驗證器(以實現(xiàn)驗證碼功能為例):,用于產(chǎn)生驗證碼圖像。,用于輸出驗證碼。,添加驗證碼屬性。,添加驗證碼輸入框。 。l 類型轉(zhuǎn)換::在Http協(xié)議中,瀏覽器(客戶端)和服務(wù)器端的傳輸都是字符串形式的數(shù)據(jù),但在服務(wù)端的java程序中數(shù)據(jù)是有各種類型的,所以類型轉(zhuǎn)換是不可避免的。(1)使用合法的OGNL表達(dá)式命名表單元素時,Struts2就會自動的進(jìn)行類型轉(zhuǎn)換。(2)Struts2提供基本的類型轉(zhuǎn)換功能。String—int,long,double,boolean,char,date,array,collection(3)Struts2對集合類型的轉(zhuǎn)換提供了很好的支持。(4)當(dāng)Struts2提供的內(nèi)置類型轉(zhuǎn)換器不能滿足應(yīng)用需求時,還可以編寫自己的類型轉(zhuǎn)換器。l 什么是AOP?面向切面編程(也叫面向方面),可以通過預(yù)編譯方式和運行期動態(tài)代理實現(xiàn)在不修改源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術(shù)。為什么需要AOP?AOP可以說是OOP的補充和完善。OOP引入封裝、繼承和多態(tài)性等概念來建立一種對象層次結(jié)構(gòu),用以模擬公共行為的一個集合。然而OOP在某些場合無能為力,比如當(dāng)需要分散的、不具有繼承層次的對象引入公共行為的時候,OOP則無法避免代碼的重復(fù)。抽象的說,OOP允許定義從上倒下的關(guān)系,但并不適合定義從左到右的關(guān)系。具體而言,比如安全驗證和記錄日志功能,這類代碼往往平均的分散在所有對象層次中,而與它所散步到的對象的核心功能毫無關(guān)系。Spring AOP采用純java實現(xiàn),無須特別編譯。不僅提供AOP基礎(chǔ)框架,還提供很多現(xiàn)成的切面實現(xiàn)。Spring AOP和Spring IoC容器無縫的集成,AOP組件享受Spring提供的一切優(yōu)勢,比如可將攔截器、切入點都當(dāng)做Spring Bean來管理。l AOP的一些概念:關(guān)注點:一個關(guān)注點可以是一個特定的問題、概念、或是應(yīng)用程序一個關(guān)注點可以被識別為核心關(guān)注點或橫切關(guān)注點。核心關(guān)注點:完成核心業(yè)務(wù)邏輯的關(guān)注點。橫切關(guān)注點:在AOP中,將那些具有公共邏輯、與其他模塊的核心邏輯糾纏在一起的行為稱為“橫切關(guān)注點”,它不是給定編程模型的核心職責(zé)。比如:身份驗證、日志記錄。切面(Aspect):一個切面是對一個橫切關(guān)注點的模塊化,它將那些散落在各處的、實現(xiàn)關(guān)注點的代碼歸整在一起,其實就是共有功能的實現(xiàn)。如日志切面、權(quán)限切面、事務(wù)切面等。在實際應(yīng)用中通常是一個存放共有功能實現(xiàn)的普通Java類。連接點(join point):它是指應(yīng)用中執(zhí)行的某個點,即程序執(zhí)行流程中的某個點??赡苁欠椒ㄕ{(diào)用、字段訪問、異常拋出。建議或通知(Advice):是切面的具體實現(xiàn)。以目標(biāo)方法為參照點,根據(jù)放置的地方不同,可分為前置通知(Before)、后置通知(AfterReturning)與環(huán)繞通知(Around)。切入點(Pointcut):一組join point的總稱,用于定義通知應(yīng)該切入到哪些連接點上。不同的通知通常需要切入到不同的連接點上。主要的功能是:日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等等。主要的意圖是:將日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等代碼從業(yè)務(wù)邏輯代碼中劃分出來,通過對這些行為的分離,我們希望可以將它們獨立到非指導(dǎo)業(yè)務(wù)邏輯的方法中,進(jìn)而改變這些行為的時候不會影響業(yè)務(wù)邏輯代碼。AOP的實現(xiàn)技術(shù):JavaSE動態(tài)代理、動態(tài)字節(jié)碼生成、Java代碼生成、語言擴展。建議(advice)是point cut的執(zhí)行代碼,是“切面”執(zhí)行的具體邏輯。前置建議(before advice)在連接點調(diào)用之前,先調(diào)用advice。后置建議(after advice)在連接點調(diào)用之后,再調(diào)用advice成功執(zhí)行后(after returning advice)拋出異常后(after throwing advice)不管是否異常后(after advice)環(huán)繞建議(around advice)完全控制所有連接點引介(introduction)為一個現(xiàn)有的Java類或接口添加方法或字段?;烊肜^承(mixin inheritance)一個混入類封裝了一組功能,這組功能可能被“混入”到現(xiàn)有的類中,并且無需求助于傳統(tǒng)的繼承手段。在AOP里,mixin通過introduction來實現(xiàn)??椚耄╳eaving)將切面整合到完整的執(zhí)行流程或完成的類。動態(tài)橫切:通過切入點和連接點在一個切面中創(chuàng)建行為的過程。動態(tài)橫切通常用于幫助向?qū)ο髮哟沃械母鞣N方法添加安全驗證或日志記錄。在很多應(yīng)用場景中,動態(tài)橫切基本代表了AOP。動態(tài)橫切的核心技術(shù)包括連接點、切入點、建議、切面。靜態(tài)橫切:靜態(tài)橫切和動態(tài)橫切的區(qū)別在于,靜態(tài)橫切不修改一個給定對象的執(zhí)行行為。相反,它可以把擴展和實現(xiàn)附加到對象的基本結(jié)構(gòu)中。此外,它通過引入附加的方法字段和屬性來修改對象的結(jié)構(gòu)。在AOP的實現(xiàn)中,通常靜態(tài)橫切也就是引入或混入。l 什么是IOC?控制反轉(zhuǎn),強制將組件的創(chuàng)建和使用分離,通過反射機制,動態(tài)的創(chuàng)建組件已達(dá)到解耦目的。IOC最大的好處是什么?因為把對象生成放在了XML里定義,所以當(dāng)我們需要換一個實現(xiàn)子類將會變成很簡單(一般這樣的對象都是實現(xiàn)于某種接口的),只要修改XML就可以了,這樣我們甚至可以實現(xiàn)對象的熱插撥(有點象USB接口和SCSI硬盤了)IOC最大的缺點是什么?(1)生成一個對象的步驟變復(fù)雜了(事實上操作上還是挺簡單的),對于不習(xí)慣這種方式的人,會覺得有些別扭和不直觀。(2)對象生成因為是使用反射編程,在效率上有些損耗。但相對于IoC提高的維護(hù)性和靈活性來說,這點損耗是微不足道的,除非某對象的生成對效率要求特別高。(3)缺少IDE重構(gòu)操作的支持,如果在Eclipse要對類改名,那么你還需要去XML文件里手工去改了,這似乎是所有XML方式的缺憾所在。ll MyBatis實現(xiàn)步驟:獲取SqlSessionFactory3;編寫UserDao的實現(xiàn)。使用Hibernate的步驟(三個準(zhǔn)備,七個步驟)三個準(zhǔn)備:導(dǎo)入Hibernate庫(jar包);添加Hibernate配置文件添加對應(yīng)表的實體類和映射文件。七個步驟:configuration創(chuàng)建SessionFactory打開Session開始一個事務(wù)持久化操作提交事務(wù)關(guān)閉Session、ll 使用HQL步驟得到session編寫HQL語句創(chuàng)建Query對象 持久化對象的狀態(tài):(不在Session的緩存中,不與任何的Session實例相關(guān)聯(lián)。在數(shù)據(jù)庫中沒有與之相對應(yīng)的記錄)(存在Session的緩存中。持久化對象映射了數(shù)據(jù)庫中的相關(guān)記錄。Session在清理緩存時,會同步更新數(shù)據(jù)庫。Session的load()或get()方法返回的對象總是處于持久化狀態(tài))(脫離Session緩存。游離對象在數(shù)據(jù)庫中可能存在與之對應(yīng)的紀(jì)錄,但游離對象與數(shù)據(jù)庫記錄失去了映射關(guān)系)l Hibernate全自動化ORM框架 Hibernate是一個輕量級、功能強大的ORM框架;提供了完全透明的持久化機制,客戶代碼可通過一種完全面向?qū)ο蟮姆绞絹硖幚沓志没?,而無需和SQL打交道;Hibernate管理Java類到數(shù)據(jù)庫的映射(包括Java數(shù)據(jù)類型到SQL數(shù)據(jù)類型的映射)、提供數(shù)據(jù)的CRUD操作;Hibernate內(nèi)置一種稱為HQL的語言,和SQL的語法接近,但不與特定的數(shù)據(jù)庫表或字段發(fā)生直接關(guān)聯(lián),卻又提供了SQL的大部分功能,并且支持類似連接、統(tǒng)計函數(shù)、批量數(shù)據(jù)等關(guān)系型概念。使用Hibernate框架進(jìn)行ORM,可大幅度減少開發(fā)時手工使用SQL和JDBC的出錯。優(yōu)點:簡單。缺點:多了查詢,慢(但實際對于一個JAVA EE應(yīng)用而言,hibernate通常的處理流程是:從數(shù)據(jù)看里加載記錄將信息發(fā)送到表現(xiàn)層供用戶修改或刪除將所做修改重新保存到數(shù)據(jù)庫。在這種處理流程下,應(yīng)用本身就需要兩條SQL語句)。ll iBats半自動化ORM框架 提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言。OGNL是Object Graph Navigation Language,對象圖導(dǎo)航語言。ONGL是一種強大的表達(dá)式語言,它通過簡單一致的表達(dá)式語法來讀取和設(shè)置Java對象的屬性,調(diào)用對象的方法,遍歷整個對象的結(jié)構(gòu)圖,實現(xiàn)字段類型轉(zhuǎn)換等功能。WEB容器是指一種安裝在服務(wù)端計算機中的特定軟件。此類軟件遵循HTTP協(xié)議,主要功能是負(fù)責(zé)偵聽指定端口,接收客戶端的請求并解析,然后將指定的響應(yīng)頁面發(fā)送到客戶端。EL表達(dá)式EL是一種簡單而強大的語言,提供了在JSP腳本元素范圍外使用運行時表達(dá)式的功能。Web Services應(yīng)用程序組件,使用開放協(xié)議進(jìn)行通信,獨立的并可自我描述,可通過使用UDDI來發(fā)現(xiàn),可以被其他應(yīng)用程序使用,XML是其基礎(chǔ)。l Mybatis一個持久數(shù)據(jù)映射框架,提供了基于JDBC之上的一層簡單抽象,是一種基于SQL語句映射的低級別ORM方案,使用原生態(tài)SQL作為查詢語言,用來完成數(shù)據(jù)持久化MyBaits基本原理:在XML文件中定義SQL語句,預(yù)留參數(shù)占位符;在運行時,占位符被指定的參數(shù)值取代,參數(shù)可能來自參數(shù)映射表、JavaBean屬性、或者簡單的參數(shù)對象。在執(zhí)行SQL查詢時,結(jié)果字段被映射到對象,映射的方式與參數(shù)映射一樣。l ORM框架ORM, ObjectRelational Mapping, 對象關(guān)系數(shù)據(jù)庫映射框架。在關(guān)系型數(shù)據(jù)庫和業(yè)務(wù)實體對
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1