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

正文內(nèi)容

中南大學軟件學院軟件工程基礎復習大全(編輯修改稿)

2024-11-04 17:05 本頁面
 

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