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

正文內(nèi)容

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

2025-06-25 17:42本頁面
  

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