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

正文內(nèi)容

基于反射機(jī)制的框架研究與實(shí)現(xiàn)畢業(yè)論文-預(yù)覽頁(yè)

 

【正文】 功的商業(yè)應(yīng)用案例,同時(shí),它們所使用的 Jar 文件也有成百個(gè)模型,所以對(duì)于小的系統(tǒng)不太適合,本課題旨在基于反射機(jī)制對(duì)框架進(jìn)行研究,實(shí)現(xiàn)一個(gè)輕量級(jí)的框架以此來(lái)適應(yīng)小的系統(tǒng)。語(yǔ)言的反射機(jī)制的開發(fā)和實(shí)施,其目的是能夠傳遞網(wǎng)絡(luò)中的對(duì)象,并可以根據(jù)傳遞的對(duì)象的信息來(lái)重建對(duì)象本身,因 此重建是動(dòng)態(tài)的。 第二節(jié) 輕量級(jí) 所謂“輕量級(jí)”,并非“設(shè)計(jì)簡(jiǎn)陋、功用少、實(shí)現(xiàn)粗陋”的意思。 對(duì)于需求常常測(cè)試調(diào)試的開發(fā),縮小應(yīng)用程序部署時(shí)間是很有必要的。 經(jīng)過(guò) ErichGamma、 JohnVlissides、 RalphJphnson、 RichardHelm 四位作者的文章 [5],軟件開發(fā)中的模式觀念得到了普及。當(dāng) GOF 的作品出版之后,大量類似的軟件模式書籍相繼出現(xiàn),這些著作涉及到各個(gè)領(lǐng)域和用途。 一個(gè)模式一般有四個(gè)基本要素 [5]?!靶Ч北磉_(dá)了了模式應(yīng)用效果和使用模式權(quán)衡問(wèn)題。第二,模式提供大量共用詞匯。 第四節(jié) 框架 框架是提取工程軟件開發(fā)當(dāng)中特定范圍軟件具備相似屬性的部份,框架是由一組聯(lián)系緊密的 classes(類)構(gòu)成的,通過(guò)強(qiáng)調(diào)類相互的配合從而完成某種能夠復(fù)用的設(shè)計(jì)概念??蚣懿⒉皇恰捌脚_(tái)”,由于平臺(tái)這個(gè)概念較模糊,它可以是一種通訊中間件,一種應(yīng)用服務(wù)器,一種數(shù)據(jù)庫(kù)軟件,一種操作系統(tǒng),所以在應(yīng)用平臺(tái)當(dāng)中中,平臺(tái)主要責(zé)任就是供應(yīng)特定服務(wù)系統(tǒng)軟件。構(gòu)架也就是系統(tǒng)核心的“磚瓦”,聯(lián)結(jié)器才是對(duì)元件間通信機(jī)制、通信預(yù)想結(jié)果、通信途徑很好的描述,任務(wù)流是對(duì)怎么運(yùn)用這類元件來(lái)實(shí)現(xiàn)某項(xiàng)需要進(jìn)行描述。 第六節(jié) 框架與架構(gòu)關(guān)系 框架不是架構(gòu),架構(gòu)決定了系統(tǒng)層次的區(qū)分、總體結(jié)構(gòu),不相同部份間的合作等設(shè)計(jì)思考。設(shè)計(jì)模式是對(duì)設(shè)計(jì)問(wèn)題找出解決的方法,一個(gè)模式能夠被各種框架以及被各類語(yǔ)言所實(shí)現(xiàn);框架不僅是一種應(yīng)用體系結(jié)構(gòu),而且是設(shè)計(jì)模式與代碼的混合體。 ( 2)從應(yīng)用來(lái)看,框架給出了全部應(yīng)用體系結(jié)構(gòu);設(shè)計(jì)模式是給了一種簡(jiǎn)單的方案以解決設(shè)計(jì)問(wèn)題,而且這個(gè)方案能在各種不一樣的應(yīng)用程序或框架當(dāng)中進(jìn)行使用。 作為一個(gè)專門為Eclipse 所設(shè)計(jì)和開發(fā)的插件集合, MyEclipse 研發(fā)的初衷只是為了簡(jiǎn)化 Eclipse的操作,為開發(fā)人員提供一個(gè)良好的操作界面和相對(duì)簡(jiǎn)單的操作方式。 在結(jié)構(gòu)上, MyEclipse 的特征能夠被分為七類: WEB 開發(fā)工具、 JavaEE 項(xiàng)目部署服務(wù)、 EJB 開發(fā)工具、數(shù)據(jù)庫(kù)服務(wù)、應(yīng)用程序服務(wù)器的連接器、 JavaEE模型、 MyEclipse 整合幫助。 MyEclipse 作為 Java、 J2EE 的開發(fā)插件集合中一個(gè)十分優(yōu)秀的插件集合,它有著十分強(qiáng)大的功能和廣泛的應(yīng)用支持面。 第二節(jié) MySQL 數(shù)據(jù)庫(kù)介紹 作為當(dāng)今計(jì)算機(jī)科學(xué)技術(shù)的一大分支,數(shù)據(jù)庫(kù)成為了數(shù)據(jù)管理的最新技術(shù),同時(shí)也為各式各樣的信息管理系統(tǒng)提供了一個(gè)數(shù)據(jù)儲(chǔ)存和交換修改的方式 [7]。 作為一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng), MySQL 因?yàn)槠溟_源性受到了廣大程序員的青睞,其版權(quán)現(xiàn)屬于 Oracle 公司。 MySQL 最大的優(yōu)勢(shì)在于開放源碼,使得其成為了一般中小型網(wǎng)站的開發(fā)首選。常見的使用 SQL 的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)有: MySQL 、 Oracle、 SQL sever 20xx、 Sybase、 DB Microsoft SQL Server、 Access 等。 Struts2是建立在 web 的技術(shù)之上的一個(gè) MVC 框架并不是完全獨(dú)立出來(lái)的技術(shù),脫離這些技術(shù), Struts2 框架也就不能運(yùn)用了 [11]。雖然 Struts1 和 Struts2 有著十分大的改動(dòng),然而相對(duì) WebWork 和 Struts2 改變倒是微不足道 [12]。當(dāng) Action 執(zhí)行完成,ActionInvocation 會(huì)按照 中的配置找到對(duì)應(yīng)的返回結(jié)果。 Spring 不是專注于 J2EE 某一層的解決方法,而是尋找 J2EE 應(yīng)用各層的解決方法。如圖 41 所示。 ( 2) Spring 上下文: Spring 上下文是一個(gè)配置文件,向 Spring 框架提供上下文信息。 ( 4) Spring DAO: JDBC DAO 抽象層供應(yīng)了有實(shí)際意義的反常層次構(gòu)造,我們可以使用該構(gòu)造來(lái)管理異常辦理和不正確的消息被不相同數(shù)據(jù)庫(kù)供應(yīng)商拋棄。因此 Spring 框架能夠和 Jakarta Struts 集成。 一般功能適用于不受制管理環(huán)境的影響,因此 Spring 框架功能能夠在任何J2EE 服務(wù)器中使用。 Hibernate 在對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)的時(shí)候可以對(duì)數(shù)據(jù)庫(kù)操作代碼進(jìn)行簡(jiǎn)化,并且 Hibernate 能夠自動(dòng)生成 SQL,也可以把 ResultSet 所記錄的以及實(shí)體類自動(dòng)映射。 Hibernate 屬于全自動(dòng)類型,因此比MyBtis 功能強(qiáng)一些( MyBatis 只屬于半自動(dòng))。自動(dòng)內(nèi)存管理的意思是對(duì)臨時(shí)存儲(chǔ)的數(shù)據(jù)自動(dòng)進(jìn)行 回收,釋放內(nèi)存。 Java 省去了運(yùn)算號(hào)的重新載入以及多重繼承不清楚觀念,而且經(jīng)過(guò)主動(dòng)收取垃圾而極大的簡(jiǎn)單化了軟件工作人員的管理內(nèi)存的工作。 ( 3)分布性: Java 是一種面向網(wǎng)絡(luò)的語(yǔ)言。 天津科技大學(xué) 20xx 屆本科生畢業(yè)設(shè)計(jì) 11 ( 5)安全性:既然要用于到網(wǎng)絡(luò),那么 Java 必須有可靠的安全性,必需阻止病毒侵入。 ( 7)可移植性:由于 Java 和平臺(tái)沒(méi)有關(guān)系的特征這樣就可以使 Java 程序在網(wǎng)絡(luò)上不同的機(jī)子間進(jìn)行移植。 ( 9)高性能: Java 字節(jié)設(shè)計(jì)很簡(jiǎn)單是自己轉(zhuǎn)變成對(duì)應(yīng)特定 CPU 機(jī)碼,以此得到更高的性能。 JDBC 為數(shù)據(jù)庫(kù)的應(yīng)用程序前臺(tái)開發(fā)人員提供了一種標(biāo)準(zhǔn)的應(yīng)用程序接口設(shè)計(jì)方法,開發(fā)人員可以通過(guò)使用純粹的 Java 語(yǔ)言就完成對(duì)數(shù)據(jù)庫(kù)應(yīng)用程序的編寫。當(dāng)沒(méi)有事務(wù)需要處理的時(shí)候連接就會(huì)空閑下來(lái),如果連接池空閑下來(lái)連接就能讓別的線程使用。 連接池主要的優(yōu)點(diǎn)有: ( 1)縮減創(chuàng)建的連接時(shí)間:和別的數(shù)據(jù)庫(kù)相比較,雖然 JDBC 的鏈接功能相對(duì)于迅速,可是他要重新創(chuàng)立新的連接方式,這樣就會(huì)加大連接時(shí)間和開銷。 我們們可以了解到, JDBC 連接不管是在客戶端還是在服務(wù)器都會(huì)產(chǎn)生花費(fèi)。 數(shù)據(jù)庫(kù)連接池的主要操作如下: ( 1)創(chuàng)建數(shù)據(jù)庫(kù)連接池的對(duì)象。 ( 5)關(guān)閉數(shù)據(jù)庫(kù),對(duì)各數(shù)據(jù)庫(kù)的連接釋放(關(guān)閉數(shù)據(jù)庫(kù)連接,這不是真正關(guān)閉,而是放入空閑隊(duì)列。用戶能夠增加數(shù)據(jù)庫(kù)驅(qū)動(dòng),將自己的程序連接到自己建立的數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)中, ODBC 的優(yōu)勢(shì)其實(shí)就是以統(tǒng)一方式處理全部數(shù)據(jù)庫(kù),而他自己程序與數(shù)據(jù)庫(kù)沒(méi)有關(guān)系。之后會(huì)讓 ODBCAPI 進(jìn)行正確的判別是由誰(shuí)來(lái)辦理,由自己直接辦理且返回結(jié)果還是交給驅(qū)動(dòng)程序處理后返回結(jié)果。如果應(yīng)用程序?qū)?shù)據(jù)庫(kù)處理提出要求,那么該請(qǐng)求就會(huì)發(fā)給ODBC 管理器,當(dāng) ODBC 管理器根據(jù)請(qǐng)求當(dāng)場(chǎng)實(shí)現(xiàn),如果不行就會(huì)轉(zhuǎn)給多束 式驅(qū)動(dòng)程序,此時(shí)多束式驅(qū)動(dòng)程序會(huì)把請(qǐng)求編譯成數(shù)據(jù)庫(kù)通信借口能夠明白的方式并且把且該請(qǐng)求交給借口去解決。 C3P0 與一般的 POOL 是相似的,要對(duì)數(shù)據(jù)庫(kù)連接池進(jìn)行管理都是要靠阻塞機(jī)制的,如果連接池當(dāng)中沒(méi)有能用的 connection 則就會(huì)被阻塞,通常是經(jīng)過(guò) wait(),等到連接池中有可用的 connection,這時(shí)候就會(huì)經(jīng)過(guò) notify()喚醒 [10]。 三、 TustCP 連接池 TustCP 是對(duì)已有的連接池進(jìn)行研究學(xué)習(xí)的基礎(chǔ)之上,自己所編寫的一個(gè)簡(jiǎn)單的連接池。 import 。 import 。 private static int maxconnection=20。imaxconnection。 天津科技大學(xué) 20xx 屆本科生畢業(yè)設(shè)計(jì) 16 } } } //把鏈表中的第一個(gè)節(jié)點(diǎn)移動(dòng)到鏈表結(jié)尾 public static Connection getConnection(){ return (Connection)()。 第一節(jié) 數(shù)據(jù)庫(kù)表的結(jié)構(gòu) 數(shù) 據(jù)庫(kù)表的結(jié)構(gòu)如下圖: 一個(gè)“學(xué)生”表 student 表 61 學(xué)生信息 表 字段 類型 長(zhǎng)度 備注 Sno char 9 學(xué)號(hào) Sname char 20 姓名 Ssex char 2 性別 Sage smallint 年齡 Sdept char 20 所在系 第二節(jié) 創(chuàng)建數(shù)據(jù)庫(kù)部分代碼及結(jié)果 一、 創(chuàng)建數(shù)據(jù)庫(kù) 代碼部分: create database lml。假如有一個(gè)日志的請(qǐng)求,利用 AOP 我們就可以不用修改程序中任何的代碼,就能夠?qū)⑦@個(gè)請(qǐng)求加到原來(lái)的程序當(dāng)中,當(dāng)然如果你想把這個(gè)日志刪除掉也同樣不用修改任何的程序。在 , 與 是程序中兩個(gè)接口,而 與 分別是對(duì) 與 這兩個(gè)接口的實(shí)現(xiàn)方法。 import 。 import 。 (() + running time of + (endTime beginTime))。 是對(duì) 這個(gè)接口的實(shí)現(xiàn)。 public class Tustcpcallclass implements Tustcpcallinterface{ public Connection getConnection(){ return ()。 final Advice advice=new MyAdvice()。 (() + running time of + (endTime beginTime))。//調(diào)用方法; (method)。 天津科技大學(xué) 20xx 屆本科生畢業(yè)設(shè)計(jì) 22 第三節(jié) 代碼測(cè)試 現(xiàn)在我們測(cè)試上述代碼的是否可行,在本文中對(duì)自己所寫的反射機(jī)制框架進(jìn)行了擴(kuò)展,設(shè)計(jì)出完成的 java 文件 。 代碼如下 : package 。 import 。 import 。 import 。 private static HttpSession session。 session=()。 } catch (Exception e) { // TODO Autogenerated catch block ()。 return (jdbc:} else if(C3P0.equals(selectedconnection)){ return ()。 } private Tustcpcallinterface currentgetConnection() { final Tustcpcallclass target=new Tustcpcallclass()。 long endTime = ()。//執(zhí)行它的 beforeMethod 方法; Object retVal = (target, args)。 return (Tustcpcallinterface)proxy3。 } else if(TUSTCP.equals(selectedconnection)){ (conn)。 具體代碼如下: package 。 import 。 private static HttpServletRequest request。 } public void setSelectedconnection(String selectedconnection) { = selectedconnection。 (selectedconnection, selectedconnection)。 (開始輸出數(shù)據(jù) )。 ()。具體代碼如下: ?xml version= encoding=UTF8 ? !DOCTYPE struts PUBLIC //Apache Software Foundation//DTD Struts Configuration struts constant name= value=UTF8/ package name=user extends=strutsdefault action name=action_connectionname class= result name=success/WEBINF/page//result result name=error/WEBINF/page//result result name=login/result /action /package /struts 天津科技大學(xué) 20xx 屆本科生畢業(yè)設(shè)計(jì) 27 是一個(gè)對(duì)選擇方式的顯示頁(yè)面,具體代碼如下: % page language=java import=.* pageEncoding=UTF8% % taglib prefix=s uri=/strutstags % html body s:form name=inputdata action=action_connectionname s:radio label=請(qǐng)選擇連接方式 list={39
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1