趙勃?王征?孫鐵鑫
一、Web服務(wù)器平臺與Web平臺的動(dòng)態(tài)設(shè)計(jì)技術(shù)
當(dāng)前比較流行的Web開發(fā)技術(shù)有: ASP, PHP,JSP,ASP.NET等。ASP在國內(nèi)比較流行,但是由于ASP的跨平臺能力差,而且安全性不好;JSP在國際上也很流行,適合開發(fā)一些企業(yè)級博客系統(tǒng),但由于其在技術(shù)上和成本上要求都比較高,現(xiàn)在在國內(nèi)運(yùn)用的還比較少;ASP.NET是Microsoft .NET Framework中的一組用于構(gòu)建Web應(yīng)用程序和XML Web Service的技術(shù)平臺,有一定的復(fù)雜性;而PHP 是秉承Linux 的GNU 風(fēng)格,借助與源碼公開,使他迅速成為世界上目前應(yīng)用最為廣泛的站點(diǎn)制作語言之一。加上它和Linux,Apache 和MySQL 的緊密配合,用PHP編寫的代碼執(zhí)行起來會(huì)更快、更穩(wěn)定。用PHP編寫的代碼,不用改變就可以在不同的WEB服務(wù)器上、不同的操作系統(tǒng)下運(yùn)行。相比之下,我們選擇了PHP語言來開發(fā)本系統(tǒng)。
二、Web平臺系統(tǒng)的開發(fā)方法
在探討博客的基本原理以及WEB相關(guān)開發(fā)技術(shù)的基礎(chǔ)上,我們以軟件工程方法完成了個(gè)人博客系統(tǒng)的開發(fā)。開發(fā)過程中所做的工作包括:整個(gè)系統(tǒng)的需求分析、系統(tǒng)設(shè)計(jì)和所有模塊的具體實(shí)現(xiàn)、系統(tǒng)測試等
三、可行性分析
(一)技術(shù)可行性分析
本系統(tǒng)采用PHP+MySQL+Apache進(jìn)行開發(fā),其中前臺用HTML嵌入PHP進(jìn)行頁面開發(fā)和管理用戶界面,提示信息完善,界面友好有親和力;后臺采用MySQL數(shù)據(jù)庫開發(fā)和管理數(shù)據(jù)庫。本系統(tǒng)的開發(fā)環(huán)境使用現(xiàn)在特別流行的開源Apache服務(wù)器,使用方便、運(yùn)行穩(wěn)定、安全可靠。PHP+MySQL+Apache這個(gè)國際公認(rèn)的網(wǎng)站開發(fā)黃金組合,在博客系統(tǒng)開發(fā)上,得到廣泛的應(yīng)用。如網(wǎng)易博客、百度空間、新浪博客等大型博客網(wǎng)站。綜上所述,本系統(tǒng)在技術(shù)方面是可行的。
(二)操作可行性分析
本網(wǎng)站是為個(gè)人用戶開發(fā)的,使用本網(wǎng)址的用戶對象是個(gè)人,由于本網(wǎng)站要設(shè)計(jì)成友好的界面,用戶只需懂得上網(wǎng),就能輕松使用本網(wǎng)站的功能,所以從以上幾個(gè)方面的分析來看,開發(fā)本網(wǎng)站是完全可行的。
(三)經(jīng)濟(jì)可行性分析
成本方面:由于本畢業(yè)設(shè)計(jì)屬于學(xué)校教學(xué)的最后一個(gè)環(huán)節(jié),資源僅僅用到一臺電腦,服務(wù)器也可以在電腦上搭建和在主機(jī)屋免費(fèi)空間上測試,而開發(fā)程序所用的軟件都是免費(fèi)的,指導(dǎo)由老師義務(wù)指導(dǎo)。所以開發(fā)本成本是非常低的。效益方面:為個(gè)人用戶開發(fā)一個(gè)較好的個(gè)人博客網(wǎng)站,可以實(shí)現(xiàn)信息的共享,節(jié)省了社會(huì)資源。本系統(tǒng)開發(fā)出來,完全能上線使用,而且是多用戶的個(gè)人博客系統(tǒng),一旦應(yīng)用還可以帶來一定的經(jīng)濟(jì)效益。因此,經(jīng)濟(jì)上開發(fā)博客系統(tǒng)是完全可行的。
四、總體方案設(shè)計(jì)
(一)系統(tǒng)目標(biāo)
(1)開發(fā)這樣一套完善的博客系統(tǒng)使個(gè)人的思想言論得到更廣泛的傳播。
(2)簡化操作過程,提高資源的共享能力,增進(jìn)思想文化速度。
(二)系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)總體結(jié)構(gòu)圖
五、數(shù)據(jù)庫設(shè)計(jì)
(一)數(shù)據(jù)庫設(shè)計(jì)
(1)用戶表里創(chuàng)建了5個(gè)字段名,分別為:id、user_name、passwd、email、shijian;id的類型為int(10); user_name的類型為varchar(300);passwd的類型為char(40);email的類型為varchar(500);shijian的類型為datatime。如圖4-1所示:
圖4-1
(2)留言板表里創(chuàng)建了5個(gè)字段名,分別為:id、biaoti、zhengwen、lshijian、user_name;id的類型為int(10);biaoti的類型為varchar(500);zhengwen的類型為text;lshijian的類型為datatime;user_name的類型為varchar(300)。如圖4-2所示:
圖4-2
(二)連接數(shù)據(jù)庫
在本系統(tǒng)充分發(fā)揮PHP5.0支持面向?qū)ο缶幊痰奶匦裕瑢⒊S玫暮瘮?shù)封裝在一個(gè)類里面。比如由于需要多次連接數(shù)據(jù)庫,而且這種連接是一項(xiàng)很消耗資源的操作,因此,在本系統(tǒng)中對數(shù)據(jù)庫連接的部分寫成了一個(gè)SQL文件。文件名為liuyanban.sql,有需要連接數(shù)據(jù)庫的文件包含這個(gè)文件就可以了。為了方便,我們專門做了一個(gè)數(shù)據(jù)庫的配置文件connect.php,用來管理數(shù)據(jù)庫的連接信息,代碼如下:
$hostname = 'localhost'; //數(shù)據(jù)庫所在主機(jī)地址或主機(jī)名 $database = 'liuyanban'; //連接的數(shù)據(jù)庫名 $username = 'root'; //訪問數(shù)據(jù)庫的用戶名 $password = 'root'; //用戶密碼 //建立連接---透過(主機(jī)名,數(shù)據(jù)庫用戶名,數(shù)據(jù)庫密碼) $dbc = @mysql_connect($hostname,$username,$password) OR die('連接失敗'); //選取你要處理的數(shù)據(jù)庫 mysql_select_db($database,$dbc) OR die('數(shù)據(jù)庫不存在');> 數(shù)據(jù)表的一些常用操作,如數(shù)據(jù)添加、查詢、刪除、更新等,由于使用特別頻繁,我們也將它特地裝到connect.php文件里面。同時(shí),我們還將一些專門針對某些數(shù)據(jù)表的操作函數(shù),也封裝在這個(gè)文件中,后面將直接調(diào)用這些函數(shù)。