報告材料主要是向上級匯報工作,其表達(dá)方式以敘述、說明為主,在語言運(yùn)用上要突出陳述性,把事情交代清楚,充分顯示內(nèi)容的真實(shí)和材料的客觀。報告對于我們的幫助很大,所以我們要好好寫一篇報告。以下是我為大家搜集的報告范文,僅供參考,一起來看看吧
jsp實(shí)訓(xùn)報告總結(jié) jsp實(shí)驗(yàn)一報告總結(jié)篇一
記得在第一節(jié)課上,老師您就跟我們講了“為什么學(xué)jsp ?”、“ jsp 學(xué)什么?”、“學(xué)jsp 有什么用?”,還有“ 如何學(xué)jsp ?”從老師對這些問題的講解中我確實(shí)體會到了jsp 在當(dāng)今社會起到的重要作用和如何去學(xué)。在課上還了解了這門課程老師要講述的主要內(nèi)容以及需要具備的相關(guān)知識。
學(xué)到了什么
我想簡單的談?wù)勎以趈sp 網(wǎng)站開發(fā)這門課中都學(xué)到了什么,jsp 的全稱是java server pages,它是一種動態(tài)網(wǎng)頁技術(shù)。我們需要配置的壞境有jdk, tomcat,還要用到dreamweaver。jsp是由sunmicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁html文件(*.htm,*.html)中加入java程序片段(scriptlet)和jsp標(biāo)簽,就構(gòu)成了jsp網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送e-mail等,實(shí)現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持java,也可以訪問jsp網(wǎng)頁。
jsp在根本上是一個簡化的servlet設(shè)計(jì),他實(shí)現(xiàn)了html語法中的java擴(kuò)張(以 <%, %>形式)。jsp與servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個html文本,因此客戶端只要有瀏覽器就能瀏覽。web服務(wù)器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同jsp文件中的html代碼一起返回給客戶端。插入的java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。
相比較其他主流動態(tài)網(wǎng)頁技術(shù),jsp具有很多獨(dú)特的優(yōu)勢,如 1.適用于任何平臺、支持者眾多 2.程序的執(zhí)行效率高 3.擁有java優(yōu)勢 4.強(qiáng)大的服務(wù)器組件 5.強(qiáng)大的數(shù)據(jù)庫支持 下面是jsp與主流動態(tài)網(wǎng)頁技術(shù)比較
最開始我們學(xué)習(xí)了html 這種文本標(biāo)記語言,學(xué)習(xí)起來感覺很輕松,用html可以做一些靜態(tài)網(wǎng)站,在我第一次用html做出第一個網(wǎng)頁時,我真的覺得好有成就感,好神奇?。『竺嫖覀儗W(xué)到做動態(tài)網(wǎng)站,其中就涉及到j(luò)sp 內(nèi)部對象及內(nèi)部對象所對應(yīng)的一些方法。再就是jsp與數(shù)據(jù)庫的聯(lián)系,怎么樣引用數(shù)據(jù)庫。通過以上所學(xué)到的知識我們可以基本上上做出一個比較實(shí)用的小網(wǎng)站,比如一個班級網(wǎng)站,在上面可以上傳下載一些學(xué)習(xí)資料,以及存儲班上同學(xué)的一些基本信息,給班上同學(xué)提供一個交流平臺等等。但是由于學(xué)習(xí)過程中沒有很認(rèn)真的去學(xué),而且是第一次接觸,所以技術(shù)還沒有那么成熟,而且身邊的同學(xué)大多貌似對這不感興趣,沒有志同道合的人,所以更讓我想做一個動態(tài)網(wǎng)站的決心減弱,哎,靜態(tài)網(wǎng)站實(shí)在有點(diǎn)拿不出手,所以只有寫這篇感想了。
學(xué)習(xí)反思
從這九個周的學(xué)習(xí)中,我覺得自己在這門課的學(xué)習(xí)上還存在很多不足,比如覺得學(xué)習(xí)基礎(chǔ)時很枯燥,雖然老師講的滿風(fēng)趣的。其實(shí)我并沒有很認(rèn)真的去學(xué),基本上就是老師上課講了我就聽,下課并沒有去鞏固老師所講的內(nèi)容。記得老師在第一節(jié)課的時候就說我們這門課要多操作,可是我并沒有按照老師的要求做。也許對于大多數(shù)人來說他就是一門選修課,也許他們就是為了混一下學(xué)分;也許他們也不知道他們要選哪一門課,看著這門課的名字比較牛,然后就選了;也許,從此以后他們就不會再碰他了;但是在這之中我更看重的是一種學(xué)習(xí)的態(tài)度,既然選了就要把他學(xué)好,即使不能學(xué)得很好,那也不能懈怠,因?yàn)槲矣X得自己選擇的路,跪著也要走完,所以在很多人都沒有去上課的情況下我還是基本上都去了,還有一個原因就是想在大學(xué)里多學(xué)一點(diǎn)知識,因?yàn)榫拖駟滩妓乖谒固垢4髮W(xué)的演講中講到:“你在向前展望的時候不可能將這些片斷串連起來,你只能在回顧的時候?qū)Ⅻc(diǎn)點(diǎn)滴滴串連起來。所以你必須相信這些片斷會在你未來的某一天串連起來。你必須要相信某些東西:你的勇氣、目的、生命、因緣。這個過程從來沒有令我失望,只是讓我的生命更加地與眾不同而已”然后我也覺得這門課程會在我以后的人生中起到一定的作用。
以上就是我通過這次jsp網(wǎng)站開發(fā)課程學(xué)習(xí)所得到的一些心得體會,雖然自只有九個周的學(xué)習(xí)時間但是我真的學(xué)到了很多知識,在這里真誠的謝謝老師了!
湯佳偉
計(jì)科2班 學(xué)號:1204211063
jsp實(shí)訓(xùn)報告總結(jié) jsp實(shí)驗(yàn)一報告總結(jié)篇二
《jsp網(wǎng)站》實(shí)踐報告
專業(yè):信息與計(jì)算科學(xué)
班級:信息
姓名:牟林
指導(dǎo)教師:
**網(wǎng)頁開發(fā)(就業(yè)信息網(wǎng))0802
200x年xx月----
摘要
在internet飛速發(fā)展的今天,互聯(lián)網(wǎng)已成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,正以一種前所未有的沖擊力影響著人類的活動。它在人們政治、經(jīng)濟(jì)、生活等各個方面發(fā)揮著重要的作用。因此網(wǎng)站建設(shè)在internet應(yīng)用上的地位顯而易見,它已成為政府。企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。
這次所設(shè)計(jì)的課題正是互聯(lián)網(wǎng)與社會生活之間的緊密關(guān)系的體現(xiàn),現(xiàn)金的社會,人們已經(jīng)離開不了網(wǎng)絡(luò),網(wǎng)絡(luò)已經(jīng)成為人與人之間交流的一種形式,它能夠把事情的復(fù)雜化轉(zhuǎn)為簡單化,拜托了時間和空間的限制。本文是為消費(fèi)者提供一個網(wǎng)絡(luò)生活空間。通過該網(wǎng)頁展示了企業(yè)介紹、招聘信息、留言等一系列內(nèi)容的介紹。瀏覽者可以直接在網(wǎng)上申請應(yīng)聘。本文還介紹了網(wǎng)頁的結(jié)構(gòu)分析和具體功能實(shí)現(xiàn),網(wǎng)頁的界面和運(yùn)作方式。
關(guān)鍵詞: javabean、jsp、sqlserver2000、目錄
一.1.1 **的目標(biāo)和意義..............................1 二級標(biāo)題(標(biāo)題2)..........................1
1.1.1
二.2.1 三級標(biāo)題(標(biāo)題3)...........................1 目前國內(nèi)外相關(guān)工作情況............................1 二級標(biāo)題(標(biāo)題2)..........................1
2.1.1
三.3.1 三級標(biāo)題(標(biāo)題3)...........................1 **網(wǎng)頁的總體設(shè)計(jì).................................1 二級標(biāo)題(標(biāo)題2)..........................2
3.1.1
四.4.1 三級標(biāo)題(標(biāo)題3)...........................2 xx網(wǎng)頁的詳細(xì)規(guī)劃..............................2 二級標(biāo)題(標(biāo)題2)..........................2
4.1.1
五.5.1 三級標(biāo)題(標(biāo)題3)...........................2 測試....................................2 二級標(biāo)題(標(biāo)題2)..........................2
5.1.1 三級標(biāo)題(標(biāo)題3)...........................2
參考文獻(xiàn).................................3一.**的目標(biāo)和意義
本章內(nèi)容提示:
給出課題背景與意義
課題要研究什么?解決什么問題?
你所分擔(dān)工作的描述
對社會經(jīng)濟(jì)、科學(xué)(或?qū)W科)發(fā)展、技術(shù)進(jìn)步等有什么意義?
1.1 二級標(biāo)題(標(biāo)題2)
1.1.1 三級標(biāo)題(標(biāo)題3)
最多三級標(biāo)題,其它為正文。
二.目前國內(nèi)外相關(guān)工作情況
本章內(nèi)容提示:
現(xiàn)在有那些人在做與題目相關(guān)的研究工作?
運(yùn)用(采用)了什么樣的方法?
你對現(xiàn)有的開發(fā)工具(如html 等)有什么樣的評價?
分析你所選用的開發(fā)工具的特點(diǎn)和優(yōu)勢。
目前的發(fā)展趨勢是什么?
2.1 二級標(biāo)題(標(biāo)題2)
2.1.1 三級標(biāo)題(標(biāo)題3)
最多三級標(biāo)題,其它為正文。
三.**網(wǎng)頁的總體設(shè)計(jì)
本章內(nèi)容提示:
整體方案設(shè)計(jì)
分析你所使用的技術(shù)。
畫出系統(tǒng)的功能圖等并進(jìn)行文字說明。
3.1 二級標(biāo)題(標(biāo)題2)
3.1.1 三級標(biāo)題(標(biāo)題3)
最多三級標(biāo)題,其它為正文。
網(wǎng)頁的詳細(xì)規(guī)劃
結(jié)合你所實(shí)現(xiàn)的功能,使用文字和代碼說明開發(fā)過程、開發(fā)的流程圖、界面等
4.1 二級標(biāo)題(標(biāo)題2)
4.1.1 三級標(biāo)題(標(biāo)題3)
最多三級標(biāo)題,其它為正文。
五.測試
本章內(nèi)容提示:
結(jié)果運(yùn)行界面說明測試結(jié)果。
5.1 二級標(biāo)題(標(biāo)題2)
5.1.1 三級標(biāo)題(標(biāo)題3)
最多三級標(biāo)題,其它為正文。
沈陽化工大學(xué)計(jì)算機(jī)學(xué)院實(shí)踐報告
jsp網(wǎng)站實(shí)踐參考文獻(xiàn)
在論文中引用其它文獻(xiàn)的內(nèi)容,都要列于此。
注意:論文內(nèi)容決不允許抄襲,但允許小部分(幾句話)的引用。
按引用文獻(xiàn)的順序,列于論文末。文獻(xiàn)是期刊時,書寫格式為:“作者,文章題目,期刊名,年份,卷號,期數(shù),頁碼。文獻(xiàn)是圖書時,書寫格式為:作者,書名,出版單位,年月。
例:毛海軍,唐煥文.基于agent的決策支持系統(tǒng)[j].計(jì)算機(jī)工程與應(yīng)用,2001.37(15):12~13黃梯云.智能決策支持系統(tǒng)[m].北京:電子工業(yè)出版社,2001[美]bruce eckel著.京京工作室 編程思想[m].北京:機(jī)械工業(yè)出版社,1999,4corry, mayfield, /dcom programming guide[m].beijing, tshinghua university press,2000
jsp實(shí)訓(xùn)報告總結(jié) jsp實(shí)驗(yàn)一報告總結(jié)篇三
基于jsp校友錄系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 關(guān)鍵字:: 校友錄,信息,管理
計(jì)算機(jī)技術(shù)的快速發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,它影響了人們生活的方方面面.各種在線服務(wù)系統(tǒng),更是深刻的影響了人們的聯(lián)系方式,使得人們可以在遠(yuǎn)隔千里之遙隨時通訊.過去的種種陳舊的聯(lián)系方式,已經(jīng)不能滿足現(xiàn)代生活的需要.校友錄作為一種方便校友之間聯(lián)系的實(shí)用系統(tǒng)便應(yīng)運(yùn)而生.校友錄為校友之間進(jìn)行交流和聯(lián)系提供了一個平臺.通過提供完善的校友錄服務(wù)和規(guī)范校友錄的管理,可以達(dá)到增進(jìn)校友之間、校友與母校之間的感情,方便校友聯(lián)系的目的.本文主要介紹了數(shù)據(jù)庫管理網(wǎng)站的方案論證、結(jié)構(gòu)特性設(shè)計(jì)及行為特性設(shè)計(jì)的實(shí)現(xiàn)過程,詳細(xì)論述了總體設(shè)計(jì)思想、數(shù)據(jù)庫設(shè)計(jì)和功能模塊設(shè)計(jì).實(shí)現(xiàn)了班級留言、班級相冊、班級共享、紙條傳情、個人信息管理、管理員信息管理等功能.整個系統(tǒng)的設(shè)計(jì)過程中,充分考慮了數(shù)據(jù)庫的安全性、一致性、穩(wěn)定性和可靠性的問 第一章概述 1.1 題目背景
計(jì)算機(jī)技術(shù)的快速發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,越來越深刻的改變了人們生活的方方面面.使得人們能以更低廉的價格,開發(fā)出更方便、更實(shí)用的網(wǎng)絡(luò)工具.各種在線服務(wù)系統(tǒng),更是深刻的影響了人們的聯(lián)系方式,使得人們可以在遠(yuǎn)隔千里之遙隨時通訊.過去的種種陳舊的聯(lián)系方式,已經(jīng)不能滿足現(xiàn)代生活的需要.校友錄作為一種方便校友之間聯(lián)系的實(shí)用系統(tǒng)便應(yīng)運(yùn)而生.校友錄為校友之間進(jìn)行交流和聯(lián)系提供了一個平臺.通過提供完善的校友錄服務(wù)和規(guī)范校友錄的管理,可以達(dá)到增進(jìn)校友之間、校友與母校之間的感情,方便校友聯(lián)系的目的.目前網(wǎng)絡(luò)上已經(jīng)存在很多校友錄,像chinaren、網(wǎng)易、新浪、5460等,它們都有各自的特色,當(dāng)然也有一不足.比如: chinaren的校友錄,速度快,但功能單一,突出留言功能;5640的 ,則功能比較新穎,界面樸素,但速度慢;新浪的功能較全,但界面很花哨,不易適應(yīng).所以我將設(shè)計(jì)一個校友錄管理網(wǎng)站,以友好的界面,快捷的操作完成強(qiáng)大的功能 1.2 項(xiàng)目內(nèi)容
校友錄管理網(wǎng)站是基于sql server 2000數(shù)據(jù)庫系統(tǒng)開發(fā)的應(yīng)用系統(tǒng),它充分利用計(jì)算機(jī)及網(wǎng)絡(luò)的數(shù)據(jù)處理、數(shù)據(jù)協(xié)同、數(shù)據(jù)分析的能力,也從根本上加強(qiáng)并促進(jìn)了同學(xué)間的信息交流、資源共享及有效的管理等,進(jìn)而增強(qiáng)了交流和管理.項(xiàng)目的內(nèi)容主要包括: 1)班級留言:普通文本留言 多彩html留言留言修改 2)班級:相片上傳相片評論 自動縮略圖 3)班級共享:共享文件上傳
4)紙條傳情:給具體某人的小紙條
5)班級管理和班級參數(shù)的設(shè)置更加方便 6)成員地址簿和班級留言的導(dǎo)出 7)個人信息管理、管理員信息管理 1.3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目標(biāo)
1)操作界面友好、功能多、操作簡單,查詢功能強(qiáng)大 2)數(shù)據(jù)庫設(shè)計(jì)合理,減少冗余數(shù)據(jù),提高系統(tǒng)效率
3)應(yīng)用jsp技術(shù),前臺采用jbuilder作為編譯環(huán)境,后臺數(shù)據(jù)庫使用sql server 2000.第二章方案論證 2.1 總體設(shè)計(jì)思想
一個校友錄所應(yīng)具備的基本功能,主要包括學(xué)校搜索、班級搜索、校友/同學(xué)搜索、班級留言、成員地址列表、班級相冊、班級共享、成員來訪記錄、個人信息、班級管理等功能.我采用jsp技術(shù),封裝數(shù)據(jù)庫操作,所有的數(shù)據(jù)通過bean來處理,jsp實(shí)現(xiàn)頁面的表現(xiàn),這樣就把頁面的表現(xiàn)和頁面的邏輯相分離.(如下圖:)第三章結(jié)構(gòu)特性設(shè)計(jì) 3.1 結(jié)構(gòu)設(shè)計(jì)
這一章主要向大家介紹本系統(tǒng)所涉及的具體的數(shù)據(jù)庫結(jié)構(gòu),本系統(tǒng)后臺數(shù)據(jù)庫采用的是sql server 2000企業(yè)版,下面將做一下簡要的介紹.本系統(tǒng)主要涉及到的數(shù)據(jù)庫中的表有: 省份信息表:用于記錄省份的名稱和id號.城市信息表:用于記錄城市名稱,城市和省份的id號.省份信息表和城市信息表的關(guān)系是一對多的關(guān)系.安全信息表:用于記錄與安全信息相關(guān)的內(nèi)容,安全碼是除有效證件之外最高級別的帳號保護(hù)措施.利用安全碼不僅可以修復(fù)登錄密碼,還可以修改密碼提示問題及答案、重新設(shè)置保密郵箱等.用戶注冊信息表:用于記錄用戶名,密碼等內(nèi)容.用戶個人信息表:用于記錄用戶的個人詳細(xì)資料.紙條信息表:用于記錄用戶與用戶之間所傳遞的站內(nèi)短消息內(nèi)容,包括消息發(fā)送時間,內(nèi)容及傳遞雙方的用戶名等.班級信息表:包括班級的創(chuàng)始人,創(chuàng)辦日期,班級宣言等班級相關(guān)信息.班級留言信息表:用于記錄班級的留言信息.成員信息表:包括成員名稱,所屬班級等相關(guān)信息.學(xué)校信息表:包括學(xué)校名稱,級別等相關(guān)信息.3.2 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫指長期存儲在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合.數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享.本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)了多個表用于信息存儲.下面將本系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)中建立的表列出,運(yùn)用這些表基本上能存儲系統(tǒng)運(yùn)行涉及的數(shù)據(jù).4.2 功能概要設(shè)計(jì) 4.2.1系統(tǒng)總體模塊
在校友錄管理網(wǎng)站中,用戶可以實(shí)現(xiàn)多種操作,像學(xué)校管理,班級管理和用戶管理.在學(xué)校管理中,用戶可以通過選擇所提供的城市和省份對學(xué)校進(jìn)行創(chuàng)建和搜索等操作.在班級管理中,用戶除了可以創(chuàng)建、搜索班級之外,還可以對班級成員進(jìn)行管理,并且還可以在班級管理中進(jìn)行班級留言和班級相冊的操作.在用戶管理中,對于用戶的注冊、登錄、安全設(shè)置等方面做了詳細(xì)的操作.4.2.2學(xué)校管理模塊 l 創(chuàng)建學(xué)校
在該功能中用戶可以通過選擇學(xué)校類型,學(xué)校所在城市和地區(qū),填寫學(xué)校全稱來建立一個新的學(xué)校.為了使同學(xué)和其他用戶能準(zhǔn)確方便地找到自己所屬的學(xué)校,創(chuàng)建學(xué)校之前應(yīng)該確認(rèn)在校友錄中沒有自己所要創(chuàng)建的學(xué)校,對于不清楚的用戶可以先進(jìn)行搜索.在選擇學(xué)校類型時,可以在下拉列表中選擇所要創(chuàng)建的學(xué)校是大學(xué),大專,中學(xué)還是小學(xué);在選擇學(xué)校所在城市和地區(qū)中,用戶可以先選擇所在的省份,再選擇所對應(yīng)的城市,其中每個省份對應(yīng)不同的城市;在填寫學(xué)校全稱時,界面會提示用戶在為學(xué)校命名時盡量注意規(guī)范.其中為學(xué)校命名時盡量使用全稱而不是簡稱,學(xué)校名在四到三十個漢字之間.搜索學(xué)校 如果用戶想搜索某個學(xué)校,則可以在該頁中選擇學(xué)校所在地區(qū),城市,類別及名稱.在點(diǎn)擊搜索按鈕后,系統(tǒng)會根據(jù)所輸入的搜索條件列出全部滿足條件的學(xué)校,當(dāng)符合條件的學(xué)校多于15個時,則可以利用翻頁功能上下查找,也可以精確定位到第幾頁.在選擇學(xué)校所在地區(qū)中,用戶通過下拉列表選擇學(xué)校所在在省份;在選擇學(xué)校所在城市中,用戶通過下拉列表確定所選省份中的某一城市;在選擇學(xué)校類別時,用戶可以在下拉列表中選擇所要創(chuàng)建的學(xué)校是大學(xué),大專,中學(xué)還是小學(xué);最后填寫學(xué)校名稱進(jìn)行搜索.再搜索完成之后,如果顯示的學(xué)校列表中沒有自己所在的班級,則可以通過學(xué)校名稱進(jìn)行查找或創(chuàng)建班級的操作.如果搜索的學(xué)校不在列表中,就應(yīng)該檢查搜索選項(xiàng)以及學(xué)校名稱是否有誤,如果有誤應(yīng)返回首頁重新搜索,如果確認(rèn)搜索信息無誤且所需學(xué)校沒有出現(xiàn)在列表中,則可以進(jìn)行創(chuàng)建學(xué)校的工作.l 搜索校友
用戶可以通過一定條件的查尋來搜索校友,在查尋時可以選擇學(xué)校所在的城市、省份來確定學(xué)校所在的地區(qū),在確定學(xué)校之后,可以通過對班級的查尋來尋找校友所在的班級.這樣便完成了對校友逐級向下的查找過程.4.2.3班級管理模塊 l 創(chuàng)建班級
用戶在創(chuàng)建班級之前應(yīng)該確認(rèn)所要創(chuàng)始的班級不存在,在確認(rèn)之后用戶可以在班級名稱文本框中輸入所需創(chuàng)建班級的名稱,在入學(xué)年份中用戶可以通過下拉列表框進(jìn)行選擇.然后點(diǎn)擊注冊按鈕完成新班級的創(chuàng)建.l 搜索班級
搜索班級的功能和搜索學(xué)校的功能相似,用戶在入學(xué)年份中輸入入學(xué)時間,在班級名稱文本框中輸入所要搜索的班級名稱之后點(diǎn)擊搜索按鈕,則在下面的表格中出現(xiàn)符合條件的班級名稱,如果符合條件的班級數(shù)目超過15個,則可以使用分頁功能,上下查詢,也可以精確定位到某一頁進(jìn)行查詢.如果所要搜索的班級沒有出現(xiàn)在列表中,則可以進(jìn)行創(chuàng)建班級的工作.1課題來源
本課題為用jsp開發(fā)校友錄系統(tǒng),本課題要用jsp技術(shù)并結(jié)合基于mvc模型的struts框架來完成一個具有通用功能的校友錄系統(tǒng),其中包括班級管理、留言板管理、班級成員管理。
2研究的目的和意義 2.1校友錄系統(tǒng)發(fā)展現(xiàn)狀
internet是目前世界上最大的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模、各種形式的網(wǎng)絡(luò)連接成一個整體。這樣一個網(wǎng)絡(luò)文化氛圍對人類的活動產(chǎn)生了重大和深遠(yuǎn)的影響。據(jù)估計(jì),目前internet上已有上百萬個web站點(diǎn),其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂、體育等各個領(lǐng)域,其用戶群十分龐大,因此,建設(shè)一個好的web站點(diǎn)對于一個機(jī)構(gòu)的發(fā)展十分重要。
校友錄系統(tǒng)就是在這樣的情況下應(yīng)運(yùn)而生?;诰W(wǎng)絡(luò)的校友錄系統(tǒng)一改傳統(tǒng)的紙質(zhì)校友錄的消息陳舊、更新困難、不便于實(shí)時聯(lián)系等種種弊端,它讓我們可以隨時隨地的更方便的跟同學(xué)、校友、朋友聯(lián)系。目前網(wǎng)絡(luò)上校友錄系統(tǒng)的基本功能都大同小異,比如班級管理、成員管理、留言功能等都能基本滿足用戶的需要,差別最大的還是各校友錄系統(tǒng)所運(yùn)用的技術(shù)。目前用asp、php、jsp等技術(shù)開發(fā)的校友錄系統(tǒng)都有,他們各有各的優(yōu)勢所在。但從網(wǎng)絡(luò)技術(shù)的發(fā)展來看,jsp技術(shù)是目前運(yùn)用到的主流開發(fā)技術(shù)。它具有更明顯的優(yōu)勢,這在后續(xù)的畢業(yè)設(shè)計(jì)論文中將會向您展示。
目前國內(nèi)的校友錄系統(tǒng)眾多,主要的有5460、搜狐的chinaren、qq校友錄以及各高校自己的校友錄系統(tǒng)。這些校友錄系統(tǒng)雖然運(yùn)用技術(shù)不盡相同,但是他們的功能、目的都有著一些共同點(diǎn)。5460、chinaren、網(wǎng)易等校友錄系統(tǒng)運(yùn)用的是jsp技術(shù),這些服務(wù)對象比較廣泛、針對性較弱的校友錄系統(tǒng)提供的服務(wù)都是最普通的,他們能滿足絕大多數(shù)人的需求,使得分散于全國各地的校友們能找到這樣一個虛擬的集體組織,使得大家不用再為如何聯(lián)系自己長久未見的同學(xué)、朋友而發(fā)愁,校友錄提供的就是這樣一個方便聯(lián)系的平臺。某些高校校友錄系統(tǒng)可能創(chuàng)建時間比較早,他們運(yùn)用的技術(shù)也相對較早一些,比如武漢大學(xué)和華中科技大學(xué),他們的校友錄系統(tǒng)就是運(yùn)用asp技術(shù)來開發(fā)的。用php開發(fā)的系統(tǒng)有中國同事錄,還有大家比較熟悉的qq校友錄,它是運(yùn)用shtml開發(fā)的。以上這些校友錄系統(tǒng)運(yùn)用到了很多不同的技術(shù),但是他們對社會的影響、給人們帶來的方便是一樣的。
2.2基于網(wǎng)絡(luò)的校友錄技術(shù)的發(fā)展帶來的影響
近年來計(jì)算機(jī)技術(shù)特別是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,越來越深刻的改變了我們生活的方方面面。我們正在向信息時代邁進(jìn),對于應(yīng)用者而言,網(wǎng)絡(luò)技術(shù)的發(fā)展帶給我們更多、更廣闊的信息資訊,它讓我們在足不出戶的時候也能及時的、準(zhǔn)確的知道各種信息,對于開發(fā)者而言,它也使得我們能以更低廉的價格,開發(fā)出更方便、更實(shí)用的網(wǎng)絡(luò)工具。比如各種在線信息服務(wù),更是深深的改變了我們傳統(tǒng)的聯(lián)系方式,使得我們可以在相隔千里的情況下隨時隨地通訊。過去的種種陳舊的聯(lián)系方式,已經(jīng)不能滿足現(xiàn)代生活的需要,現(xiàn)在生活的節(jié)奏越來越快,信息更新也快,傳統(tǒng)的面對面的交流以及通過紙張來獲取信息的方法已經(jīng)完全滿足不了我們聯(lián)系世界的需要,我們迫切需要的是能適應(yīng)各種使用環(huán)境的多元化的功能豐富的通訊應(yīng)用系統(tǒng),這讓我們能在當(dāng)今社會以更高的效率來面對人與人之間的聯(lián)系關(guān)系,校友錄系統(tǒng)就是這樣一個實(shí)現(xiàn)上述諸多功能的網(wǎng)絡(luò)系統(tǒng)。2.3校友錄系統(tǒng)的實(shí)用價值
校友錄作為一種方便校友之間聯(lián)系的實(shí)用系統(tǒng)便在這樣的情況下產(chǎn)生與發(fā)展起來的。目前internet上的校友錄系統(tǒng)眾多,他們提供的功能與服務(wù)都大同小異,在技術(shù)上也日趨成熟。校友錄是為校友之間進(jìn)行交流和聯(lián)系提供的一個平臺。通過提供完善的校友錄服務(wù)和規(guī)范校友錄的管理,可以達(dá)到增進(jìn)校友之間、校友與母校之間的感情,方便校友聯(lián)系的目的?;诂F(xiàn)在網(wǎng)絡(luò)上校友錄系統(tǒng)越來越多、所用技術(shù)各異的特點(diǎn),我參考了一些校友錄系統(tǒng)(比如chinaren,qq校友錄等),運(yùn)用當(dāng)前比較流行的jsp技術(shù)并配合struts框架技術(shù)來編寫一個適合畢業(yè)設(shè)計(jì)課題任務(wù)功能需求的校友錄系統(tǒng),使其具有比較通用的校友錄系統(tǒng)功能,在此基礎(chǔ)上添加具有實(shí)用性的其他附加功能。
3國內(nèi)外校友錄系統(tǒng)的研究現(xiàn)狀和發(fā)展趨勢
當(dāng)今信息技術(shù)的飛速發(fā)展使得人與人之間的聯(lián)系更加密切、更加頻繁,聯(lián)系方式也越來越多樣化。此時,一個良好的聯(lián)系方式,能從很大一個程度上提高工作效率,避免不必要的人力、財力、物力上的浪費(fèi)。因此一個良好的在線系統(tǒng)能從多方面改變這個難題,校友錄系統(tǒng)便是其中一個。經(jīng)過近年來的發(fā)展,國內(nèi)外校友錄系統(tǒng)已經(jīng)慢慢的趨于成熟,它根據(jù)當(dāng)今人們對于校友之間聯(lián)系的需求開發(fā)了一系列的實(shí)用功能,基本上滿足了人們的需要?,F(xiàn)在所要考慮的就是在增加功能的基礎(chǔ)上大大發(fā)展技術(shù),使得系統(tǒng)在安全性、保密性、穩(wěn)定性等方面更加完善。
4研究的主要內(nèi)容及設(shè)計(jì)成果的應(yīng)用價值 4.1 jsp校友錄系統(tǒng)目標(biāo)
jsp校友錄是具有普通校友錄功能、為校友之間進(jìn)行交流和聯(lián)系提供的一個平臺。利用當(dāng)前廣泛運(yùn)用的java技術(shù)和jsp技術(shù)的優(yōu)勢,加之internet的飛速發(fā)展,我們編寫一個基于網(wǎng)絡(luò)的校友錄系統(tǒng),通過提供完善的校友錄服務(wù)和規(guī)范校友錄的管理,以達(dá)到增進(jìn)校友之間、校友與母校之間的感情,方便校友聯(lián)系的目的。
4.2系統(tǒng)功能簡介
jsp校友錄系統(tǒng)是以用戶為中心的人性化設(shè)計(jì),總體來看,系統(tǒng)可以看作是用戶模塊和管理模塊兩大模塊的協(xié)調(diào)運(yùn)作。(1)普通用戶功能包括:
●用戶登陸:用戶通過提交用戶id和用戶密碼進(jìn)行登陸,系統(tǒng)便會根據(jù)這些登陸資料,辨別出用戶的身份權(quán)限,根據(jù)用戶是否合法和合法用戶的權(quán)限級別,為不同級別的用戶提供個性化的用戶界面。
●用戶資料的修改:成功登陸的合法用戶有權(quán)限修改自己的個人資料。這些資料包括用戶的昵稱,真實(shí)姓名,性別、年齡,聯(lián)系電話,電子郵箱,工作地點(diǎn)、單位,通信地址,生日等一系列相關(guān)信息?!裼脩舻男畔l(fā)布功能: ①資料查看功能:
用戶可以查看其他用戶的個人資料,包括用戶id,昵稱,真實(shí)姓名,性別,年齡,用戶聯(lián)系電話,用戶郵箱地址等。②留言板功能:
通過留言板,用戶可以在班級頁面上留言,以此作為用戶間聯(lián)系的一種手段。留言板有字?jǐn)?shù)限制,留言超過一定的時間,系統(tǒng)會自動刪除留言。留言板中將標(biāo)示如下內(nèi)容:留言用戶的id,留言用戶聯(lián)系信息,留言日期,留言內(nèi)容。(2)班級管理員功能:
班級管理員擁有相對普通用戶更多的操作權(quán)限,登陸之后,系統(tǒng)自動識別出管理員身份,并提供個性化的管理員操作頁面。班級管理員除了擁有以上普通用戶的相關(guān)功能、權(quán)限之外,還擁有班級管理的權(quán)限,他可以修改班級信息,班級公告,可以將班級中其他成員設(shè)定成管理員,可以添加/刪除班級成員,可以刪除留言板中的留言消息。4.3應(yīng)用價值
通過該校友錄系統(tǒng)的開發(fā),我們將會擁有一個隨時隨地聯(lián)系校友、同學(xué)、朋友的網(wǎng)絡(luò)平臺,它改變了我們傳統(tǒng)的校友錄的形式,使得校友錄由有形的實(shí)體轉(zhuǎn)變成為網(wǎng)絡(luò)中虛擬的集體組織,使得校友錄中的信息能夠不斷的更新、完善,使得不會因?yàn)樾畔⒌母淖兌ヅc某人的聯(lián)系。基于網(wǎng)絡(luò)的校友錄讓大家在學(xué)習(xí)生活的同時與人保持聯(lián)系,他帶給我們最大的好處就是方便與快捷。
jsp實(shí)訓(xùn)報告總結(jié) jsp實(shí)驗(yàn)一報告總結(jié)篇四
目 錄
(要求自動生成目錄,內(nèi)容僅供參考)
一、項(xiàng)目實(shí)訓(xùn)的目的與要求.......................1
1.1項(xiàng)目實(shí)訓(xùn)目的.......................1
1.1項(xiàng)目實(shí)訓(xùn)要求.......................1
二、題目說明..........................1
2.1 政府管理網(wǎng)站的背景介紹...................1
2.2 開發(fā)工具與技術(shù)介紹.....................錯誤!未定義書簽。
2.2.1開發(fā)及運(yùn)行環(huán)境...............錯誤!未定義書簽。
2.2.2jsp簡介.....................錯誤!未定義書簽。
2.2.3mysql簡介.................錯誤!未定義書簽。
三、總體設(shè)計(jì)....................錯誤!未定義書簽。
3.1系統(tǒng)項(xiàng)目規(guī)劃.................錯誤!未定義書簽。
3.2系統(tǒng)功能結(jié)構(gòu)圖....................錯誤!未定義書簽。
3.3 數(shù)據(jù)庫設(shè)計(jì)................錯誤!未定義書簽。
四、后臺系統(tǒng)部分模塊的實(shí)現(xiàn)..................錯誤!未定義書簽。
4.1管理員登錄頁面文件...................錯誤!未定義書簽。
4.2管理員登錄驗(yàn)證頁面...................錯誤!未定義書簽。
4.3欄目分類管理頁面................錯誤!未定義書簽。
4.4欄目新聞管理.................錯誤!未定義書簽。
4.5添加欄目新聞.................錯誤!未定義書簽。
4.6刪除欄目新聞.................錯誤!未定義書簽。
4.7投票統(tǒng)計(jì)管理.................錯誤!未定義書簽。
4.8用戶咨詢管理.................錯誤!未定義書簽。
五、開發(fā)技巧與實(shí)現(xiàn)方法.....................錯誤!未定義書簽。
5.1 用服務(wù)器端包含技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫的打開操作.........錯誤!未定義書簽。
5.2 用session保存用戶信息...............錯誤!未定義書簽。
六、項(xiàng)目實(shí)訓(xùn)總結(jié)...................錯誤!未定義書簽。
七、參考文獻(xiàn)..........................4
附錄(部分源代碼)(可以不寫附錄)...................4一、概述(一級標(biāo)題,宋體,四號,加粗)
1.1開發(fā)背景(二級標(biāo)題,宋體,小四號,加粗)
隨著社會的進(jìn)步,經(jīng)濟(jì)的發(fā)展,計(jì)算機(jī)技術(shù)在日益成熟。internet普及,人們利用網(wǎng)絡(luò)來實(shí)現(xiàn)相互協(xié)調(diào)工作以及資源共享越來越成為不可扭轉(zhuǎn)的趨勢,學(xué)校信息化的發(fā)展也成了必然方向。伴隨著學(xué)生人數(shù)每年都在增加,傳統(tǒng)的方法用來管理學(xué)生信息已跟不上了時代的發(fā)展,還帶來了很多的弊端,讓學(xué)校的信息化很難推進(jìn),制約了學(xué)校的進(jìn)一步發(fā)展。因此,學(xué)生管理系統(tǒng)的開發(fā)對于學(xué)校而言是必要的,學(xué)生管理系統(tǒng)能夠促進(jìn)學(xué)校信息化的發(fā)展,利于學(xué)校的長運(yùn)計(jì)劃。并且學(xué)生信息管理系統(tǒng)還為學(xué)校管理學(xué)生一些必要的相關(guān)信息帶來了方便,免除了傳統(tǒng)管理方法的繁雜和花費(fèi)大量的人類、物力資源,減輕了學(xué)校的負(fù)擔(dān)。(正文,宋體,5號,段落行距單倍行距,首行縮進(jìn)2個字符)
1.2開發(fā)目的本次實(shí)訓(xùn)圍繞以下三個方面展開:
(1)網(wǎng)站概論部分:力圖使學(xué)生對建立動態(tài)網(wǎng)站有一個基本概念,了解什么是動態(tài)網(wǎng)站,它與別的網(wǎng)站有什么不同,以及了解建站相關(guān)的基礎(chǔ)知識。
(2)外觀設(shè)計(jì)部分:從網(wǎng)頁制作技術(shù)上讓學(xué)生利用網(wǎng)頁的靜態(tài)頁面元素來完成網(wǎng)站頁面的視覺效果。
(3)web應(yīng)用程序開發(fā)部分:掌握動態(tài)網(wǎng)站的核心部分的知識,以及開發(fā)網(wǎng)站應(yīng)用的各個關(guān)鍵部分的方法和技巧。
1.3 開發(fā)目標(biāo)
建立學(xué)生管理系統(tǒng),采用計(jì)算機(jī)對學(xué)生成績進(jìn)行管理,進(jìn)一步提高辦學(xué)效益和現(xiàn)代化水平。幫助廣大教師提高工作效率,實(shí)現(xiàn)學(xué)生成績維護(hù)工作流程的系統(tǒng)化、規(guī)范化和自動化。為了使系統(tǒng)在學(xué)院的管理中發(fā)揮更大的作用,實(shí)現(xiàn)工作過程的計(jì)算機(jī)化,提高工作效率和工作質(zhì)量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標(biāo):
(1)系統(tǒng)應(yīng)具有實(shí)用性、可靠性和適用性,同時注意到先進(jìn)性。
(2)對各個數(shù)據(jù)庫進(jìn)行動態(tài)管理,防止混亂。
(3)能夠?qū)Σ樵兘Y(jié)果進(jìn)行分類匯總,實(shí)現(xiàn)報表打印和下載。
(4)方便用戶的操作,盡量減少用戶的操作
二、題目說明
2.1 開發(fā)工具與技術(shù)介紹
(1).技術(shù)可行性:需要用到j(luò)ava基本技術(shù)、基于jsp的web程序設(shè)計(jì)、tsql語言、圖片處理、數(shù)據(jù)庫服務(wù)等技術(shù)。
(2)
1.4.1 數(shù)據(jù)庫技術(shù)的現(xiàn)狀與發(fā)展
數(shù)據(jù)庫是60年代末出現(xiàn)的一門計(jì)算機(jī)軟件技術(shù),到現(xiàn)在雖然只有三十多年的歷史,但在理論和時間上都已經(jīng)趨于成熟,使我們能夠方便的使用。數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)的滲透數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標(biāo)志。
mysql作為一種開放源碼數(shù)據(jù)庫,以其簡單易用的特點(diǎn)廣泛被廣大用戶采用,mysql雖然是免費(fèi)的,但同oracle, sybase, informix, db2等商業(yè)數(shù)據(jù)庫一樣,具有數(shù)據(jù)庫系統(tǒng)的通用性:
(1)數(shù)據(jù)庫管理系統(tǒng)。我們知道,所謂的數(shù)據(jù)庫就是一些結(jié)構(gòu)化的數(shù)據(jù)的聯(lián)合體,要提供對這些數(shù)據(jù)的存取、增加、修改、刪除或更加復(fù)雜的數(shù)據(jù)抽取等操作,需要有一個支撐系統(tǒng),這就是數(shù)據(jù)庫管理系統(tǒng)(dbms),mysql完全具有這方面的功能。
(2)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。在數(shù)據(jù)庫的發(fā)展歷程中,曾出現(xiàn)過多種不同形式的數(shù)據(jù)庫系統(tǒng),但關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(rdbms)以其優(yōu)越性而被廣為采用,象現(xiàn)在幾種廣泛使用的數(shù)據(jù)庫全為關(guān)系型數(shù)據(jù)庫。同樣,mysql也是關(guān)系型的數(shù)據(jù)庫系統(tǒng),支持標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言(structured query language)。
(3)開放源碼數(shù)據(jù)庫。同商業(yè)性的數(shù)據(jù)庫相比,這是mysql最大的特點(diǎn)。mysql的源碼是公開的,這就意味著任何人,只要遵守gpl的規(guī)則都可以對mysql的源碼使用、修改以符合自己特殊的需求。
(4)技術(shù)特點(diǎn)。mysql服務(wù)器端是多線程的,為客戶端提供了不同的程序接口和鏈接庫,如c、c++、java、perl、php、tcl等,也提供了簡單的管理工具,如mysqladmin,mysql等。
正因?yàn)閙ysql的源碼是公開的,使得我們有機(jī)會從源碼級,更深入的了解mysql。從這一層面上可以探求、了解mysql數(shù)據(jù)庫的特性:良好的內(nèi)存管理機(jī)制,尤其是內(nèi)存泄漏的管理,通過了purify的嚴(yán)格測試;支持多種平臺; 提供多種形式的api,為我們開發(fā)工具的選擇提供了便利; 使用多線程的技術(shù),可充分發(fā)揮系統(tǒng)的特點(diǎn),避免在smp系統(tǒng)中出現(xiàn)僅使用單cpu的現(xiàn)象;對磁盤表的管理采用b樹加密及索引的技術(shù),為我們快速訪問數(shù)據(jù)提供了可能; 高性能的內(nèi)存申請技術(shù);臨時表采用在內(nèi)存中以哈希表實(shí)現(xiàn);提供多種數(shù)據(jù)類型;支持定長的和變長的紀(jì)錄;所有的列都有缺省值,為我們的某些“粗心”提供了方便;靈活、安全的權(quán)限和密碼系統(tǒng),密碼在傳輸中加密傳送,允許主機(jī)端驗(yàn)證密碼;
13)客戶端可以通過tcp/ip、unix套接字、命名管道(nt)連接到mysql數(shù)據(jù)庫服務(wù)器;對多種字符集的完全支持等等許多優(yōu)點(diǎn)。mysql有如此多的特點(diǎn),又由于其免費(fèi)的特點(diǎn),這就給許多的中小應(yīng)用提供了不錯的選擇。尤其是對一些中小企業(yè),無論是從降低成本,還是從性能方面,采用mysql作為其數(shù)據(jù)支撐系統(tǒng),都是一種可行的方案。但也應(yīng)當(dāng)注意,采用mysql作為應(yīng)用數(shù)據(jù)庫,就意味著所有的問題都需要自己解決,要承擔(dān)一定的風(fēng)險。
1.4.3 編碼
程序設(shè)計(jì)語言是人和計(jì)算機(jī)通信的最基本的工具,它的特點(diǎn)必然會影響人的思維和解決問題的方式,會影響人和計(jì)算機(jī)通信的方式和質(zhì)量,也會影響其他人閱讀和理解程序的難易程度。因此在編碼時所選擇的編碼語言是很重要的。
本系統(tǒng)主要使用了基于java語言的jsp技術(shù)servlet技術(shù),hibernate開源框架技術(shù),struts開源框架技術(shù),以及html、css、xml等等語言和技術(shù)。因此該系統(tǒng)據(jù)有java的所有優(yōu)點(diǎn),移植性能比較好,數(shù)據(jù)庫移植也比較容易。本系統(tǒng)使用了許多的框架技術(shù)擴(kuò)展也比較容易。
在編碼實(shí)現(xiàn)過程中,使用了基本的控制結(jié)構(gòu),每行只寫一行代碼,在必要的地方加了許多的注釋,結(jié)構(gòu)清晰,代碼容易閱讀。對所有的輸入數(shù)據(jù)都進(jìn)行了檢驗(yàn),并且對組合輸入也進(jìn)行了級聯(lián)驗(yàn)證,輸入的格式也比較簡單。對于驗(yàn)證出錯的,給出詳細(xì)的錯誤信息,使用戶可以很清楚的知道自己在哪里出錯了,方便用戶的使用。
2.2運(yùn)行環(huán)境(三級標(biāo)題,宋體,五號,加粗)
.開發(fā)環(huán)境:課題在jdk+sql server平臺下進(jìn)行設(shè)計(jì)開發(fā),所使用到的硬件設(shè)備有普通pc機(jī)一臺(現(xiàn)在市場上主流的pc配置已足夠),軟件有jdk、tomcat、sql、myeclipse、deramwvaer8.0、freawork8.0等。
(3).運(yùn)行平臺:借助學(xué)院現(xiàn)有的www服務(wù)平臺及數(shù)據(jù)庫服務(wù)平臺即可實(shí)現(xiàn)。
三、需求分析
四、總體設(shè)計(jì)
五、遇到的問題和解決方法
六、心得體會
七、參考文獻(xiàn)(下面是參考格式,不少于3本)
[1].龍馬工作室 編:《asp+sql server 網(wǎng)站開發(fā)實(shí)例精講》,人民郵電出版社,2007.2
[2].宋昆、李嚴(yán)等:《sql server數(shù)據(jù)庫開發(fā)實(shí)例解析》,機(jī)械工業(yè)出版社,2006.1
[3].李嚴(yán)、于亞芳、王國輝:《asp數(shù)據(jù)庫開發(fā)實(shí)例解析》, 機(jī)械工業(yè)出版社,2004.12附錄(部分源代碼)
代碼如下。<%
=true
dim conn
dim admin
dim connstr
set conn = object(“tion”)
connstr =“provider=sqloledb;” & “data source=znsqlexpress;initial catalog=gov_1;user id=sa;password=1234;”
connstr
%>
頁面代碼分析。
<% toptitle=“民政機(jī)構(gòu)簡介...” %>
//判斷標(biāo)題和內(nèi)容是否為空
<%
%>
jsp實(shí)訓(xùn)報告總結(jié) jsp實(shí)驗(yàn)一報告總結(jié)篇五
jsp博客網(wǎng)站系統(tǒng)(論文)
摘 要
博客信息管理系統(tǒng)致力于為廣大用戶提供優(yōu)質(zhì)的互動交流平臺,提高網(wǎng)站的知名度和訪問量,從而獲得為企業(yè)提供更多產(chǎn)品介紹及展示的機(jī)會,提升自己網(wǎng)站的價值。為了滿足博客信息管理系統(tǒng)的要求,實(shí)現(xiàn)系統(tǒng)靜態(tài)與動態(tài)頁面的相互分離,系統(tǒng)采用jsp+javabean+servlet和sql server2000數(shù)據(jù)庫相結(jié)合的開發(fā)模式。
論文首先論述了系統(tǒng)的開發(fā)背景和設(shè)計(jì)目標(biāo),并對系統(tǒng)開發(fā)所采用的技術(shù)進(jìn)行相應(yīng)的簡單介紹。在系統(tǒng)分析中,對系統(tǒng)的模型進(jìn)行簡單分析,明確系統(tǒng)的操作流程,并對系統(tǒng)進(jìn)行可行性分析,確定在目前的條件下,開發(fā)博客信息管理系統(tǒng)是可行的。在需求分析結(jié)果的基礎(chǔ)上,對系統(tǒng)的功能模塊進(jìn)行劃分。接著對系統(tǒng)中的數(shù)據(jù)庫進(jìn)行模型設(shè)計(jì),包括數(shù)據(jù)流圖、實(shí)體聯(lián)系圖及數(shù)據(jù)表結(jié)構(gòu)。在系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中,確定系統(tǒng)的開發(fā)思想以及開發(fā)環(huán)境,并對系統(tǒng)中的javabean和servlet代碼進(jìn)行設(shè)計(jì)。最后給出了系統(tǒng)中模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),并對系統(tǒng)模塊涉及到的關(guān)鍵源代碼進(jìn)行了詳細(xì)的分析。
經(jīng)過調(diào)試運(yùn)行后表明,系統(tǒng)可以滿足用戶創(chuàng)建個人博客的各項(xiàng)要求。關(guān)鍵詞:mvc,設(shè)計(jì)模式,知識共享,博客信息管理系統(tǒng)
abstract
the blog information management system is concentrates on high-quality interactive exchanges platform for a large number of users, increasing the visits and making the website more and more famous, thereby can acquiring for the opportunity that business enterprise providing more introductions and shows of products, promoting the value of the y for the functions of blog information management system, achieving the system's static page separate with dynamic page mutually, using jsp+ javabean+ servlet with the mode of development that the database of sql server2000 combine paper discusses the background of development of the system and the design of the target first, and introduces the tecknique which used to develop the analyse of system, proceeded the simple analysis to the model of the system, made sure the operation process of the system, proceed the analyse to the system, ensure that under the current term, developing blog
information management system is the foundation of requirement with the analyse result, proceeding the providing of the function module of the , designing the database model, including the data flow diagram, entity relation diagram and data the design and realization of the system, making sure the development thought of the system and install the environment of development,at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system debugging and running ,it shows that the system can satisfy with users to create personal ds: mvc,design patterns,knowledge sharing,the blog information management system
目 錄
第1章 緒論 1 1.1 博客信息系統(tǒng)概述 1 1.2 博客發(fā)展趨勢 2 1.3 系統(tǒng)開發(fā)的背景 2 1.4 技術(shù)路線 3 1.5 系統(tǒng)設(shè)計(jì)目標(biāo)分析 3 第2章 基本技術(shù)方案 4 2.1 jsp中的各種技術(shù) 4 2.1.1 jsp概述 4 2.1.2 servlet概述 4 2.1.3 javabean概述 5 2.2 基于b/s的web應(yīng)用體系結(jié)構(gòu) 5 2.2.1 傳統(tǒng)的兩層體系結(jié)構(gòu) 5 2.2.2 三層體系結(jié)構(gòu) 6 2.2.3 jsp網(wǎng)站開發(fā)模式 6 2.3 eclipse簡介 7 2.4 tomcat簡介 7 2.5 sql server簡介 8 2.6 mvc設(shè)計(jì)模式 8
第3章 系統(tǒng)分析與總體設(shè)計(jì) 10 3.1 系統(tǒng)需求分析 10 3.1.1 用戶需求分析 10 3.2 數(shù)據(jù)分析 11 3.3 系統(tǒng)流程 11 3.4 功能模塊劃分 14 3.5 功能模塊介紹 15 3.5.1 博客注冊登錄管理模塊 15 3.5.2 博客及文章檢索查詢模塊 15 3.5.3 博客頁面顯示模塊 16 3.5.4 博客個人維護(hù)管理模塊 16 第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 17 4.1 數(shù)據(jù)庫分析 17 4.1.1 數(shù)據(jù)庫設(shè)計(jì)e-r圖 17 4.2 系統(tǒng)數(shù)據(jù)表設(shè)計(jì) 20 4.3 數(shù)據(jù)連接 23 第5章 系統(tǒng)功能的具體實(shí)現(xiàn) 24 5.1 系統(tǒng)的主窗口 24 5.2 公共核心類的設(shè)計(jì) 26 5.2.1 數(shù)據(jù)庫相關(guān) 26 5.2.2 編寫javabean類 28 5.2.3 管理類設(shè)計(jì) 29 5.3 系統(tǒng)主要功能模塊詳述 31 5.3.1 博客管理員登陸模塊 31 5.3.2 日志管理顯示模塊 32 5.3.3 撰寫日志模塊 35 5.3.4 刪除日志模塊 36 5.3.5 修改日志模塊 38 5.3.6 日志搜索模塊 39 結(jié) 論 40 參考文獻(xiàn) 41 致 謝 42
第1章 緒論
1.1 博客信息系統(tǒng)概述
“博客”(blog或weblog)一詞源于“web log(網(wǎng)絡(luò)日志)”的縮寫,是一種十
分簡易的傻瓜化個人信息發(fā)布方式。任何人都可以像使用免費(fèi)電子郵件一樣,完成個人網(wǎng)頁的創(chuàng)建、發(fā)布和更新。博客就是開放的私人空間,可以充分利用超文本鏈接、網(wǎng)絡(luò)互動、動態(tài)更新等特點(diǎn),在網(wǎng)絡(luò)中,精選并鏈接全球互聯(lián)網(wǎng)中最有價值的信息、知識與資源;也可以將個人工作過程、生活故事、思想歷程、閃現(xiàn)的靈感等及時記錄和發(fā)布,發(fā)揮個人無限的表達(dá)力;更可以以文會友,結(jié)識和匯聚朋友,進(jìn)行深度交流溝通[1]。
“博客”當(dāng)然是個大家都陌生的名詞,博客的英文名詞就是“blog或weblog”(指人時對應(yīng)于blogger),是一個典型的網(wǎng)絡(luò)新事物,查閱最新的英文詞典也不可能查到。該詞來源于“web log(網(wǎng)絡(luò)日志)”的縮寫,特指一種特別的網(wǎng)絡(luò)個人出版形式,內(nèi)容按照時間順序排列,并且不斷更新。
博客是一種零編輯、零技術(shù)、零成本、零形式的網(wǎng)上個人出版方式。博客概念一般包含了三個要素(當(dāng)然,也不需要局限這些定義):(1)網(wǎng)頁主體內(nèi)容由不斷更新的、個性化的眾多日志組成。
(2)按時間順序排列,而且是倒序方式,也就是最新的放在最上面,最舊的放在最下面。
(3)內(nèi)容可以是各種主題、各種外觀布局和各種寫作風(fēng)格,但是文章內(nèi)容以“超鏈接”作為重要的表達(dá)方式。
因此,博客是個人性和公共性的結(jié)合體,其精髓不是主要表達(dá)個人思想,不是主要記錄個人日常經(jīng)歷;而是以個人的視角,以整個互聯(lián)網(wǎng)為視野,精選和記錄自己在互聯(lián)網(wǎng)上看到的精彩內(nèi)容,為他人提供幫助,使其具有更高的共享價值。博客精神的核心并不是自娛自樂,甚至不是個人表達(dá)自由,相反,是體現(xiàn)一種利他的共享精神,為他人提供幫助。個人日記和個人網(wǎng)站主要表現(xiàn)的還是“小我”,而博客表現(xiàn)的是“大我”。也許形式上很接近,但內(nèi)在有著本質(zhì)的差異。所有優(yōu)秀博客網(wǎng)站中,真正表達(dá)作者個人的內(nèi)容非常有限,最多只是點(diǎn)綴,而不像個人網(wǎng)站那樣是核心。1.2 博客發(fā)展趨勢
趨勢一:博客現(xiàn)在正在形成個人的信譽(yù)機(jī)制,有了博客之后就確立了一個個人虛擬身份,簡單的來講就是個人在互聯(lián)網(wǎng)上是有名有姓的,而不再是一種匿名的行為,網(wǎng)民從流浪漢變成了一個定居者。以前在互聯(lián)網(wǎng)上的各種行為都是在匿名狀態(tài)中,相互之間是不認(rèn)識的,但有了博客之后可以天天關(guān)注,而別的人也可以通過博客找到這個人。這樣隨著時間的積累就會產(chǎn)生一個新的東西,概括叫做“個人的信譽(yù)”,個人的信譽(yù)就是博客和博客之間發(fā)展各種關(guān)系的組合,這種信譽(yù)對每個人來講可能是不同的,但對每個博客來講就產(chǎn)生了新的評價機(jī)制,這個機(jī)制將是博客商業(yè)化的一個前提條件。
趨勢二:博客越來越呈現(xiàn)出富媒體化,早期的博客是以文字為主,但隨著多媒體發(fā)展博客相冊、博客圖片已經(jīng)成為博客的基本配置,而現(xiàn)在許多博客網(wǎng)站已經(jīng)提供了博客音頻和博客視頻。
趨勢三:博客現(xiàn)在正在形成并完善精選機(jī)制,博客作為自媒體和個人媒體,產(chǎn)生的信息非常巨大。其中難免產(chǎn)生信息垃圾,隨著博客的發(fā)展,博客通過精選機(jī)制精選出大家喜聞樂見的信息,像國內(nèi)網(wǎng)摘、博客的評價系統(tǒng)等[2,3]。1.3 系統(tǒng)開發(fā)的背景
博客的精神是:自由表達(dá),開放寬容,個性張揚(yáng),專業(yè)精神。
在沒有自己的博客之前,人們會經(jīng)常進(jìn)出于論壇發(fā)表貼子或者通過即時通信軟件聊天,來表達(dá)自已的想法,可是這些都是零散的和雜亂的。博客的出現(xiàn),讓人們可以不斷的把自己以前的和每天激發(fā)的一些想法或者感受整理放在自己的博客上,每次在寫文章的時候,可能又會產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒有什么深度,但是當(dāng)下筆去寫的時候每次都會對某個小小的問題有了更多的一點(diǎn)點(diǎn)思考,再寫博客的時候就感覺到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生活中每天的一個小小的事情都會引起人們的思考,甚至是和朋友的聊天中一個小小的火花迸發(fā)。督促自己努力、把一時的想法變成觀點(diǎn),爭取在生命中的每天里留下點(diǎn)什么,這也是人們寫博客的目的之一。這樣就能督促自己每一天不要渾渾噩噩,時光流逝無痕無聲無息,寫博客也是在自己的每一天上留下了一道淺淺的思考和劃痕。
不僅如此,通過寫博客、記錄自己的想法可以幫助實(shí)現(xiàn)如下這些目的:(1)記錄生活,在自己的每一天上留下思考的劃痕。
(2)整理思路,固化知識,獲得更多更好的想法。
(3)分享,將自己的想法、經(jīng)驗(yàn)與人分享。
(4)交流、提高,通過交流產(chǎn)生更多的思維火花,相互提高。
(5)交友,互相鼓勵,一路同行。
如果說博客網(wǎng)站是一個舞臺,那么所有的博客都是其中的舞者,把自己有價值的真實(shí)的一面展示在網(wǎng)絡(luò)世界中,相互交流溝通; 如果博客僅僅為了寫日志,那么博客是一面鏡子,鏡子中展現(xiàn)的是真實(shí)的自己;如果博客是一個自由媒體,可以把自身感覺有價值的信息通過博客這個工具發(fā)布,與網(wǎng)友共享。1.4 技術(shù)路線
本系統(tǒng)的開發(fā)采用的是jsp+javabean+servlet模式,在該模式中,結(jié)合了jsp和servlet技術(shù),充分利用了jsp和servlet兩種技術(shù)原有的優(yōu)點(diǎn)。在此模式中,javabean作為模型的角色,充當(dāng)jsp和servlet通信的中間工具,servlet處理完后設(shè)置javabean的屬性,jsp讀取此javabean的屬性,然后進(jìn)行顯示。該模式更加明顯地把顯示和邏輯分離,使得代碼更容易管理,適合大型項(xiàng)目的開發(fā)[4]。
1.5 系統(tǒng)設(shè)計(jì)目標(biāo)分析
本系統(tǒng)是用jsp實(shí)現(xiàn)的一個完全基于瀏覽器的博客系統(tǒng),任何注冊個人博客的人都擁有以下功能:
(1)登錄博客系統(tǒng)的后臺管理平臺。
(2)更改博客賬號的基本信息。(3)撰寫日志。(4)日志管理。(5)評論管理。(6)留言管理。
博客訪問者具有以下功能:
(1)瀏覽博客系統(tǒng)中的日志、留言、評論。(2)發(fā)表評論及留言。(3)檢索日志。
第2章 基本技術(shù)方案
2.1 jsp中的各種技術(shù) 2.1.1 jsp概述
jsp即java server pages,是由sun microsystem公司于1996年6月推出的新技術(shù),是基于java servlet以及整個java體系的web開發(fā)技術(shù)。jsp已經(jīng)成為開發(fā)web動態(tài)網(wǎng)頁重要、快速和有效的工具,是全新的網(wǎng)絡(luò)服務(wù)器編程環(huán)境。jsp充分利用了java的強(qiáng)大功能,是一種優(yōu)秀的服務(wù)器端技術(shù)。隨著java技術(shù)的日益成熟和流行,jsp在網(wǎng)絡(luò)編程中也變得越來越重要。jsp基于強(qiáng)大的java語言,具有極強(qiáng)的擴(kuò)展能力,良好的縮收性,以及與平臺無關(guān)的開發(fā)特性,成為構(gòu)建動態(tài)網(wǎng)站的主流技術(shù)之一,jsp有著其他技術(shù)所不具備的優(yōu)勢。其優(yōu)勢在于:可以將內(nèi)容的生成和顯示進(jìn)行分離、生成可重用的組件、采用標(biāo)識簡化頁面開發(fā)。jsp能提供所有servlet的功能[5]。2.1.2 servlet概述
servlet是java編寫的服務(wù)器端程序,是由服務(wù)器端執(zhí)行和調(diào)用的java類。servlet是采用java技術(shù)來實(shí)現(xiàn)cgi功能的一種技術(shù),能夠像cgi一樣動態(tài)地擴(kuò)展web服務(wù)器的功能,并采用請求——響應(yīng)模式提供web服務(wù)。servlet和cgi一樣都是運(yùn)行在web服務(wù)器上,用來生成web頁面。servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)web內(nèi)容。其工作流程圖如圖2.1所示。
圖2.1 servlet工作流程圖 servlet工作流程:
(1)客戶端發(fā)送請求信息至服務(wù)器。(2)服務(wù)器將請求信息發(fā)送至servlet。
(3)servlet生成響應(yīng)內(nèi)容并將其傳給servlet。響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求。
(4)服務(wù)器將響應(yīng)信息返回至客戶端。2.1.3 javabean概述
javabean是sun公司為了進(jìn)入因特網(wǎng)、企業(yè)網(wǎng)以及萬維網(wǎng)上進(jìn)行分布式計(jì)算的組件結(jié)構(gòu)入口。按照sun公司的定義,javabean是一個可重復(fù)使用的軟件部件。javabean體系結(jié)構(gòu)是第一個全面地基于組件的標(biāo)準(zhǔn)模型之一,該組件是java類,這些類遵循一個接口格式,以便于使方法命名、底層行為以及繼承或?qū)崿F(xiàn)的行為能夠把類看做標(biāo)準(zhǔn)的javabean組件的方式進(jìn)行構(gòu)造[7]。
在java模型中,通過javabean可以無限擴(kuò)充java程序的功能,通過javabean的組合可以快速生成新的應(yīng)用程序。javabean具有以下特點(diǎn):(1)可以實(shí)現(xiàn)代碼的重復(fù)利用。(2)易維護(hù)性、易使用性、易編寫性。
(3)可以在java的任何平臺上工作,不需要重新編譯。(4)可以在內(nèi)部網(wǎng)或者網(wǎng)絡(luò)之間進(jìn)行傳輸。(5)可以以其它部件的模式進(jìn)行工作。
javabean在jsp程序中常用來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性。2.2 基于b/s的web應(yīng)用體系結(jié)構(gòu) 2.2.1 傳統(tǒng)的兩層體系結(jié)構(gòu)
在web發(fā)展的初期,web應(yīng)用主要是通過靜態(tài)頁面在internet上發(fā)布信息。用戶通過瀏覽器向服務(wù)器發(fā)送請求,服務(wù)器接收用戶端的請求,向客戶端瀏覽器發(fā)送所請求的頁面。在這種結(jié)構(gòu)下,網(wǎng)站上的頁面是靜態(tài)的,無法根據(jù)用戶的實(shí)際使用情況做動態(tài)的變化。網(wǎng)站的信息提供者通過更新服務(wù)器上的網(wǎng)頁來向用戶提供最新的信息。用戶和瀏覽器之間只有有限的交互,而網(wǎng)站和用戶之間幾乎沒有交互。
2.2.2 三層體系結(jié)構(gòu)
三層體系結(jié)構(gòu)圖如圖2.2所示。
圖2.2 三層體系結(jié)構(gòu)圖
cgi,asp,php等技術(shù)的出現(xiàn),使得開發(fā)動態(tài)交互式的web應(yīng)用得以實(shí)現(xiàn)。用戶通過瀏覽器向服務(wù)器發(fā)送請求,web服務(wù)器接收客戶端發(fā)送來的請求,對請求進(jìn)行分析,如果請求是靜態(tài)頁面,那么就將所請求的頁面發(fā)送到客戶端;如果請求的是動態(tài)頁面,那么就執(zhí)行此動態(tài)頁面,并將執(zhí)行結(jié)果發(fā)送給客戶端。動態(tài)頁面中的腳本程序可以和數(shù)據(jù)庫服務(wù)器進(jìn)行交互。
web服務(wù)器可以根據(jù)用戶的請求動態(tài)更新頁面上的信息,web信息提供者可以通過改變數(shù)據(jù)庫中的數(shù)據(jù)向用戶提供最新信息,而不需要逐個更改頁面。用戶可以通過這些動態(tài)頁面向數(shù)據(jù)庫中輸入信息,從而增強(qiáng)了用戶和服務(wù)器之間的交互性。
2.2.3 jsp網(wǎng)站開發(fā)模式
目前,jsp技術(shù)已經(jīng)成為一種受大多數(shù)大型企業(yè)或中小型企業(yè)喜愛的動態(tài)網(wǎng)頁開
發(fā)技術(shù)。越來越多的技術(shù)人員也逐步成為jsp技術(shù)的推崇者。jsp技術(shù)正是利用了java的“一次開發(fā),處處使用”的性能,成為了網(wǎng)站開發(fā)技術(shù)人員的首選技術(shù)。當(dāng)然,jsp技術(shù)的最大優(yōu)勢在于能夠?qū)㈨撁娴谋憩F(xiàn)形式和頁面的商業(yè)邏輯分開。
jsp網(wǎng)站開發(fā)技術(shù)標(biāo)準(zhǔn)提供了兩種開發(fā)模式:一種是jsp+javabean開發(fā)模式;一種是jsp+servlet+javabean開發(fā)模式[8,9]。jsp+javabean模型圖如圖2.3所示。
圖2.3 jsp+javabean模型圖
在這種模型中,jsp頁面獨(dú)自響應(yīng)請求并將處理結(jié)果返回給客戶,所有的數(shù)據(jù)通過javabean來處理,jsp實(shí)現(xiàn)頁面的顯示。此模型常常會導(dǎo)致頁面被嵌入大量的腳本語言或者java代碼段,當(dāng)處理大型業(yè)務(wù)時,頁面程序?qū)⒆兊卯惓?fù)雜給開發(fā)和維護(hù)帶來困難。
jsp+servlet+javabean模型圖如圖2.4所示。
圖2.4 jsp+servlet+javabean模型圖
servlet技術(shù)是一種采用java技術(shù)來實(shí)現(xiàn)cgi功能的一種技術(shù)。servlet是運(yùn)行在web服務(wù)器上,用來生成web頁面。servlet技術(shù)非常適于服務(wù)器端的處理和編程。
在此種開發(fā)模式中,jsp技術(shù)用來顯示頁面,該頁面中沒有任何的商業(yè)處理邏輯,通過servlet技術(shù)來完成大量的事物處理工作。servlet用來處理事務(wù)的請求,充當(dāng)著一個控制者的角色,并負(fù)責(zé)向客戶發(fā)送請求,創(chuàng)建jsp需要的bean和對象,根據(jù)用戶的請求行為,決定將哪個jsp頁面發(fā)送給用戶。
從上面兩種開發(fā)模式來說:第二種模式要好些,更適合于團(tuán)隊(duì)開發(fā),速度相對較慢,但是可維護(hù)性高[6]。2.3 eclipse簡介
eclipse最初由oti和ibm兩家公司的ide產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。ibm提供了最初的eclipse代碼基礎(chǔ),包括platform、jdt和pde。eclipse是一個開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。由eclipse項(xiàng)目、eclipse工具項(xiàng)目和eclipse技術(shù)項(xiàng)目三個項(xiàng)目組成[10]。2.4 tomcat簡介
如今,基于web的應(yīng)用越來越多,傳統(tǒng)的html已經(jīng)滿足不了如今的需求。因此需要一個交互式的web,于是便誕生了各種web語言。如asp,jsp,php等。當(dāng)然,這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如php基于c和c++語言,jsp基于java語言。tomcat即是一個jsp和servlet的運(yùn)行平臺。
tomcat是一個免費(fèi)的開源的serlvet容器,是apache基金會的jakarta項(xiàng)目中 的一個核心項(xiàng)目,由apache,sun和其它一些公司及個人共同開發(fā)而成[11]。2.5 sql server簡介
microsoft sql server 2000是微軟所推出的一套在windows平臺上執(zhí)行的功能強(qiáng)大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),用以作為應(yīng)用程序的數(shù)據(jù)來源,存放各種數(shù)據(jù),并可以讓用戶很容易地達(dá)成所要進(jìn)行的數(shù)據(jù)存取操作。同時,也提供了一些可視化的管理工具,協(xié)助數(shù)據(jù)庫系統(tǒng)管理者更方便快速地管理及設(shè)計(jì)數(shù)據(jù)庫的內(nèi)容,以及對數(shù)據(jù)庫進(jìn)行維護(hù)。sql server 2000不僅可以實(shí)現(xiàn)個人數(shù)據(jù)庫的管理,更適合企業(yè)級數(shù)據(jù)庫的應(yīng)用[12,13]。2.6 mvc設(shè)計(jì)模式
mvc模式的基本形式圖如圖2.5所示。圖2.5 mvc模式的基本形式圖
mvc(model-view-controller)模式并不是j2ee行業(yè)人士標(biāo)新立異的。mvc的核心就是要做到三級甚至多級的松散耦合,mvc模式將系統(tǒng)分為三個部分,分別是數(shù)據(jù)模型、視圖和控制器,并定義了這三個部分之間實(shí)現(xiàn)通信的一種模式,使每個部分不必卷入到其他部分的狀態(tài)表示和方法實(shí)現(xiàn)的細(xì)節(jié)中去。每個部分有自己的數(shù)據(jù)管理規(guī)則,各個對象之間的通信只能使用自己定義的一個受限連接集合進(jìn)行。保持這種分離性通常是面向?qū)ο缶幊毯驮O(shè)計(jì)要追求的目標(biāo),讓各個對象只需專注于自己的事務(wù)。
模型部分代表了商業(yè)數(shù)據(jù)的訪問及修改數(shù)據(jù)的操作。當(dāng)數(shù)據(jù)發(fā)生改變時,要負(fù)責(zé)通知視圖部分,并且提供視圖查詢狀態(tài)的能力。另外,還向控制部分提供應(yīng)用功能。
視圖部分以自己的方式顯示模型的內(nèi)容。訪問模型的數(shù)據(jù),并且當(dāng)模型的數(shù)據(jù)發(fā)生變化時更新模型的顯示。視圖還把從用戶那里得到的信息傳給控制部分??刂撇糠侄x了應(yīng)用的行為。分發(fā)用戶請求和選擇表現(xiàn)視圖,還負(fù)責(zé)解釋用戶輸入,進(jìn)而調(diào)用模型的功能。在web應(yīng)用中,用戶輸入包括對web級資源的http、get和post請求。控制部分根據(jù)用戶交互和模型的狀態(tài)選擇要顯示的視圖。一個應(yīng)用程序一般為相關(guān)的功能選擇一個控制部分[14,15]。
第3章 系統(tǒng)分析與總體設(shè)計(jì)
博客信息系統(tǒng)包括:前臺信息顯示系統(tǒng)、后臺信息管理系統(tǒng)。前者是面向公眾的一個窗口,通過前臺信息顯示系統(tǒng)方便訪問者瀏覽日志、評論和留言;發(fā)表評論和留言。后者是后臺信息管理系統(tǒng),方便博客管理員發(fā)表日志;回復(fù)評論和留言;管理日志、評論、留言及個人信息 [12]。3.1 系統(tǒng)需求分析 3.1.1 用戶需求分析
用例圖用來描述系統(tǒng)與參與者之間的相互作用,與用例圖相關(guān)的幾個概念:(1)角色:代表了某一事件發(fā)生的參與者,用一個小人表示。
(2)用例:代表系統(tǒng)可以實(shí)現(xiàn)的功能,通常一個用例代表一組功能,實(shí)質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的范圍。
(3)用例圖:當(dāng)角色和用例發(fā)生某種關(guān)系時,就可以用一個圖將它們關(guān)聯(lián)起來,這就是用例圖。
博客信息管理系統(tǒng)用例圖如圖3.1所示。
圖3.1 博客信息管理系統(tǒng)用例圖
博客信息管理系統(tǒng)允許用戶有三種身份:博客訪問者、博客管理員及系統(tǒng)管理員。博客系統(tǒng)參與者中每種身份操作起來都很方便、快捷。博客訪問者無需登陸就可以瀏覽信息、發(fā)表評論或留言;博客管理員注冊后再登陸,就可以發(fā)布日志、管理個人主頁;而博客管理員的基本信息都由系統(tǒng)管理員對其統(tǒng)一管理。3.2 數(shù)據(jù)分析
本系統(tǒng)的用戶主要是博客訪問者和博客管理員,下面以博客前臺展示系統(tǒng)中的用戶查詢?nèi)罩緸槔M(jìn)行說明。該過程的數(shù)據(jù)流程圖如圖3.2所示。
圖3.2 用戶查詢?nèi)罩镜臄?shù)據(jù)流程圖
用戶查詢?nèi)罩镜臄?shù)據(jù)流程:首先,用戶輸入需查找的關(guān)鍵字,然后提交表單數(shù)據(jù),服務(wù)器接收到關(guān)鍵字后,根據(jù)關(guān)鍵字對日志標(biāo)題進(jìn)行模糊查詢,處理后將結(jié)果以日志標(biāo)題鏈接的形式顯示給該用戶,用戶點(diǎn)擊相應(yīng)的鏈接就可以瀏覽日志內(nèi)容。3.3 系統(tǒng)流程
根據(jù)博客信息管理系統(tǒng)的特點(diǎn),將其分為兩大模塊:前臺用戶瀏覽模塊和后臺用戶管理模塊。前臺用戶瀏覽模塊主要用于用戶瀏覽日志信息;后臺用戶管理模塊主要用于博客管理員對個人博客網(wǎng)站的管理,如日志管理、留言管理及評論管理等。
博客系統(tǒng)平臺的前臺用戶瀏覽模塊流程圖如圖3.3所示。
圖3.3 前臺用戶瀏覽模塊流程圖
前臺用戶瀏覽模塊主要用于用戶瀏覽日志信息,用戶瀏覽日志有三種瀏覽方式可以選擇:一是直接點(diǎn)擊日志標(biāo)題鏈接進(jìn)入日志顯示頁面瀏覽日志;二是點(diǎn)擊博客主題鏈接進(jìn)入該個人博客的首頁,然后在該首頁中選擇所需的日志標(biāo)題鏈接進(jìn)入日志顯示頁面瀏覽日志;三是通過首頁提供的搜索功能,搜索所需要的日志,然后在結(jié)果列表中選擇所需的日志標(biāo)題鏈接進(jìn)入日志顯示頁面瀏覽日志。瀏覽日志的同時用戶可以查看別人對該日志的評論,然后用戶也可以對該日志發(fā)表自已的評論。
博客系統(tǒng)平臺的后臺用戶管理模塊流程圖如圖3.4所示。
圖3.4 后臺用戶管理模塊流程圖
用戶進(jìn)入后臺管理平臺,首先必需進(jìn)行權(quán)限驗(yàn)證,防止未授權(quán)的用戶非法登錄。若未通過驗(yàn)證,則顯示出錯提示,并跳轉(zhuǎn)到登錄界面。若通過驗(yàn)證,則進(jìn)入個人博客后臺管理平臺。用戶可以瀏覽已發(fā)表的日志,并對其進(jìn)行相應(yīng)的操作如修改日志和刪除日志;可以查看日志的評論信息并對其進(jìn)行回復(fù)或者刪除操作;可以發(fā)表新的日志;可以新建日志分類;可以瀏覽個人博客的留言信息并對其進(jìn)行相應(yīng)的操作如回復(fù)留言和刪除留言;還可以對個人信息進(jìn)行修改。
3.4 功能模塊劃分
前臺模塊功能結(jié)構(gòu)如圖3.5所示。
圖3.5 博客信息系統(tǒng)前臺功能結(jié)構(gòu)圖 后臺模塊功能結(jié)構(gòu)如圖3.6所示。
圖3.6 博客信息系統(tǒng)后臺功能結(jié)構(gòu)圖 3.5 功能模塊介紹
博客信息管理系統(tǒng)分為面向網(wǎng)絡(luò)用戶的前臺及面向個人博客維護(hù)管理的后臺,依據(jù)博客網(wǎng)站中所要實(shí)現(xiàn)的基本功能的設(shè)定,將所有功能分解為如下四個主要的功能模塊來加以實(shí)現(xiàn)。用戶以合法的用戶名及密碼登錄,系統(tǒng)即可按該登錄用戶的權(quán)限分配操作模塊。3.5.1 博客注冊登錄管理模塊
博客注冊登錄管理模塊用于建立博客網(wǎng)站固定的客戶群體,通過記錄對應(yīng)的博客檔案,實(shí)現(xiàn)對博客信息的后臺維護(hù)及管理,同時也便于通過博客檔案庫將網(wǎng)站最新動態(tài)及相關(guān)企業(yè)的信息方便地傳達(dá)給每一位潛在的客戶。該功能模塊實(shí)現(xiàn)了以下幾個子功能。(1)新博客在線注冊。(2)博客登錄管理。(3)跳轉(zhuǎn)到博客主頁。
只有進(jìn)行登錄并通過身份驗(yàn)證的用戶,才可以在個人博客頁面發(fā)表日志,并借助個人設(shè)置實(shí)現(xiàn)對個人博客相關(guān)信息的管理維護(hù)。對于沒有經(jīng)過身份驗(yàn)證的網(wǎng)絡(luò)用戶不允許在博客頁面中發(fā)表日志,更不允許對博客頁面信息進(jìn)行管理維護(hù)。該模塊實(shí)現(xiàn)新博客的注冊及登錄驗(yàn)證功能。其中,注冊新博客時會對用戶輸入的
注冊信息進(jìn)行有效性驗(yàn)證,包括基本數(shù)據(jù)格式的有效性以及邏輯有效性,例如,用戶名被占用時將及時給出提示。注冊成功的博客登錄時,會隨時根據(jù)博客輸入的登錄信息進(jìn)行提示,如用戶名錯誤或者密碼錯誤。3.5.2 博客及文章檢索查詢模塊
博客及文章檢索查詢模塊為網(wǎng)絡(luò)用戶提供便捷的搜索,以及日志閱讀瀏覽等功能,同時對日志的評論信息、博客推薦也能夠及時反饋給網(wǎng)絡(luò)用戶。該功能模塊實(shí)現(xiàn)了以下幾個子功能。(1)熱門博客頁面推薦。(2)最新博客日志推薦。(3)日志信息關(guān)鍵字搜索。
該模塊能夠在網(wǎng)頁中隨時提供在線的最新日志信息。該信息需要定期更新,網(wǎng)絡(luò)用戶可以隨時獲得最新日志以及最熱門的博客推薦。在客戶選擇了某個博客或者某個感興趣的日志后,可以方便地跳轉(zhuǎn)到對應(yīng)博客頁面進(jìn)行日志的閱讀,并和博客進(jìn)行交流互動。
為了使網(wǎng)絡(luò)用戶盡快定位到所需的博客資料及日志信息,本模塊提供了搜索功能,用戶可以對所關(guān)注的日志信息按照標(biāo)題進(jìn)行關(guān)鍵字搜索,以避免用戶瀏覽多個頁面來尋找所需的日志信息。3.5.3 博客頁面顯示模塊
當(dāng)網(wǎng)絡(luò)用戶進(jìn)入某個人博客主頁后,在該頁面中將提供博客日志列表的顯示,同時為了方便用戶瀏覽,在該模塊中提供根據(jù)分類名進(jìn)行日志列表的顯示,也提供日志評論的瀏覽,此外還允許用戶在博客頁面中發(fā)表評論及留言。該功能模塊實(shí)現(xiàn)了如下幾個子功能。
(1)用戶可以分頁查看對應(yīng)的日志內(nèi)容及評論信息。(2)用戶可以針對日志內(nèi)容發(fā)表評論。(3)用戶可以針對博客進(jìn)行留言。(4)用戶可以分類查看日志內(nèi)容。
在該模塊中還提供了博客頁面統(tǒng)計(jì)信息,日志、評論及留言信息分頁顯示等方便用戶的顯示效果。
3.5.4 博客個人維護(hù)管理模塊
博客個人維護(hù)管理模塊用于實(shí)現(xiàn)用戶對博客個人主頁及相關(guān)信息的動態(tài)管理。該功能模塊實(shí)現(xiàn)了如下幾個子功能:(1)日志及日志分類管理。(2)評論及留言管理。(3)個人基本信息維護(hù)管理。
借助該模塊,用戶可以隨時對個人博客主頁中的內(nèi)容進(jìn)行增加或修改,包括日志分類信息的更新、評論及留言管理等功能,也允許用戶對博客的個人信息進(jìn)行維護(hù)及其管理。
第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 4.1 數(shù)據(jù)庫分析
數(shù)據(jù)庫是當(dāng)前應(yīng)用軟件系統(tǒng)的重要組成部分,如何使基于數(shù)據(jù)庫的應(yīng)用系統(tǒng)安全、可靠、高效的運(yùn)行一直是軟件開發(fā)技術(shù)研究的難題。所以本系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)基于以下幾點(diǎn)來考慮:
(1)數(shù)據(jù)庫規(guī)范化與非規(guī)范化的考慮。(2)數(shù)據(jù)查詢優(yōu)化與索引的建立。(3)存儲過程與視圖。4.1.1 數(shù)據(jù)庫設(shè)計(jì)e-r圖
為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來,通常要建立一個概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模。描述了從用戶角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實(shí)環(huán)境。
最常用的表示概念性數(shù)據(jù)模型的方法,是實(shí)體—聯(lián)系方法(entity—relationship approach)。這種方法用er圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為er模型。er模型中包含“實(shí)體”,“聯(lián)系”和“屬性”。博客信息管理系統(tǒng)涉及的實(shí)體包括:
(1)用戶:用戶id、用戶名稱、用戶密碼、博客主題、說明、e-mail、注冊日期、發(fā)表日志數(shù)。
(2)類別:類別編號、類別名、類別描述、用戶id。
(3)日志:日志編號、日志標(biāo)題、日志內(nèi)容、類別編號、發(fā)表日期、最后修改日期、用戶id、瀏覽次數(shù)、評論數(shù)。
(4)評論:評論編號、評論標(biāo)題、評論內(nèi)容、發(fā)表日期、最后回復(fù)日期、評論人、日志編號。
(5)留言:留言編號、留言標(biāo)題、留言內(nèi)容、發(fā)表日期、最后回復(fù)日期、留言人、用戶id。
綜合本系統(tǒng)各子模塊要實(shí)現(xiàn)的功能,通過前面對博客信息系統(tǒng)數(shù)據(jù)的分析可以得到:用戶表、類別表、日志表、日志評論表、留言表的數(shù)據(jù)庫概念模型(e-r圖)。用戶e-r圖如圖4.1所示。
圖4.1 用戶e-r圖
日志類別e-r圖如圖4.2所示。
圖4.2 日志類別e-r圖 日志e-r圖如圖4.3所示。
圖4.3 日志e-r圖
日志評論e-r圖如圖4.4所示。
圖4.4 日志評論e-r圖 留言e-r圖如圖4.5所示。
圖4.5 留言e-r圖
4.2 系統(tǒng)數(shù)據(jù)表設(shè)計(jì)
(1)用戶表,此表主要用于保存用戶的基本信息。其結(jié)構(gòu)如表4.1所示。表4.1 用戶表
列名 含義 類型 長度 缺省值 允許空 blogid 用戶編號 int 4 無 否 username 用戶名 varchar 20 無 否 password 用戶密碼 varchar 20 無 否 nickname 博客主題 varchar 50 無 否 description 博客描述 varchar 100 無 是 email 電子郵件 email 50 無 否
registertime 注冊日期 datetime 8 無 否 articlenum 發(fā)表的日志數(shù) int 4 0 否
(2)日志表,此表主要用于保存日志的基本信息。其結(jié)構(gòu)如表4.2所示。
表4.2 日志表
列名 含義 類型 長度 缺省值 允許空 articleid 日志編號 int 4 無 否 title 日志標(biāo)題 varchar 50 無 否 content 日志內(nèi)容 text 8 無 否 categoryid 類別id int 4 無 否
publishtime 日志發(fā)表時間 datetime 8 無 否 lastmodifytime 日志最后修改時間 datetime 8 無 否
blogid 用戶id int 4 無 否
readtimes 日志瀏覽次數(shù) int 4 0 否 feedbacknum 日志評論數(shù) int 4 0 否
(3)日志評論表,此表主要用于保存日志評論的基本信息。其結(jié)構(gòu)如表4.3所示。
表4.3 日志評論表
列名 含義 類型 長度 缺省值 允許空 feedbackid 評論編號 int 4 無 否 title 評論標(biāo)題 varchar 20 無 否 content 評論內(nèi)容 text 8 無 否
publishtime 發(fā)表時間 datetime 8 無 否 username 用戶名 varchar 20 無 否 articleid 日志id int 4 無 否
(4)留言表,此表主要用于保存留言的基本信息。其結(jié)構(gòu)如表4.4所示。
表4.4 留言表
列名 含義 類型 長度 缺省值 允許空 messageid 留言編號 int 4 無 否 title 留言標(biāo)題 varchar 20 無 否 content 留言內(nèi)容 text 8 無 否
publishtime 發(fā)表時間 datetime 8 無 否 lastmodifytime 最后回復(fù)時間 datetime 8 無 否 username 用戶名 varchar 20 無 否 blogid 用戶id int 4 無 否
(5)類別表,此表用于保存日志類別的基本信息。其結(jié)構(gòu)如表4.5所示。表4.5 類別表
列名 含義 類型 長度 缺省值 允許空 categoryid 類別編號 int 4 無 否 name 類別名 varchar 20 無 否 description 類別描述 varchar 100 無 是 blogid 用戶編號 int 4 無 否
數(shù)據(jù)表在設(shè)計(jì)完成后,指定好各數(shù)據(jù)表主鍵、外鍵,通過sql server 2000企業(yè)管理器中提供的新建數(shù)據(jù)庫關(guān)系統(tǒng)圖即可自動生成表與表之間的關(guān)系圖。各個關(guān)聯(lián)表之間通過設(shè)置好的外鍵連接在一起。本系統(tǒng)具體的數(shù)據(jù)表之間關(guān)系圖如圖4.6所示:
圖4.6 數(shù)據(jù)表之間關(guān)系圖 4.3 數(shù)據(jù)連接
目前流行的數(shù)據(jù)庫連接技術(shù)主要有:jdbc-odbc橋、jdbc和數(shù)據(jù)連接池技術(shù)。該系統(tǒng)采用數(shù)據(jù)連接池技術(shù),使用連接池的優(yōu)點(diǎn)主要體現(xiàn)在兩個方面:對數(shù)據(jù)庫的連接統(tǒng)一進(jìn)行配置、管理、監(jiān)控,以及對數(shù)據(jù)庫連接池的參數(shù)進(jìn)行優(yōu)化調(diào)整,同時對應(yīng)用程序中沒有關(guān)閉或其他原因造成沒有關(guān)閉的數(shù)據(jù)庫連接由連接池統(tǒng)一進(jìn)行管理。便于程序的移植和后端數(shù)據(jù)庫的切換,因?yàn)樵趹?yīng)用中通過統(tǒng)一的jndi獲得數(shù)據(jù)庫的連接,而具體連接的是哪一臺機(jī)器上的數(shù)據(jù)庫與程序無關(guān)。數(shù)據(jù)庫連接池技術(shù)的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲在一個vector對象中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接。這樣,通過復(fù)用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服上述缺點(diǎn),極大地節(jié)省系統(tǒng)資源和時間。
數(shù)據(jù)庫連接池的主要操作如下:
(1)建立數(shù)據(jù)庫連接池對象(服務(wù)器啟動)。
(2)按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接(即:空閑連接數(shù))。(3)對于一個數(shù)據(jù)庫訪問請求,直接從連接池中得到一個連接。如果數(shù)據(jù)庫連接池對象中沒有空閑的連接,且連接數(shù)沒有達(dá)到最大(即:最大活躍連接數(shù)),創(chuàng)建一個新的數(shù)據(jù)庫連接。(4)存取數(shù)據(jù)庫。
(5)關(guān)閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接(此時的關(guān)閉數(shù)據(jù)庫連接,并非真正關(guān)閉,而是將其放入空閑隊(duì)列中。如實(shí)際空閑連接數(shù)大于初始空閑連接數(shù)則釋放連接)。
(6)釋放數(shù)據(jù)庫連接池對象(服務(wù)器停止、維護(hù)期間,釋放數(shù)據(jù)庫連接池對象,并釋放所有連接)。
第5章 系統(tǒng)功能的具體實(shí)現(xiàn) 5.1 系統(tǒng)的主窗口
系統(tǒng)的界面按照常規(guī)的web界面進(jìn)行設(shè)計(jì),設(shè)計(jì)的原則是界面友好,易于操作,容易上手,盡可能的貼切用戶實(shí)際。
博客信息管理系統(tǒng)首頁圖如圖5.1所示。
圖5.1 博客信息管理系統(tǒng)首頁圖
所有的網(wǎng)絡(luò)用戶都可以進(jìn)入該首頁進(jìn)行登錄、注冊、瀏覽等相關(guān)的操作。在頁面的上方是博客信息管理系統(tǒng)的導(dǎo)航列表,圖中顯示的導(dǎo)航條包括登錄、注冊、博客列表、博文全覽以及站務(wù)公告。在頁面的左側(cè)是熱點(diǎn)博客,包括博客主題及其用戶名;新入博客,包括博客主題;站內(nèi)搜索條,用戶可以根據(jù)日志標(biāo)題進(jìn)行搜索;最新評論列表,包括評論標(biāo)題;最新留言列表,包括留言標(biāo)題;站點(diǎn)的統(tǒng)計(jì)信息,包括博客總數(shù),日志總數(shù)。在頁面的中間則是精華日志和最新日志列表,包括用戶名、日志標(biāo)題、瀏覽次數(shù)和發(fā)表時間;頁面的底部是版權(quán)說明信息。個人博客主頁界面圖如圖5.2所示。
圖5.2 個人博客主頁界面圖
所有的網(wǎng)絡(luò)用戶都可以進(jìn)入某個人的博客主頁進(jìn)行瀏覽、留言等相關(guān)的操作。在頁面的上方是個人博客日志的分類名列表,包括分類名及其該分類下的日志數(shù)量。在頁面的左側(cè)分別是登錄表單,提供博客管理員進(jìn)入后臺管理頁面;個人博客精華日志列表,包括日志標(biāo)題;最新評論,包括評論標(biāo)題;最新留言,包括留言標(biāo)題;站點(diǎn)信息,包括個人日志總數(shù)、評論總數(shù)和留言總數(shù)。在頁面的中間則分別是最新日志的列表,包括日志標(biāo)題、所屬分類名、發(fā)表時間、作者、部分日志內(nèi)容及其查看日志和發(fā)表評論鏈接;發(fā)表留言表單,包括昵稱、留言標(biāo)題和留言內(nèi)容。
5.2 公共核心類的設(shè)計(jì) 5.2.1 數(shù)據(jù)庫相關(guān) 訪問數(shù)據(jù)庫相關(guān)類如下:(1)獲取數(shù)據(jù)源,其代碼如下: public static connection getconnection(){ try { context ctx =(context)new initialcontext().lookup();datasource ds=(datasource)();getconnection()方法:該方法通過context類提供的lookup()方法查找數(shù)據(jù)源,從而獲得jdbc/blog數(shù)據(jù)源的引用,得到datasource對象的引用后,就可以通過datasource的getconnection()方法獲得數(shù)據(jù)庫連接對象。(2)連接數(shù)據(jù)庫和操作數(shù)據(jù)庫;代碼如下:
// 構(gòu)造數(shù)據(jù)庫的連接和訪問類 public dbconnect()throws exception { // 獲得數(shù)據(jù)庫連接對象
conn=nection();
// 創(chuàng)建一個jdbc聲明
stmt = statement();// 預(yù)設(shè)sql語句
public void preparestatement(string sql)throws sqlexception { prepstmt = estatement(sql);} // 設(shè)置索引值位置的對應(yīng)值
public void setstring(int index, string value)throws sqlexception { ing(index, value);} public void setint(int index, int value)throws sqlexception { prep(index, value);} // 執(zhí)行sql語句并返回字段集
public resultset executequery()throws sqlexception { if(prepstmt!= null){ return equery();} else return null;} dbconnect()方法:該方法主要負(fù)責(zé)獲得數(shù)據(jù)庫連接對象。
preparestatement(string sql)方法:該方法主要完成預(yù)設(shè)sql語句,只有一個用來接收sql語句的參數(shù),如果sql語句有誤將拋出異常。
setstring(int index, string value)方法:該方法用于設(shè)置預(yù)設(shè)sql語句中的相應(yīng)字段值,index表示索引位置,value表示需設(shè)置字符串類型的值。
setint(int index, int value)方法:該方法用于預(yù)設(shè)sql語句中的相應(yīng)字段值,index表示索引位置,value表示需設(shè)置整型類型的值。executequery()方法:該方法用于執(zhí)行預(yù)設(shè)的sql語句。5.2.2 編寫javabean類
為每一個數(shù)據(jù)庫表建一個javabean類,完成對該表字段的獲取和設(shè)置。博客信息管理系統(tǒng)所用的javabean類列表如表5.1所示。表5.1 javabean類列表 javabean類 說明
blog類 博客管理員表對應(yīng)的javabean類 article類 日志表對應(yīng)的javabean類 category類 類別表對應(yīng)的javabean類 feedback類 評論表對應(yīng)的javabean類
message類 留言表對應(yīng)的javabean類 feedback類的代碼如下: public class feedback { // 屬性,對應(yīng)數(shù)據(jù)表中的字段名 private int feedbackid;private string title;// 字段的訪問和設(shè)置方法 public int getfeedbackid(){ return feedbackid;} public void setfeedbackid(int feedbackid){ ckid = feedbackid;} feedback類:通過getfeedbackid()方法獲取feedbackid屬性的值,通過setfeedbackid(int feedbackid)方法設(shè)置feedbackid屬性的值。5.2.3 管理類設(shè)計(jì)
上面每一個javabean類都有一個相對應(yīng)的管理類,是在javabean類及數(shù)據(jù)庫相關(guān)類的基礎(chǔ)上完成對數(shù)據(jù)庫表的訪問、更新、統(tǒng)計(jì)操作。博客信息管理系統(tǒng)所用的管理類列表如表5.2所示。表5.2 管理類列表 管理類 說明
blogmgr類 完成對博客管理員表的查詢、更新及統(tǒng)計(jì) article類 完成對日志表的查詢、更新及統(tǒng)計(jì) feedback類 完成對評論表的查詢、更新及統(tǒng)計(jì) message類 完成對留言表的查詢、更新及統(tǒng)計(jì) feedbackmgr類的部分代碼如下: public class feedbackmgr { /* * 添加評論
*/ public void add(feedback feedback){ dbconnect dbc = null;resultset rs = null;try { // 新建數(shù)據(jù)庫連接和訪問對象
dbc = new dbconnect();// 預(yù)設(shè)sql語句
estatement(“insert into
feedback(title,content,publishtime,lastmodifytime,username,articleid)values(?,?,?,?,?,?)”);// 設(shè)置對應(yīng)值
ing(1, le());ing(2, tent());e(3, new (new ().gettime()));e(4, new (new ().gettime()));ing(5, rname());(6, icleid());// 執(zhí)行該更新語句
eupdate();/* * 查詢所有評論(按最后修改時間)*/ public collection getallbylastmodifytime(){ dbconnect dbc = null;collection c = new arraylist();resultset rs = null;try { // 新建數(shù)據(jù)庫連接和訪問對象
dbc = new dbconnect();// 執(zhí)行sql語句,返回字段集
rs=equery(“select * from feedback order by lastmodifytime desc”);feedback feedback = null;while(()){ // 新建評論對象
feedback = new feedback();// 設(shè)置評論對象相關(guān)的屬性
dbackid((“feedbackid”));le(ing(“title”));tent(ing(“content”));publishtime(ing(“publishtime”));lastmodifytime(ing(“l(fā)astmodifytime”));rname(ing(“username”));icleid((“articleid”));
// 將該評論對象存入集合對象中
(feedback);// 將該評論對象置為null feedback = null;// 如果結(jié)果集不會空,則循環(huán)添加該評論對象
} feedbackmgr類:封裝了對評論表的所有操作,包括添加評論、回復(fù)評論、刪除評論、查詢某日志的所有評論(按最后修改時間排序)和查詢某用戶的所有評論(按最后修改時間排序)等。5.3 系統(tǒng)主要功能模塊詳述 5.3.1 博客管理員登陸模塊
當(dāng)用戶需發(fā)表新日志或者是對博客進(jìn)行管理時,就必須先進(jìn)行登陸驗(yàn)證操作,然后進(jìn)入博客信息管理系統(tǒng)后臺。用戶登陸界面圖如圖5.3所示。
圖5.3 用戶登陸界面圖
登陸模塊的客戶端驗(yàn)證代碼如下:
validatelogin()方法,用來驗(yàn)證是否填寫了用戶名和密碼。一般地,在將用戶提交的數(shù)據(jù)提交到數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫操作之前,需要對數(shù)據(jù)的有效性進(jìn)行驗(yàn)證,確保這些數(shù)據(jù)是安全的,一般是不能為空或空格,這樣系統(tǒng)不會產(chǎn)生錯誤。另外,對于有實(shí)際意義的數(shù)據(jù),一般有特定的形式,也可以進(jìn)行有效性驗(yàn)證。5.3.2 日志管理顯示模塊
日志管理顯示界面圖如圖5.4所示。
圖5.4 日志管理顯示界面圖
日志管理顯示模塊列出了日志編號、日志標(biāo)題以及相應(yīng)的操作:編輯日志和刪除日志。根據(jù)選擇的分類顯示當(dāng)前分類下的日志列表。當(dāng)然,對日志進(jìn)行操作的前提條件是當(dāng)前登錄用戶具備相應(yīng)的管理權(quán)限。日志管理顯示模塊核心代碼如下: // 新建日志管理對象
articlemgr articlemgr=new articlemgr();// 根據(jù)博客id,獲得該博客所有日志的總數(shù)
int maxrowcount=albyblogid(blogid);// 新建分頁處理對象,并完成相應(yīng)的初始化 page webpage=new page();// 為分頁對象設(shè)置所有的記錄數(shù)
rowcount(maxrowcount);
// 根據(jù)默認(rèn)的每頁顯示行數(shù)和所有記錄數(shù)計(jì)算出總頁數(shù) page();// 獲取當(dāng)前頁碼
string curpagestr=ameter(“curpage”);// 設(shè)置當(dāng)前頁碼
page(curpagestr);// 根據(jù)博客id和當(dāng)前頁碼,獲得當(dāng)前頁的所有日志對象集合 collection c=pagebyblogidlastmodifytimedesc(blogid,webpage);// 新建類別管理對象
categorymgr categorymgr=new categorymgr();iterator iterator = or();// 循環(huán)獲取日志對象集合中的每一個日志對象 while(t()){ // 獲取日志對象集合中的一個日志對象
article article =(article)();%> // 顯示日志的id
// 顯示日志的標(biāo)題
// 顯示日志的最后修改時間
// 顯示日志的瀏覽次數(shù)和評論數(shù) / // 日志修改和刪除的鏈接
修改
刪除
// 日志分頁信息
// 獲得該博客的所有發(fā)表的日志總數(shù) 共篇日志
// 返回首頁鏈接,如果當(dāng)前頁就是第一頁則首頁鏈接不可用 首頁
// 返回上一頁鏈接,如果當(dāng)前頁就是第一頁則上一頁鏈接不可用 上一頁
首頁 上一頁
// 返回下一頁鏈接,如果當(dāng)前頁就是尾頁則下一頁鏈接不可用 下一頁
// 返回尾頁鏈接,如果當(dāng)前頁就是尾頁則尾頁鏈接不可用 尾頁
下一頁 尾頁
// 顯示當(dāng)前頁碼和總頁數(shù) 頁次:/頁
// 顯示每頁顯示多少條記錄 篇日志/頁
在上述實(shí)現(xiàn)代碼中,通過博客用戶名來獲得該用戶id。通過用戶id獲得該用戶的所有日志信息,并分頁顯示出來,顯示該用戶可以進(jìn)行的所有操作,如修改和刪除日志。5.3.3 撰寫日志模塊
撰寫日志界面圖如圖5.5所示。
圖5.5 撰寫日志界面圖
當(dāng)用戶需要添加新的日志時,可單擊日志管理顯示界面中的添加日志鏈接,進(jìn)入添加新日志的界面。在日志標(biāo)題、內(nèi)容輸入域內(nèi)輸入相應(yīng)的文字,以及選擇分類后,單擊“確定”按鈕進(jìn)行表單提交,完成添加新日志的操作[14]。其關(guān)鍵代碼如下:
// 從當(dāng)前會話中獲得用戶名
string username=(string)sion(true).getattribute(“username”);// 獲得日志標(biāo)題
string title = ameter(“title”);// 獲得日志內(nèi)容
string content = ameter(“content”);// 獲得日志分類號,并轉(zhuǎn)換為整型
int categoryid = nt(ameter(“categoryid”));// 新建日志對象
article article=new article();// 為該日志對象設(shè)置相應(yīng)的屬性,如標(biāo)題、內(nèi)容和日志類別號 le(title);tent(content);
egoryid(categoryid);// 新建博客管理對象
blogmgr blogmrg=new blogmgr();// 根據(jù)用戶名,得到該用戶的id int blogid=gidbyusername(username);// 為該日志對象設(shè)置所屬的用戶id屬性 gid(blogid);// 新建日志管理對象
articlemgr articlemgr=new articlemgr();// 通過日志管理對象添加該日志對象,返回日志id
int articleid=(article);在上述實(shí)現(xiàn)代碼中,首先從當(dāng)前會話中獲得該用戶的用戶名,從提交的表單中獲得日志標(biāo)題、日志分類和日志內(nèi)容信息;然后通過日志對象來封裝日志的相關(guān)屬性,最后通過日志管理對象以日志對象為參數(shù)來完成對日志的添加操作。5.3.4 刪除日志模塊
如果需要刪除已發(fā)表的日志,可單擊日志管理顯示界面中的刪除日志鏈接,將彈出刪除日志確認(rèn)對話框圖如圖5.7所示。
圖5.7 刪除日志確認(rèn)對話框圖
再次確認(rèn)用戶是否真的要進(jìn)行該日志的刪除操作,而不是誤操作。點(diǎn)擊確定按鈕完成日志刪除操作,點(diǎn)擊取消按鈕取消該刪除操作。完成日志刪除操作的核心代碼如下: try{ conn=netion();//禁止自動提交,設(shè)置回滾點(diǎn) ocommit(false);stmt=statement();//刪除該日志的所有評論
estatement(“delete from feedback where articleid=?”);(1,articleid);eupdate();//刪除該日志
estatement(“delete from article where articleid=?”);(1,articleid);eupdate();();//事務(wù)提交
}catch(exception ex){ tacktrace();try{ ck();//操作不成功則回滾 }catrch(exception e){ tacktrace();} }finally{ try{ ();();}catch(exception e){ tacktrace();} } 由于每一篇日志允許用戶進(jìn)行評論,日志可能有相應(yīng)的日志評論,在進(jìn)行日志刪除操作時,得先刪除該日志的所有評論,然后刪除該日志。為了保持?jǐn)?shù)據(jù)庫中的數(shù)據(jù)一致性,本系統(tǒng)采用事務(wù)來完成該刪除操作。在數(shù)據(jù)庫操作中,一項(xiàng)事務(wù)是指由一條或多條數(shù)據(jù)庫更新的sql語句所組成的一個不可分割的工作單元。只有當(dāng)事務(wù)中所有操作都正常完成,整個事務(wù)才能被提交到數(shù)據(jù)庫;如果有一項(xiàng)操作沒有完成,就必須撤銷整個事務(wù)。5.3.5 修改日志模塊
修改日志界面圖如圖5.6所示。
圖5.6 修改日志界面圖
當(dāng)用戶需要修改已發(fā)表的日志,可單擊日志管理顯示界面中的修改日志鏈接,進(jìn)入修改日志界面。該模塊與添加日志模塊相似,不同的是先從數(shù)據(jù)庫中獲得該日志的信息,顯示在修改表單中,然后用戶在日志標(biāo)題、內(nèi)容輸入域內(nèi)修改相應(yīng)的文字,以及選擇分類后,單擊“修改”按鈕進(jìn)行表單提交,完成對該日志的修改操作。
5.3.6 日志搜索模塊
當(dāng)發(fā)布的日志越來越多時,想要很快找到需要的日志,如果僅僅是通過瀏覽日志標(biāo)題列表來定位,將是一件非常困難的事情。因此,提供一種快速查詢的方法將是非常有必要的。該模塊具有快速搜索功能,搜索的結(jié)果是根據(jù)輸入的關(guān)鍵字,到數(shù)據(jù)庫中對日志標(biāo)題或日志內(nèi)容項(xiàng)進(jìn)行模糊查詢。日志搜索結(jié)果顯示的核心代碼如下:
日志標(biāo)題:” target=”_blank”> 發(fā)表時間:
頁面獲取查詢到的日志列表信息,然后再控制動態(tài)顯示輸出。當(dāng)用戶在該頁面中單擊日志標(biāo)題的超級鏈接后,將提交附有日志編號屬性的請求,以顯示指定日志的詳細(xì)信息。
結(jié) 論
論文研究了關(guān)于博客信息管理系統(tǒng)的需求分析,并完成了系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。歸納起來,主要完成了以下的工作:
(1)闡述了博客信息系統(tǒng)及其發(fā)展趨勢,分析了目前我國博客信息系統(tǒng)的發(fā)展趨勢和存在問題。確定了開發(fā)博客信息管理系統(tǒng)的基本技術(shù)路線。
(2)從用戶需求的角度說明開發(fā)博客信息系統(tǒng)的可行性,并針對所收集的資料整理出系統(tǒng)的業(yè)務(wù)流程圖、功能模塊圖、實(shí)體聯(lián)系圖和整體框架圖。
(3)確定系統(tǒng)開發(fā)所需要的技術(shù),結(jié)合現(xiàn)有的數(shù)據(jù)和編程思想,生成需要的數(shù)據(jù)庫。明確各項(xiàng)工作的分工,數(shù)據(jù)的維護(hù)和使用權(quán)限的設(shè)定。
(4)在詳細(xì)設(shè)計(jì)和編碼階段,運(yùn)用了jsp最基本的開發(fā)技術(shù),代碼簡單易懂,系統(tǒng)里網(wǎng)頁間跳轉(zhuǎn)比較清晰。完成了普通用戶和系統(tǒng)管理員兩者的功能分離,而且各自的功能操作都能得到正確數(shù)據(jù)并存入數(shù)據(jù)庫中保存。
系統(tǒng)的開發(fā)以及論文的研究由于時間的關(guān)系,有一些地方做的還不是很完美。對mvc設(shè)計(jì)模式的研究時間不長,所以在寫代碼的時候還沒有做到真正的得心應(yīng)手,是在查詢一些幫助文檔的情況下才完成的。還存在著一些不足和不完善的地方。歸納起來主要體現(xiàn)在以下三個方面:
(1)系統(tǒng)功能趨于簡單。真正的博客信息系統(tǒng)包括很多方面的信息,如可以在博客之間發(fā)送即時短消息,可以定制博客個人主頁等。
(2)系統(tǒng)圖形顯示功能缺乏。目前系統(tǒng)中對數(shù)據(jù)的添加、刪除和修改功能都沒有圖形快捷操作,而且整個系統(tǒng)的界面顯得過于單調(diào),缺乏動態(tài)圖形顯示效果。如果能結(jié)合其它界面美化工具,界面就能更人性化。
(3)還有就是整個系統(tǒng)采用jsp+javabean+servlet的網(wǎng)頁構(gòu)建技術(shù),能很好地把邏輯處理和界面顯示分開來,也便于網(wǎng)頁的維護(hù),但如果使用當(dāng)前經(jīng)典的框架結(jié)構(gòu)struts框架結(jié)構(gòu),將能更好地實(shí)現(xiàn)邏輯代碼與數(shù)據(jù)之間的分離。
參考文獻(xiàn)
[1] 俞傳正.基于博客的個人知識管理平臺研究[d].天津:天津師范大學(xué),2006.
[2] 陳明.blog、wiki在協(xié)作學(xué)習(xí)中的應(yīng)用研究[d].武漢:華中師范大學(xué),2006.
[3] 郭華偉.基于內(nèi)容聚合blog學(xué)習(xí)的平臺的輔助教學(xué)研究與實(shí)踐[d].北京:首都師范大學(xué),2006.
[4] 柳永坡,劉雪梅,趙長海.jsp應(yīng)用開發(fā)技術(shù)[m].北京:人民郵電出版社,2005:30-32.
[5] 耿祥義.jsp基礎(chǔ)教程[m].北京:清華大學(xué)出版社,2004:101-103. [6] 孫衛(wèi)琴、李洪成.tomcat與java web開發(fā)技術(shù)詳解[m].北京:電子工業(yè)出版社,2004:73-78.
[7] 李海峰.基于j2ee技術(shù)開發(fā)高性能bbs論壇[d].上海:華東師范大學(xué),2006.
[8] 王夕寧,王曉平.jsp通用模塊及典型系統(tǒng)開發(fā)實(shí)例導(dǎo)航[m].北京:人民郵電出版社,2006: 288-296.
[9] 賽奎春.jsp信息系統(tǒng)開發(fā)實(shí)例精選[m].北京:機(jī)械工業(yè)出版社,2006: 66-72.
[10] 陳剛.eclipse從入門到精通[m].北京:清華大學(xué)出版社, 2005:416-417.[11] 孫衛(wèi)琴.精通struts:基于mvc的java web設(shè)計(jì)與開發(fā)[m].北京:電子工業(yè)出版社,2004: 1-9.
[12] 胡百敬,姚巧玫.sql server 2005 數(shù)據(jù)庫開發(fā)詳解[m].北京:電子工業(yè)出版社,2006:9-13,123-125.
[13](美)格羅夫 著,章小莉 完全手冊(第二版)[m].北京:電子工業(yè)出版社,2006:12-14.
[14] 畢建信.基于mvc設(shè)計(jì)模式的web應(yīng)用研究與實(shí)現(xiàn)[d].武漢:武漢理工大學(xué),2006.
[15] 賀松平.基于mvc模式的b/s架構(gòu)的研究及應(yīng)用[d].武漢:華中科技大學(xué),2005.
【本文地址:http://mlvmservice.com/zuowen/1079880.html】