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

正文內(nèi)容

最新基于java的博客網(wǎng)站設(shè)計(jì)與開發(fā)畢業(yè)論文(參考版)

2025-06-22 03:47本頁面
  

【正文】 。感謝父母,兄弟姐妹對(duì)我學(xué)業(yè)的支持;感謝寢室同學(xué)對(duì)我學(xué)習(xí)生活的諸多幫助。從他身上,我學(xué)到了許多能使我受益終身的東西,再次對(duì)戴老師表示衷心的感謝。開源框架的強(qiáng)大讓我覺得還有很多技術(shù)需要去學(xué)習(xí),這也讓我明白,要不斷地學(xué)習(xí)新知識(shí)才會(huì)利于自己各方面的發(fā)展。比較圓滿地完成了本次畢業(yè)設(shè)計(jì)的任務(wù),達(dá)到了此次畢業(yè)設(shè)計(jì)的目的和要求。由于沒接觸過Java,還有一些軟件還沒用過,如MyEclipse,因此完成此次畢業(yè)并不容易。向上整合Struts 按清晰的MVC 模式控制。 全文總結(jié)本文從博客網(wǎng)站的所需要實(shí)現(xiàn)的功能模塊開始分析,決定使用Java開發(fā)博客網(wǎng)站。對(duì)于頁面的分頁處理,一般有兩種,一種是物理分頁,利用Sql語句向數(shù)據(jù)庫查詢指定那個(gè)頁面所需要的數(shù)據(jù),對(duì)于種方式由于數(shù)據(jù)庫的差異,數(shù)據(jù)庫提供的offset也不同,對(duì)于明確數(shù)據(jù)庫的項(xiàng)目來說,物理分頁在性能上講顯然比邏輯分頁要來的好。數(shù)據(jù)庫的連接池也不能很大,因?yàn)閠omcat 不便管理。只要導(dǎo)航頁面重新刷新后mp3就重新播放。mp3重新播放,由于對(duì)播放器的API還不了解,現(xiàn)在還解決。5. 在blog主頁面的所有Jsp頁面刷新后的mp3重新播放由于在mp3播放的頁面中是采用在頁面中嵌入embed src=%=mp3list% loop=true autostart=true src是一個(gè)mp3的播放列表。將對(duì)象保存到數(shù)據(jù)庫中,這時(shí)一個(gè)對(duì)象同時(shí)在兩個(gè)Session中,JDBC是不支持的。由于對(duì)象的修改是在一個(gè)事務(wù)管理中。4. 一個(gè)對(duì)象不能同時(shí)在兩個(gè)Session中,由于我開始沒有將查詢作為一個(gè)事務(wù)處理。3. 博文字?jǐn)?shù) 多時(shí)不能就博文提交。激將上傳圖片統(tǒng)一保存到一個(gè)特定的文件夾內(nèi)。博主將 圖片上傳到服務(wù)器,將圖片的路徑名保存到MySql數(shù)據(jù)庫中。從這可以得出只有實(shí)驗(yàn)才體驗(yàn)框架的工作原理。將input=/ 改為input=input,定義input為一個(gè)forward 這樣可以解決問題。RegistForm 經(jīng)過Struts 失敗驗(yàn)證后Struts 不會(huì)將請(qǐng)求交給registAction處理直接轉(zhuǎn)到input定義下的/。 利用Validator驗(yàn)證失敗能返回到指定的頁面上去。最后我只能將DynaActionForm改為ActionForm的類。同樣設(shè)為UTF8,開始我有些Form是采用Struts的DynaActionForm,這樣可以少寫個(gè)ActionForm類。比如ActionFom的String屬性str,我通過new String(().getByte(“ISO88591”),”UTF8”)可以將ActionForm轉(zhuǎn)為UTF8。并且在ActionServlet將請(qǐng)求轉(zhuǎn)發(fā)的時(shí)候先將request的編碼統(tǒng)一設(shè)為UTF8,這樣還是不能將Actionform 的亂碼解決。為次我必須統(tǒng)一我的編碼方式。下面詳細(xì)講述我在開發(fā)過程中所遇到的問題和我的解決方案。第一次利用Spring、Hibernate、Struts、Ajax等技術(shù)或框架編寫程序,第一次利用MyEclipse 編寫java應(yīng)用程序、第一次利用MySql作為數(shù)據(jù)庫系統(tǒng)。另外添加了mp3播放和像word軟件一樣的編輯器。我采用Hibernate 的DAO模式,利用Hibernate 查詢的結(jié)果本來就是一個(gè)對(duì)象或?qū)ο罅斜?,這就更方便我數(shù)據(jù)系列化成xml文件了。并舉例如何解析XML數(shù)據(jù),或者將PO(ListPO)填充到Session的屬性告訴她。而我只要知道她需要完成那些功能,即知道請(qǐng)求格式(請(qǐng)求的URL,ActionForm)和需要返回何種數(shù)據(jù)就行了。再把PO交給facadeManger處理。而Struts 的核心控制器會(huì)幫我們填充。在JavaScript中替換她在Jsp頁面定義的Html 節(jié)點(diǎn)。在設(shè)計(jì)邏輯組件返回的數(shù)據(jù)時(shí)我利用VO或XML來封裝。在設(shè)計(jì)的過程中溝通是非常重要的。我負(fù)責(zé)VO的處理,而胡愛梅負(fù)責(zé)數(shù)據(jù)的顯示即利用Jsp格式化從我設(shè)計(jì)業(yè)務(wù)邏輯層返回的數(shù)據(jù)。我負(fù)責(zé)底層即Hibernate Dao層邏輯層,MVC層,PO 和DAO 的設(shè)計(jì)。達(dá)到用戶的需求。8. 回調(diào)函數(shù)解析響應(yīng)內(nèi)容XML文檔,在這里我們利用DOM將XML換成html格式數(shù)據(jù)流。 核心控制器再將響應(yīng)內(nèi)容返回給游覽器。6. Action交給業(yè)務(wù)邏輯組件處理。4. 異步的Http請(qǐng)求發(fā)出后,游覽器不必等待服務(wù)器的響應(yīng),用戶還可以與頁面交互。主要是請(qǐng)求交給業(yè)務(wù)邏輯組件處理,再注冊(cè)服務(wù)器的回調(diào)函數(shù)。Ajax處理請(qǐng)求如下:1. DOM事件處理者收到事件發(fā)生的消息進(jìn)行處理,即在JavaScript定義的一個(gè)函數(shù)處理。 采用Ajax加深用戶體驗(yàn)為了加深用戶體驗(yàn),本系統(tǒng)在處理請(qǐng)求時(shí)還應(yīng)用到Ajax 技術(shù)。這樣通過Spring 將facadeManager注入到業(yè)務(wù)邏輯控制器中,Action 就可以將請(qǐng)求分發(fā)給Spring Ioc容器中目標(biāo)業(yè)務(wù)邏輯處理。 里配置一個(gè) bean id=actionTemplate abstract=true singleton=false property name=mgr ref=facadeManager / /bean這樣的Bean 然后每個(gè)Action將繼承actionTemplate,這樣Action就可以把請(qǐng)求交給facadeManager 處理。2. 在Spring 容器中配置實(shí)際的Action ,在本文中需要與數(shù)據(jù)層交流Action必須繼承BaseAction,而BaseAction 具有一個(gè)facadeManger的屬性,本文的請(qǐng)求不直接處理請(qǐng)求,而是交給業(yè)務(wù)邏輯組件處理。因?yàn)镈elegatingRequestProcessor直接將請(qǐng)求轉(zhuǎn)發(fā)到Spring 容器內(nèi)控制器配置為了Struts 與Spring 的整合, Struts 的Action 需要在兩個(gè)地方配置。注意在上面的配置中,Spring ,該配置文件中全部是Action。本系統(tǒng)使用DelegatingRequestProcessor 的整合策略,使用DelegatingRequestProcessor的整合策略可避免創(chuàng)建過多的本系統(tǒng)采用DelegatingActionProxy,提前將請(qǐng)求轉(zhuǎn)發(fā)到Spring 容器內(nèi)的bean 。Struts 與Spring 的整合整合Struts 與Spring 只有一個(gè)要求,讓Struts 將攔截到客戶端的請(qǐng)求轉(zhuǎn)發(fā)給Spring容器中的bean 。該層在接受到來自表現(xiàn)層的請(qǐng)求和相應(yīng)得數(shù)據(jù)后。業(yè)務(wù)邏輯控制器對(duì)應(yīng)圖3 .4中的Action 部分。該控制器負(fù)責(zé)攔截所有Http請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否需要調(diào)用業(yè)務(wù)邏輯控制器,如果需要調(diào)用業(yè)務(wù)邏輯控制器,則將請(qǐng)求轉(zhuǎn)發(fā)給Action 處理,否則直接轉(zhuǎn)向請(qǐng)求的JSP 頁面。這里我采用自己定義一個(gè)繼承ActionServlet 的控制器,在處理請(qǐng)求時(shí)先將request的采用的編碼設(shè)為統(tǒng)一的UTF8,再將請(qǐng)求轉(zhuǎn)發(fā)。 3. Controller部分Struts 的Controller由系統(tǒng)核心控制器及業(yè)務(wù)邏輯控制器。整個(gè)應(yīng)用由客戶端請(qǐng)求驅(qū)動(dòng),當(dāng)客戶端請(qǐng)求被ActionServlet 攔截時(shí), ActionServlet根據(jù)請(qǐng)求決定是否需要調(diào)用Model 處理用戶請(qǐng)求,當(dāng)用戶請(qǐng)求處理完成后,其處理結(jié)果通過JSP 呈現(xiàn)給用戶。比如本文中FacadeManagerImpl ,通過業(yè)務(wù)外觀向表現(xiàn)層封裝數(shù)據(jù)的處理部分,而ActionForm 封裝了請(qǐng)求參數(shù)以一個(gè)值對(duì)象(VO)的形似穿透J2EE的各層。這樣就完成用戶的注冊(cè)。這Struts的核心控制器ActionServlet將填充RegistForm 即調(diào)用RegistForm的setXxx。 然后Action 根據(jù)ActionForm里的請(qǐng)求參數(shù)處理用戶請(qǐng)求。應(yīng)用被分隔為三層,降低了各層之間的耦合,提高了應(yīng)用的可擴(kuò)展性。 1. Model 部分模型獨(dú)立于數(shù)據(jù)的顯示,博客中所涉及的Model 都是ActionForm和JavaBean組成。因?yàn)镾truts 是最健壯,應(yīng)用最廣的MVC 框架。另外, MVC 的每個(gè)組件只關(guān)心組件內(nèi)的邏輯,不應(yīng)與其他組件的邏輯混合。第4節(jié) MVC 層實(shí)現(xiàn)MVC 架構(gòu)的核心思想是:將程序分成相對(duì)獨(dú)立,而又能協(xié)同工作的三個(gè)部分。我們通過 Spring向FacadeManagerImpl注入7個(gè)Dao組件,業(yè)務(wù)邏輯組件是 面向DAO 接口編程,可讓業(yè)務(wù)邏輯組件從DAO 組件的實(shí)現(xiàn)中分離。這樣通過FacadeManagerImpl隔離業(yè)務(wù)邏輯控制器與Dao耦合。配置文件如下: bean id=transactionManager class= HibernateTransactionManager property name=sessionFactory ref=sessionFactory / /bean bean id=txProxyTemplate class= TransactionProxyFactoryBean property name=transactionManager ref=transactionManager / property name=transactionAttributes Props prop key=remove*PROPAGATION_REQUIRED/prop /props /property /bean 利用SpringFrameWork的TransactionProxyFactoryBean管理業(yè)務(wù)組件的事務(wù),對(duì)應(yīng)業(yè)務(wù)的方法名調(diào)用不同的事務(wù)管理,所以在業(yè)務(wù)邏輯組件的方法取名時(shí)一定要規(guī)范化 。將配置文件按層和模塊分開配置,可以提高Spring 配置文件的可讀性和可理解性。 避免了目標(biāo)對(duì)象被直接調(diào)用。關(guān)于事務(wù)屬性的配置,本系統(tǒng)使用Spring 提供的TransactionProxyFactoryBean配置事務(wù)代理。業(yè)務(wù)層組件的實(shí)現(xiàn)業(yè)務(wù)層組件與具體的數(shù)據(jù)庫訪問技術(shù)分離,使所有的數(shù)據(jù)庫訪問依賴于DAO 組件,定義一個(gè)FacadeManagerImpl來包裝7個(gè)Dao這樣就可以把邏輯層和Dao分開,達(dá)到松散耦合的效果。bean id=blogDAO class= parent=daoTemplate/其余6個(gè)PODAO的配置相似。本應(yīng)用同樣將所有的DAO :由于7個(gè)Dao 都必須利用IoC容器注入SessionFactory。配置DAD 組件所有繼承HibernateDaoSupport 的DAO 實(shí)現(xiàn)類,必須為其提供SessionFactory 的引用。7. 異常包裝:Spring 能夠包裝Hibernate 異常,把它們從checked exception 變?yōu)閞untimeException。4. 方便的事務(wù)管理: Hibernate 的事務(wù)管理處理會(huì)限制Hibernate 的表現(xiàn),而5. Spring的聲明式事務(wù)管理力度是方法級(jí)。2. IoC 容器提高了DAO 組件與業(yè)務(wù)邏輯層之間的解糯。通過Spring 整合Hibernate ,使持久層的訪問更加容易,使用Spring 管理Hibernate持久層有如下優(yōu)勢(shì)。所有的DAO實(shí)現(xiàn)Bean 組件,都由容器負(fù)責(zé)注入到業(yè)務(wù)邏輯組件中,其業(yè)務(wù)組件無須關(guān)心DAO 組件的實(shí)現(xiàn)。Spring 提供了DAO 支持,可以大大簡化DAO 組件的開發(fā)。一旦Hibernate 處于Spring 的管理下, Hibernate 所需要的基礎(chǔ)資源,都由Spring 提供注入。Spring 提供很多IoC 特性的支持,方便地處理大部分典型的Hibernate 整合問題,如SessionFactory 的注入到7個(gè)PODao中、HibernateTemplate 的簡化操作及
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1