【正文】
g i s A d m i n : i n tp e r s o n i d : I n t e g e r n a m e : S t r i n g d e s : S t r i n gs p a c e i d : I n t e g e r t i t l e : S t r i n g c o n t e n t : S t r i n g h i t : I n t e g e r d a t e C r e a t e d : S t r i n g s p a _ i d : I n t e g e r c a t _ i d : I n t e g e rp o s t i d : I n t e g e r n a m e : S t r i n g s p a _ i d : I n t e g e rc a t e g o r y i d : I n t e g e r n a m e : S t r i n g c o n t e n t : S t r i n g f l o o r : i n t d a t e C r e a t e d : S t r i n g i p C r e a t e d : S t r i n g p o s t _ i d : I n t e g e rr e p l y i d : I n t e g e r n a m e : S t r i n g c o n t e n t : S t r i n g f l o o r : i n t d a t e C r e a t e d : S t r i n g i p C r e a t e d : S t r i n g s p a _ i d : I n t e g e rc o m m e n t i d : I n t e g e r t i t l e : S t r i n g u r l : S t r i n g s p a _ i d : I n t e g e rl i n k111*1*1**1*1*121 如圖 41 所示 : ? Person Bean 用來保存用戶的基本信息 ,包括 :用戶 ID,帳號 ,密碼 ,昵稱 ,電子郵箱 ,性別 ,注冊時間 ,注冊 IP,是否為管理員。 系統(tǒng)運行機制 本節(jié)主要對整個系統(tǒng)運行平臺 的運行機制加以說明 , 運行平臺基于 windows 平臺 ,而開發(fā)平臺主要是基于面向?qū)ο蟮?JAVA 語言,另外整合了 JAVA WEB 流行框架Struts2 和 Hibernate。 用戶博客首頁:用戶博客首頁主要是對用戶個人的博客內(nèi)容進行展現(xiàn)。 留言管理 :對系統(tǒng)中所有的留言進行 管理,管理員可以通過用戶名搜索其對應(yīng)空間的留言,對其中不合法的留言進行刪除。 個人資料管理:可以對自己的個人資料進行更新。 4. 系統(tǒng)管理員 該類用戶為博客系統(tǒng)的網(wǎng)站管理員,本應(yīng)具有上述用戶的所有管理權(quán)限,為了減少系統(tǒng)的復(fù)雜度,這里只具有系統(tǒng)后臺的管理功能。 4. 留言管理,包括留言的添加、刪除、修改三大功能。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制 。 Apache Struts 2 是一個優(yōu)雅的,可擴展的 JAVA EE web 框架。 使用 MVC 模式 [3]使開發(fā)時間得到相當大的縮減,它使程序員集中精力于業(yè)務(wù)邏輯,界面程序員( HTML 開發(fā)人員)集中精力于表現(xiàn)形式上。 優(yōu)點如下: 1. 低耦合性 視圖層和業(yè)務(wù)層分離:這樣就允許更改視 圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動 MVC 的模型層即可。 Tomcat 簡介 Tomcat 是 Apache 軟件基金會( Apache Software Foundation) [3]的 Jakarta 項目中的一個核心項目,由 Apache、 Sun 和其他一些公司及個人共同開發(fā)而成。相比 ASP/PHP 的局限性是顯而易見的 [4]。以下為各自的介紹。它們都是各自獨立的程序,但是因為長期的放在一起使用,擁有越來越高的兼容性,共同組建了一個強大的 Web 應(yīng)用開發(fā)平臺。當用戶需要查看這些內(nèi)容時,直接通過所生成的唯一的 URL 地址,經(jīng)過服務(wù)器就直接能訪問到這些內(nèi)容,服務(wù)器基本不需要花費時間來生成這些內(nèi)容,這對于服務(wù)器軟硬件資源是一個很大的節(jié)省。正是因為整個互聯(lián)網(wǎng)產(chǎn)品設(shè)計理念的重大變化,具有代表性的 Web 時代的互聯(lián)網(wǎng)產(chǎn)品也就相繼出現(xiàn),如:論壇,博客、威客,社區(qū)、 RSS 和SNS 等。多用戶博客系統(tǒng)是支持多用戶注冊和管理的信息發(fā)布系統(tǒng)。開發(fā)過程中,采用 了 MVC 分層思想,運用了當今比較流行的 Web 前端開發(fā)技術(shù) JavaScript 等 。博客還有個最大的特點是可以圖 文并茂的描述一件事,在文字、圖片和視頻等的共同描述下,使得內(nèi)容更加生動形象。無疑會添加服務(wù)器的處理能力,在服務(wù)器端并發(fā)性一定的情況下,由于請求的用戶過多,而服務(wù)器又一時處理不過來,所請求的用戶必然會經(jīng)歷一個排隊的過程,從而使得系統(tǒng)的整體響應(yīng)時候大幅度添加,這樣的用戶體驗也就不言而喻了。 開發(fā)工具 本系統(tǒng)以 JavaEE 為解決方案, JavaEE 不只是穩(wěn)定性好,效率高和開源免費,它還有一個更重要的特點,那就是運行平臺無關(guān)性。 用 JSP 開發(fā)的 Web 應(yīng)用是跨平臺的,既能在 Linux 下運行,也能在其他操作系統(tǒng)上運行。 。 MyEclipse 簡介 5 MyEclipse 企業(yè)級工作平臺( MyEclipse Enterprise Workbench ,簡稱MyEclipse)是 對 Eclipse IDE 的擴展,利 用它我們可以在數(shù)據(jù)庫和 J2EE 的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。 MVC 模式允許你使用各種不同樣式的視圖來訪問同一個服務(wù)器端的代碼。 6 圖 11 MVC 模型 Struts 2 簡介 雖然 Struts 2 號稱是一個全新的框架,但這僅僅是相對 Struts 1 而言。 在經(jīng)歷了幾年的各自發(fā)展后, WebWork 和 Struts 社區(qū)決定合二為一,也即是 Struts 2。 系統(tǒng)概述 本系統(tǒng)的最主要功能是體現(xiàn)多用戶的使用,用戶可以在本系統(tǒng)注冊申請自己的博客。在系統(tǒng)中,所有游客都沒有身份標識,他們可以瀏覽博客中的日志和發(fā)表匿名的評論。 發(fā)表留言 :對瀏覽過的博客空間進行留言,由于游客沒有身份標識,所以只能匿名留言。 留言管理:對博客空間的留言進行管理,具體操作包括:添加留言,刪除留言。 本節(jié)將從硬件環(huán)境與軟件環(huán)境兩方面來進行描述。而 B/S 架構(gòu)則很好的解決了這一問題,該架構(gòu)的最終系統(tǒng)代碼只需要放在 Web 服務(wù)器上,而用戶僅僅通過瀏覽器就能輕松訪問系統(tǒng),而對于系統(tǒng)的升級,只需要將系統(tǒng)代碼更新到 Web 服務(wù)器上,用戶就能享受到新系統(tǒng)所帶來的功能體驗。最終通過 JSP 將需要返回,這一步是在 JSP 內(nèi)部完成。 ? Category Bean 用來保存分類的信息,包括 :分類 ID,分類名和所屬空間。 } } 數(shù)據(jù)庫與 Hibernate 配置 本系統(tǒng)使用現(xiàn)今流行的 Java Web 框架 Hibernate 來統(tǒng)一管理數(shù)據(jù)庫 ,在 MySQL數(shù)據(jù)庫中先建立好基本表 ,然后通過 Hibernate 與 Java Bean 對應(yīng)映射關(guān)系 ,Hibernate配置文件如下 所示 : sessionfactory property name=root/property !數(shù)據(jù)庫管理名 property name= jdbc: /property property name=dialect/property property name= /property property name=123/property !數(shù)據(jù)庫密碼 property name= !數(shù)據(jù)庫驅(qū)動 /property property name=current_session_context_classthread/property property name=show_sqltrue/property !在終端顯示 SQL語句 mapping resource=/lu/blog/bean/ / ... /sessionfactory Struts 2 配置 本系統(tǒng)采用經(jīng)典的 MVC 設(shè)計模式,由現(xiàn)今流行的 Java Web 框架 Struts 2 進行統(tǒng)一管理, Struts 2 是一個十分實用的 MVC 框架, Struts 2 的配置文件如下 所示 : struts constant name= value=UTF8/constant package name=main extends=strutsdefault action name=register class= method=add !執(zhí)行 action result name=success/person//result !跳轉(zhuǎn)至成功頁面 result name=error/person//result 23 /action action name=login class= method=login result name=LoginSuccess/person//result result name=input/person//result /action /package /struts 模塊詳細設(shè)計 與實現(xiàn) 本節(jié)將詳細介紹博客系統(tǒng)各模塊的設(shè)計 ,主要模塊包括 :登錄與注冊模塊 ,日志管理模塊 ,日志評論模塊 ,分類模塊 ,留言模塊。 //驗證密碼是否與數(shù)據(jù)庫中數(shù)據(jù)匹配 ,若不匹配則 if ((account, password) == null) { //返回消息錯誤 message = 用戶名和密碼錯誤 !。 //從添加日志頁面接收 標題 private String content。 Space s = (Space) (0)。 //將空間對象保存到 post (category)。具體流程如下圖 45 所示 : 圖 45 修改日志流程圖 修改日志代碼如下 (省略 getter(),setter()方法 )所示 : public class EditPostAction extends ActionSupport { 是 否 有 修 改更 新 日 志 表向 日 志 表 插 入 內(nèi) 容是否根 據(jù) I D 查 詢 日 志是 否 存 在 所 查 日 志讀 取 日 志 信 息是否28 private static final long serialVersionUID = 7616571471898530213L。 List list = (List) ().getSession(true).getAttribute(splist)。 Integer pid = (id)。 return editSuccess。 List plist = (List) (pid)。 private Integer pid。 SimpleDateFormat sdf=new SimpleDateFormat(yyyy年 MM月 dd日 HH:mm:ss)。 下面以添加分類代碼為例,添加分類代碼如下 (省略 getter(),setter()方法 )所示 : public class AddCategoryAction extends ActionSupport { private String name。 Integer sid=()。 private String content。