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

正文內(nèi)容

基于java的博客網(wǎng)站設(shè)計(jì)與開發(fā)畢業(yè)論文正稿-文庫吧資料

2025-06-28 17:42本頁面
  

【正文】 ,都由Spring 提供注入。Spring 提供很多IoC 特性的支持,方便地處理大部分典型的Hibernate 整合問題,如SessionFactory 的注入到7個(gè)PODao中、HibernateTemplate 的簡(jiǎn)化操作及DAO 支持等,然后在7個(gè)PODao實(shí)現(xiàn)類繼承HibernateDaoSupport,這樣的話,Dao實(shí)現(xiàn)類就可以通過HibernateTemplment以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫。聲明式事務(wù)的管理分離了業(yè)務(wù)邏輯和事務(wù)邏輯,將應(yīng)用從特定的事務(wù)邏輯中解料,使應(yīng)用可以方便地在不同的事務(wù)策略之間切換。Spring 提供的DAO 支持簡(jiǎn)化了DAO 開發(fā);SessionFactory 的依賴注入簡(jiǎn)化了Session 的控制等。 配置DAD 組件在將dataSource注入到上面簡(jiǎn)述的7個(gè)Dao中,就可以用HibernateTemplate提供的大量便捷的方法。Spring 為整合Hibernate 提供了大量工具類,通過LocalSessionFactoryBean 類,可以將Hibernate 的SessionFactory 納入其IoC 容器內(nèi)。 DAO 組件運(yùn)行的基礎(chǔ)應(yīng)用的DAO 組件以Hibernate和Spring 為基礎(chǔ),由Spring 容器負(fù)責(zé)生成并管理DAO組件。 部署DAO 層HibernateDaoSupport類只需要一個(gè)SessionFactory 屬性,即可完成數(shù)據(jù)庫訪問。比如我現(xiàn)在要得到所有Blog對(duì)象我只需一句 return getHibernateTemplate() .find(from Blog)。并借助于Spring 提供的兩個(gè)工具類: HibernateDaoSupport和HibernateTemplate,可以很容易地實(shí)現(xiàn)DAO 組件。通過這種方式,可以讓應(yīng)用在不同的持久化技術(shù)之間切換。所有的DAO 類都繼承HibernateDaoSupport,并實(shí)現(xiàn)相應(yīng)的DAO 接口。 實(shí)現(xiàn)DAO組件 借助于Spring的DAO支持,可以很方便地實(shí)現(xiàn)DAO類。LinksDao ,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。上面涉及了7個(gè)PO,這樣我們必須設(shè)計(jì)7個(gè)對(duì)應(yīng)的PODao 7個(gè)Dao必須繼承BaseDao 這個(gè)BaseDao 有對(duì)接口的一些基本的CURD操作。? saveor update: 保存或更新持久化實(shí)例。由于DAO 組件中的方法不是開始就設(shè)計(jì)出來的,其中的很多方法可能會(huì)隨著業(yè)務(wù)邏輯的需求而增加,但以下幾個(gè)方法是通用的。而在DAO 接口里則對(duì)DAO組件包含的各種CRUD 方法提供了聲明,但有一些IDE 工具也可以生成基本的CRUD方法。對(duì)于不同的持久層技術(shù), Spring 的DAO 提供一個(gè)DAO 模板,將通用的操作放在模板里完成,而對(duì)于特定的操作,則通過回調(diào)接口完成。獨(dú)立的DAO 層使得系統(tǒng)能在不同的數(shù)據(jù)庫之間輕易切換,底層的數(shù)據(jù)庫實(shí)現(xiàn)對(duì)于業(yè)務(wù)邏輯組件是透明的。2) DAO 將數(shù)據(jù)訪問集中在獨(dú)立的一層,所有的數(shù)據(jù)訪問都由DAO 對(duì)象完成,這層獨(dú)立的DAO 分離了數(shù)據(jù)訪問的實(shí)現(xiàn)與其他業(yè)務(wù)邏輯,使得系統(tǒng)更具可維護(hù)性。DAO 模式是一種更符合軟件工程的開發(fā)方式,使用DAO 模式有如下理由。2. DAO 接口。DAO 模式的實(shí)現(xiàn)至少需要如下三個(gè)部分。通過DAO 層,可以讓業(yè)務(wù)邏輯層與具體持久層技術(shù)分離,一旦需要更換持久層技術(shù)時(shí),業(yè)務(wù)邏輯層組件不需要任何改變。以面向?qū)ο蟮姆绞讲僮麝P(guān)系數(shù)據(jù)庫。比如messages,是SetArticle 和FeedBack之間存在IN 的關(guān)系,每篇博文可以被很多人評(píng)論。分析關(guān)聯(lián)關(guān)系也是面向?qū)ο蠓治龅谋匾襟E,這7 個(gè)PO 的關(guān)系如下。6. Article: 博客系統(tǒng)的核心 對(duì)應(yīng)有 title,Id、blog、content、sort,一個(gè)博文屬于一種分類,可以有很多回復(fù),7. Links: 對(duì)應(yīng)有情連接,包括id、url、name、blog博友通過添加有情連接可以在自己的空間中提供快速的自己關(guān)心的網(wǎng)站。該評(píng)論無論是誰都可以看到。4. FeedBack: 對(duì)應(yīng)回復(fù), 包括id、article、username、content。還包括一些集合,博友的博文(Articles)、圖片(Pictures)、留言(Messages),這樣在系統(tǒng)中我們可以隨時(shí)通過getXxx()訪問博客的一些屬性就不用編寫sql語句來訪問博友的些屬性,2. Picture: 對(duì)應(yīng)博友的圖片,包含name、blog,filename,這樣我們可以將圖片的路徑名保存到數(shù)據(jù)庫中,在根據(jù)路徑名訪問博友上傳的圖片,就不用用到數(shù)據(jù)庫中的Blob類型,將圖片數(shù)據(jù)格式轉(zhuǎn)來轉(zhuǎn)去,不過這樣服務(wù)器直接存儲(chǔ)客戶的圖片。本系統(tǒng)一共設(shè)計(jì)了如下7 個(gè)PO 。 設(shè)計(jì)持久化對(duì)象(PO)面向?qū)ο蠓治?,是指根?jù)系統(tǒng)需求提取應(yīng)用中的對(duì)象,將這些對(duì)象抽象成類,再抽取出需要持久化保存的類,這些需要持久化保存的類就是持久化對(duì)象(PO) 。第2節(jié) Hibernate層通過使用Hibernate 持久層,可以避免使用傳統(tǒng)的JDBC 操作數(shù)據(jù)庫,對(duì)JDBC近一步包裝,從而更好地使用面向?qū)ο蟮姆绞絹聿僮鲾?shù)據(jù)庫。通過實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對(duì)象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫,該系統(tǒng)采用Hibernate 作為ORM 框架。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。業(yè)務(wù)邏輯層以DAO 層為基礎(chǔ),通過對(duì)DAO 組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC采用Struts框架。中間層采用的是流行的Spring+Hibernate ,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種??蛻舳瞬恢苯优c數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。 本系統(tǒng)采用的是典型的J2EE 三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。MVC 層的控制器絕對(duì)禁止持久層訪問,甚至不參與業(yè)務(wù)邏輯的實(shí)現(xiàn)。圖6 系統(tǒng)結(jié)構(gòu)圖在圖6 黑色大方框內(nèi)的MVC 控制層、Service 層及DAO 組件層的組件,都由Spring IOC 容器負(fù)責(zé)生成,并管理組件的實(shí)例(實(shí)例必須是單身模式的,本系統(tǒng)中的bean基本上是單身的)。6. 數(shù)據(jù)庫服務(wù)層:使用MySQL 數(shù)據(jù)庫存儲(chǔ)持久化數(shù)據(jù)。4. DAO 層:由7 個(gè)DAO 組件組成,實(shí)現(xiàn)類必須繼承Spring提供的HibernateDaoSupport。2. MVC 層:使用Struts框架。這一模塊的用例圖如圖5所示:圖5 博客首頁的用例圖第5章 系統(tǒng)架構(gòu)設(shè)計(jì)本系統(tǒng)采用嚴(yán)格的J2 EE 應(yīng)用結(jié)構(gòu),主要有如下幾個(gè)分層。首頁向注冊(cè)用戶提供登陸模塊,注冊(cè)用戶在博客網(wǎng)站首頁跟上網(wǎng)網(wǎng)友一樣可以查看博客和博文推薦。并且在搜索結(jié)果中提供在結(jié)果范圍內(nèi)再次搜索。這樣他留下的信息就更快地被博友所看到。他也可以留下更多的信息。博客主頁面的用例圖如圖3所示:圖3 博客主頁面的用例圖第2節(jié) 普通用戶在博客注冊(cè)頁面注冊(cè)成為博客的注冊(cè)用戶,才可以擁有自己獨(dú)立的空間,進(jìn)入某一博客頁面查看相關(guān)文章信息時(shí),可以隨時(shí)對(duì)自己所感興趣的文章發(fā)表評(píng)論,同時(shí)也可以查看到其他人針對(duì)該博文的評(píng)論。這樣還可以讓網(wǎng)友看到自己的一些信息。在管理頁面中添加和刪除友情連接。更好交流,在信息時(shí)代人們通過個(gè)人空間溝通也用來但不能在自己的博客主頁面中提交評(píng)論和留言。圖2 博客管理頁面的用例圖在博客主界面中發(fā)表博文時(shí)可以選擇博文類型,這樣可以更好管理自己的博文??梢栽诠芾眄撁嫔咸砑硬┪牡姆诸?,可以上傳圖片和游覽自己的相冊(cè),在上傳過程中可以將一張圖片定義為自己的簽名,在個(gè)人管理頁面中注冊(cè)用戶還可以修改自己的個(gè)人信息。下面就以兩種不同的用戶來分析博客網(wǎng)站的需求。下面通過對(duì)比來了解Hibernate 和傳統(tǒng)JDBC 操作數(shù)據(jù)庫持久層之間的差異。其作者Gavin King 在持久層設(shè)計(jì)上極富經(jīng)驗(yàn),采用非常少的代碼實(shí)現(xiàn)了整個(gè)框架,同時(shí)完全開放源代碼,即使偶爾遇到無法理解的情況,也可以參照源代碼來理解其在持久層上靈巧而智能的設(shè)計(jì)。4. Spring 并不完全依賴于Spring ,開發(fā)者可自由選用Spring 框架的部分或全部。2. 獨(dú)立于各種應(yīng)用服務(wù)器,可以真正實(shí)現(xiàn)Write Once, Run Anywhere 的承諾。然而,Spring 并不想取代那些已有的框架,而與它們無縫地整合。Spring 致力于J2EE 應(yīng)用的各層的解決方案,而不是僅僅專注于某一層的方案。傳統(tǒng)J2EE 應(yīng)用的開發(fā)效率低,應(yīng)用服務(wù)器廠商對(duì)各種技術(shù)的支持并沒有真正統(tǒng)一,導(dǎo)致J2EE 的應(yīng)用并沒有真正實(shí)現(xiàn)Write Once 及Run Anywhere 的承諾。 一書中思想的全面體現(xiàn)和完善, Spring 對(duì)實(shí)用主義J2EE 思想進(jìn)一步改造和擴(kuò)充,使其發(fā)展成更開放、清晰、全面及高效的開發(fā)框架。事實(shí)上, Spring 框架是171。并提出J2EE 的實(shí)用主義思想。該書的作者是Rod Johnson。不同的層各司其職,每一層的組件具有相同的特征,有利于通過工程化和工具化產(chǎn)生管理程序代碼。因此,控制層可以說是包含了用戶請(qǐng)求權(quán)限的概念。2. 應(yīng)用被分隔為三層,降低了各層之間的稿合,提供了應(yīng)用的可擴(kuò)展性。1. 模型返回的數(shù)據(jù)與顯示邏輯分離。.多個(gè)視圖可以對(duì)應(yīng)一個(gè)模型。當(dāng)模型發(fā)生改變時(shí),模型向所有登記過的視圖發(fā)送通知:接下來,視圖從對(duì)應(yīng)的模型中獲得信息,然后更新自己。起初, MVC 模式是針對(duì)相同的數(shù)據(jù)需要不同顯示的應(yīng)用而設(shè)計(jì)的,其整體的效果如圖1 所示:圖1 MVC結(jié)構(gòu)在經(jīng)典的MVC 模式中,事件由控制器處理,控制器根據(jù)事件的類型改變模型或視圖,反之亦然。第3章 相關(guān)技術(shù)介紹第1節(jié) MVC簡(jiǎn)介MVC 是Model 、View 、Controller 三個(gè)詞的縮寫,三個(gè)詞分別代表應(yīng)用的三個(gè)組成部分:模型、視圖與控制器。Domain Object 并不具備領(lǐng)域?qū)ο蟮臉I(yè)務(wù)邏輯功能,僅僅是ORM 框架持久化所需的POJO ,僅是數(shù)據(jù)載體。Spring 的聲明式事務(wù)管理將負(fù)責(zé)業(yè)務(wù)邏輯對(duì)象方法的事務(wù)性。并利用Spring、Hibernate、Spring等輕量級(jí)框架實(shí)現(xiàn)三層結(jié)構(gòu)的設(shè)計(jì)。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理。第3節(jié) 設(shè)計(jì)方案為了在更短的時(shí)間內(nèi)實(shí)現(xiàn)博客網(wǎng)站,我們采用J2EE架構(gòu)。該在線博客系統(tǒng)服務(wù)器端如果需要布置到其他主機(jī)上,則該主機(jī)必備條件如下:1. 服務(wù)器端操作系統(tǒng):獨(dú)立于操作系統(tǒng)的跨平臺(tái)系統(tǒng),客戶端MicroSoft Windows 2000及以上;2. 數(shù)據(jù)庫:MySQL ;3. Web服務(wù)器:Tomcat ,配合MVC設(shè)計(jì)模式及 Hibernate開發(fā)架構(gòu);4. 客戶端運(yùn)行環(huán)境:能運(yùn)行IE 5以上或Netscape 5以上瀏覽器的操作系統(tǒng),配合使用Ajax技術(shù);5. 客戶端運(yùn)行工具:目前的系統(tǒng)采用瀏覽器作為客戶端,為了支持Ajax開發(fā)框架,應(yīng)該選擇使用IE 5以上版本瀏覽器。第2節(jié) 運(yùn)行架構(gòu)為了增加系統(tǒng)的吞吐量,提高并發(fā)處理客戶請(qǐng)求數(shù)量,系統(tǒng)采用了IBM服務(wù)器作為主機(jī)。利用現(xiàn)存框架可以更快開發(fā)系統(tǒng)。相比較而言PHP的功能相對(duì)簡(jiǎn)單,不適合做大程序;而CGI效率相對(duì)較低,所以也不考慮。blog對(duì)系統(tǒng)的可靠性、穩(wěn)定性有比較高的要求。下面對(duì)這進(jìn)行詳細(xì)介紹。隨著博客人數(shù)的增加, Blog 作為一種新的生活方式、新的工作方式、新的學(xué)習(xí)方式已經(jīng)被越來越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)結(jié)構(gòu):網(wǎng)絡(luò)信息不再是虛假不可驗(yàn)證的,交流和溝通更有明確的選擇和方向性,單一的思想和群體的智慧結(jié)合變的更加有效,個(gè)人出版變成人人都可以實(shí)現(xiàn)的夢(mèng)想—— Blog 正在影響和改變著我們的生活。1. 博客的注冊(cè)、登錄驗(yàn)證功能2. 網(wǎng)絡(luò)用戶通過關(guān)鍵字搜索博文功能3. 最熱門博客頁面推薦瀏覽4.
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1