【摘要】本系統(tǒng)基于JDK+SQL+RESIN+JAVABEAN開發(fā)和測試,實現(xiàn)了新聞發(fā)布、修改、刪除,前臺網(wǎng)頁自動生成,以及后臺和數(shù)據(jù)庫的管理功能,完成了一個新聞發(fā)布系統(tǒng)的大部分功能。在此系統(tǒng)的設(shè)計過程中采用了封裝、異常捕獲、復(fù)雜邏輯操作、承受網(wǎng)絡(luò)峰值訪問和容錯性技術(shù)。本系統(tǒng)的可以滿足新聞發(fā)布需求,具有實踐應(yīng)用價值。
【關(guān)鍵詞】JAVABEAN;新聞發(fā)布;模板;自定義標簽
Abstract:
The system adopted JDK+SQL+RESIN+JAVABEAN as the developmental environment and the test server. It has achieved the limitlessly-classified setting of news classification, the release、revision and deletion of static news, the self-defining and begetting template of frontstage page. And it has also made a series functions of backstage administrator's authority, the backup and the deflate of the database, etc. performed effectively. It has completed all functions of a static news release system. The system has captured most of unusual situation, and possessed a better fault-tolerant quality. The frontstage page generated HTML static page totally, and stopped the possibility of general users to operate the database directly.
Keywords JAVABEAN, News release, Template, Self-defining label.
1.緒論
新聞發(fā)布系統(tǒng)的提出能使彌補電視的不足,也充當了新聞媒介的重要功能?;贐/S模式的新聞發(fā)布系統(tǒng)(NRS,News Release System),可以將文字、圖像、視頻、聲音等無序雜亂信息合理有序地進行組織和呈現(xiàn)。新聞發(fā)布可以實現(xiàn)與用戶交互,讓用戶方便地參加新聞?wù){(diào)查和相關(guān)評論,這一點是電視等其他一些媒體目前難以做到的。
2 系統(tǒng)的體系結(jié)構(gòu)
本新聞系統(tǒng)設(shè)計成三層結(jié)構(gòu):第一層是前臺瀏覽用戶,主要實現(xiàn)界面的顯和程序代碼的解釋。中間層通過JAVABEAN組件來實現(xiàn)數(shù)據(jù)庫的修改、查詢、刪除等操作的封裝以及頁面生成工作和全部中間業(yè)務(wù)邏輯。第三層是數(shù)據(jù)庫服務(wù)器,主要對系統(tǒng)提高數(shù)據(jù)服務(wù)。
本系統(tǒng)主要通過JAVA類庫來實現(xiàn)數(shù)據(jù)庫的管理和靜態(tài)文件的生成操作,形成了如下一個完整的新聞發(fā)布過程:欄目管理->文章管理->模板管理->HTML頁面自動生成。
3.業(yè)務(wù)流圖與數(shù)據(jù)流程圖
后臺管理員通過登錄驗證獲得后臺管理權(quán)限,可以通過:設(shè)置欄目->添加文章->添加模板->綁定模板->生成文件等一系列的系統(tǒng)業(yè)務(wù)來完成一個新聞系統(tǒng)的設(shè)置和新聞的發(fā)布,圖2為本系統(tǒng)的業(yè)務(wù)流程圖。
4.數(shù)據(jù)庫分析
數(shù)據(jù)庫要對如下信息進行處理:新聞信息、類別、用戶信息、投票信息、公告信息、模板信息、系統(tǒng)設(shè)置、日志等;其數(shù)據(jù)結(jié)構(gòu)如下:
管理員信息表:標識、登錄ID,密碼、權(quán)限等級、用戶創(chuàng)建時間、是否鎖定;
類別信息表:標識、類型名、創(chuàng)建時間、父類別、所處層、祖先層ID序列、是否是最底層類別、生成HTML文件時名稱;
新聞信息表:新聞內(nèi)容、是否包含圖片、作者、標識、類別ID、加入時間、圖片路徑、關(guān)鍵字、標題、標題顏色、是否已經(jīng)創(chuàng)建成HTML文件、創(chuàng)建HTML的文件名、審核、是否推薦、是否滾動;
投票信息表:標識、調(diào)查問題、回答選項1、回答選項2、回答選項3、回答選項4、回答選項5、回答選項6、選項1被選次數(shù)、選項2被選次數(shù)、選項3被選次數(shù)、選項4被選次數(shù)、選項5被選次數(shù)、選項6被選次數(shù)、是否多選、參加人數(shù)、開始時間;
模板信息表:標識、模板名稱、模板類型、模板內(nèi)容、創(chuàng)建時間;
模板綁定信息表:標識、類型名、模板ID、狀態(tài);
公告表:公告;
系統(tǒng)默認設(shè)置表:標識、主頁名稱、主頁地址、管理員E-mail、網(wǎng)站LOGO、每頁新聞顯示條數(shù)、每頁評論顯示條數(shù)、相關(guān)新聞條數(shù)、是否開放評論、默認評論審核狀態(tài)、默認新聞審核狀態(tài)、新聞默認作者、新聞默認來源。
5.部分關(guān)鍵技術(shù)設(shè)計詳解
5.1基于WEB的可見即可得編輯器
為了便于新聞信息發(fā)布,本系統(tǒng)開發(fā)了一個WEB編輯器,具有可見即可得特性,代碼插入之后的效果可以看到,提高了系統(tǒng)方便性。例如:當用戶插入圖片時,系統(tǒng)通過Composition.document.body.innerHTML=img的代碼就向Composition框架插入從圖5窗口返回的HTML代碼片段。
5.2前臺頁面的生成
本新聞系統(tǒng)采用了JAVABEAN技術(shù),JAVA程序來生成前臺頁面,利用Regular expression來匹配標簽實現(xiàn)模板替換中。
本系統(tǒng)采用正則表達式格式定義了如下標簽:
通用標簽:
主頁標簽:
模板主要有主頁、欄目和新聞瀏覽3大類別。通過JAVABEAN建立了這3個類的生成文件,并利用JSP觸發(fā)調(diào)用。下面圖6是生成系統(tǒng)的邏輯關(guān)系圖。本系統(tǒng)生成文件會自動根據(jù)加入數(shù)據(jù)庫的時間來命名并存入到數(shù)據(jù)庫中,其格式為N_MDHMS.html。