商務(wù)網(wǎng)站數(shù)據(jù)庫(kù)管理論文
時(shí)間:2022-03-13 05:14:00
導(dǎo)語(yǔ):商務(wù)網(wǎng)站數(shù)據(jù)庫(kù)管理論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:本文分別利用ASP,PHP,JSP這三個(gè)動(dòng)態(tài)網(wǎng)站技術(shù),使用跨Windows和Linux平臺(tái)的同一個(gè)數(shù)據(jù)庫(kù)MySql,采用統(tǒng)一的三種格式的表單界面,借用三種連接數(shù)據(jù)庫(kù)的方法,在三種不同特點(diǎn)的WEB服務(wù)器環(huán)境下,給出了電子商務(wù)網(wǎng)站設(shè)計(jì)中的主要的前臺(tái)和后臺(tái)程序。關(guān)鍵詞:電子商務(wù)網(wǎng)站,網(wǎng)絡(luò)數(shù)據(jù)庫(kù),ASP,PHP,JSP,服務(wù)器
1.引言:目前動(dòng)態(tài)網(wǎng)站設(shè)計(jì)技術(shù)主要有:利用Perl/C++/Delphi等開(kāi)發(fā)的CGI,兩種有名的API-ISAPI/NSAPI,還有ColdFusion,以及最近幾年流行起來(lái)的3p技術(shù)-ASP,PHP,JSP(據(jù)Internet上有關(guān)網(wǎng)站統(tǒng)計(jì)約有近百種);ASP-AtiveServerPage,由微軟公司開(kāi)發(fā),是一個(gè)WEB服務(wù)器端的開(kāi)發(fā)環(huán)境,主要采用腳本語(yǔ)言VBScript(或javascript/perl等)作為自己的開(kāi)發(fā)語(yǔ)言,可用ODBC或直接驅(qū)動(dòng)法訪問(wèn)Window平臺(tái)的數(shù)據(jù)庫(kù)。PHP-PersonServerPage,是由Rasmus個(gè)人創(chuàng)立的一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語(yǔ)言.它大量地借用C,Java和Perl語(yǔ)言的語(yǔ)法,并耦合PHP自己的特性,.是一種很有個(gè)性的網(wǎng)站開(kāi)發(fā)語(yǔ)言,它支持目前絕大多數(shù)數(shù)據(jù)庫(kù)。JSP-JavaServerPage,是Sun公司推出的新一代站點(diǎn)開(kāi)發(fā)語(yǔ)言,Sun公司除Java應(yīng)用程序和JavaApplet之外,又創(chuàng)立了JSP,其可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序開(kāi)發(fā),特別是有許多訪問(wèn)數(shù)據(jù)庫(kù)的方法。在電子商務(wù)平臺(tái)設(shè)計(jì)中,主要需要解決"網(wǎng)站結(jié)構(gòu)的設(shè)計(jì)","注冊(cè)界面","交易界面","后臺(tái)數(shù)據(jù)庫(kù)",以及"配套模塊"諸如購(gòu)物/用戶/論壇/反饋/搜索/會(huì)話等設(shè)計(jì);考慮篇幅,本文只給出統(tǒng)一的前臺(tái)界面及后臺(tái)數(shù)據(jù)庫(kù)的3p設(shè)計(jì)方法;可以說(shuō)ASP,PHP,JSP與網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的操作是電子商務(wù)網(wǎng)站平臺(tái)設(shè)計(jì)的堅(jiān)強(qiáng)基石。
2.構(gòu)建三種設(shè)計(jì)技術(shù)的運(yùn)行環(huán)境
2.1構(gòu)建ASP的運(yùn)行環(huán)境:NT5.0Server,IIS5.0,ASP3.0。安裝Windows2000Server(NT5.0Server)時(shí)選擇IIS5.0有關(guān)選項(xiàng)。安裝完后ASP3.0便內(nèi)嵌于IIS5.0中。測(cè)試ASP:啟動(dòng)瀏覽器,在地址欄處輸入127.0.0.1:80/default.asp,若瀏覽到IIS服務(wù)器的ASP歡迎頁(yè)面,說(shuō)明安裝成功
2.2構(gòu)建PHP4的運(yùn)行環(huán)境:NT5.0Server,Apache1.3.12php4.0安裝支持PHP的web服務(wù)器Apache1.3.12,將Apache服務(wù)器壓縮文件解壓縮,根據(jù)提示進(jìn)行整個(gè)安裝過(guò)程,自己選擇安裝到目錄d:\apache下。安裝PHP4,將PHP4壓縮文件解壓縮到d:\php4即可,同時(shí)將其中的php.ini-dist文件拷貝到winnt目錄中,將文件更名為php.ini,打開(kāi)該文件將其中extension_dir設(shè)置為:d:/php4,并加載擴(kuò)展模塊:將文件中含有;extention=*.dll的各項(xiàng)前面的";"號(hào)去掉即可;修改設(shè)置Aphache服務(wù)器,用文本編輯器編輯目錄d:\aphache目錄下的子目錄conf下名為httpd.conf的文本文件,首先將"#ServerName*"這一行下加入"ServerName127.0.0.1/",其次將"Port80"改為"Port81(或其他與IIS5.0不沖突的端口)",再其次設(shè)置更改Apache虛擬目錄,將"Documentroot"d:/Apache/htdocs""改為Documentroot"d:/trade"(該目錄即是電子商務(wù)網(wǎng)站目錄,可用任意方法建立目錄trade),最后加入支持php4的如下語(yǔ)句:ScriptAlias/php4/"d:/php4/"AddTypeapplication/x-httpd-php.phpAddTypeapplication/x-httpd-php.phtmlActionapplication/x-httpd-php4"/php4/php.exe";測(cè)試php:完成上述步驟后,在d:\trade目錄下,用如何文本編輯器,生成擴(kuò)展名為.php(或phtml)的文件test.php,在文件中輸入如下php代碼,存盤(pán)后,啟動(dòng)Apache,接著你在瀏覽器中輸入:127.0.0.1:81/test.php,若看到php的版本和擴(kuò)展模塊等信息,說(shuō)明環(huán)境安裝設(shè)置成功。
2.3構(gòu)建JSP的運(yùn)行環(huán)境:NT5.0Server,Resin1.13,jdk1.3安裝Java編譯器jdk1.3:運(yùn)行jdk1_3-win.exe,按照提示完成安裝即可,將其安裝在d:\java1.3目錄,也可安裝在其他目錄。設(shè)置系統(tǒng)環(huán)境參數(shù):控制面板/系統(tǒng)/環(huán)境頁(yè)中選擇path參數(shù)加入d:\jdk1.3\bin;增加新的環(huán)境參數(shù)classpath=d:\jdk1.3\lib\tools.jar;d:\jdk1.3\lib\dt.jar;,然后重新啟動(dòng)計(jì)算機(jī)即可安裝支持JSP的web服務(wù)器Resin1.1.3,將RESIN-1.1.3.zip釋放為d:\Resin1.1.3即可。配置服務(wù)器端口,打開(kāi)d:/resin1.1.3/conf/目錄下的resin.conf文件在
8080
標(biāo)簽處將端口設(shè)置為82(在我的NT5.0上裝有三個(gè)服務(wù)器,這樣三個(gè)服務(wù)器的端口分別為IIS:80;Apache:81;Resin:82其實(shí)也可設(shè)置為其他互不沖突的端口號(hào)).測(cè)試JSP:?jiǎn)?dòng)Resin服務(wù)器,啟動(dòng)瀏覽器,在地址欄處輸入127.0.0.1:82/,若瀏覽到Resin服務(wù)器的JSP歡迎頁(yè)面,說(shuō)明安裝成功
3生成三種格式的動(dòng)態(tài)表單頁(yè)面為了通用,這里采用可能用到的表單對(duì)象為例,至于下面設(shè)計(jì)具體數(shù)據(jù)表用到的字段,只要轉(zhuǎn)成給出的表單域相應(yīng)對(duì)象即可.
3.1用ASP動(dòng)態(tài)生成與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交流的操作表單:form.asp:生成表單域頭:生成普通文本:生成密碼文本:生成滾動(dòng)文本:生成單選:生成復(fù)選:生成列表框:生成提交按鈕生成重填按鈕生成表單域尾
3.2用PHP動(dòng)態(tài)生成與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交流的操作表單:form.php生成表單域頭:"?>生成普通文本:"?>生成密碼文本:"?>生成滾動(dòng)文本:"?>生成單選:"?>生成復(fù)選:"?>生成列表框:網(wǎng)絡(luò)數(shù)據(jù)庫(kù)Asp技術(shù)Php技術(shù)Jsp技術(shù)網(wǎng)站設(shè)計(jì)"?>生成提交按鈕"?>生成重填按鈕"?>生成表單域尾"?>
3.3用JSP動(dòng)態(tài)生成與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交流的操作表單form.jsp生成表單域頭:生成普通文本:生成密碼文本:生成滾動(dòng)文本:生成單選:生成復(fù)選:生成列表框:生成提交按鈕生成重填按鈕生成表單域尾
4設(shè)計(jì)用于存儲(chǔ)商務(wù)網(wǎng)站交互數(shù)據(jù)的MySql數(shù)據(jù)庫(kù)
4.1啟動(dòng)MySql數(shù)據(jù)庫(kù)服務(wù)器(MySql的安裝及ODBC驅(qū)動(dòng)程序的安裝與設(shè)置請(qǐng)參閱相關(guān)書(shū)籍)可在NT5.0下用啟動(dòng)服務(wù)法/NET命令法/命令窗口鍵入MySqld-shareware法,啟動(dòng)MySql數(shù)據(jù)庫(kù)服務(wù)器,啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器后,在d:\mysql\bin>提示符下鍵入mysql-h127.0.0.1-uroot即可出現(xiàn)mysql>提示符,從這開(kāi)始即可進(jìn)行對(duì)MySql數(shù)據(jù)庫(kù)的各種操作。若要退出可鍵入quit/exit,若要關(guān)閉數(shù)據(jù)庫(kù)服務(wù)器,可在d:\mysql\bin>提示符下鍵mysqladmin-urootshutdown4.2建立MySql數(shù)據(jù)庫(kù)在MySql數(shù)據(jù)庫(kù)的提示符mysql>鍵入Createdatabasetradedb;(或go)
4.2.建立MySql數(shù)據(jù)庫(kù)表這里以商務(wù)網(wǎng)站中常用的幾種數(shù)據(jù)表為例,主要用到的數(shù)據(jù)表和生成數(shù)據(jù)表的SQL代碼如下:(這里的數(shù)據(jù)表字段只要分別對(duì)應(yīng)上述表單域?qū)ο蠹纯蓪?shí)際操作,數(shù)據(jù)表統(tǒng)一用tablename表示)客戶登錄管理數(shù)據(jù)表CREATETABLEusers(IDintnotnullauto_increment,UserNamevarchar(30)notnull,Passwordvarchar(20)notnull)客戶信息數(shù)據(jù)表CREATETABLEusermessage(UserNamevarchar(30)notnull,Emailvarchar(80)notnull,Addressvarchar(120)notnull,Faxvarchar(40)null,Phonevarchar(40)notnull,Cerreycardvarchar(50)notnull)客戶定購(gòu)商品數(shù)據(jù)表CREATETABLEcatalog(ProductIdintnotnull,Namevarchar(64)notnull,Pricefloat(6,2)notnull,Descriptiontextnull)
5設(shè)計(jì)處理表單數(shù)據(jù)的3p程序
5.1設(shè)計(jì)處理表單數(shù)據(jù)的ASP程序form_cl.asp建立與數(shù)據(jù)庫(kù)的連接:這里采用直接驅(qū)動(dòng)法Setconn=Server.CreateObject("ADODB.Connection");conn.open"driver={MySQL};server=localhost;uid=user;pwd=xxxxxx;database=tradedb"獲取表單提交的數(shù)據(jù):data1=request("ptwbk");data2=request("mmwbk");data3=request("gdwbk")data4=request("dxk");data5=request("fxk");data6=request("lbk")用SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作查詢數(shù)據(jù)記錄:sql="select*fromtablename";setrs=conn.execute(sql)"增加數(shù)據(jù)記錄:sql="insertintotablename(ptwbk,mmwbk,gdwbk,dxk,fxk,lbk)values(''''data1'''',''''data2'''',''''data3'''',''''data4'''',''''data5'''',''''data5'''')";setrs=conn.execute(sql)更改某條數(shù)據(jù)記錄:sql="updatetablenamesetdata1="request(ptwbk)",whereID="num";setrs=conn.execute(sql)刪除某條數(shù)據(jù)記錄:sql="deletefromtablenamewhereID="num";setrs=conn.execute(sql)將SQL語(yǔ)句處理的數(shù)據(jù)結(jié)果輸出Response.Write"
"Response.Write""Fori=0tors.Fields.Count-1Response.WRITE""&rs.Fields(i).Name&""NextResponse.Write"
"WhileNotrs.EOFResponse.Write""Fori=0tors.Fields.Count-1Response.WRITE""&rs.Fields(i).Value&""NextResponse.Write"
"rs.MoveNextWendResponse.Write"
"關(guān)閉數(shù)據(jù)庫(kù):rs.close;conn.Close
5.2設(shè)計(jì)處理表單數(shù)據(jù)的PHP程序form_cl.php建立與數(shù)據(jù)庫(kù)的連接:這里采用PHP的MySql函數(shù)法(也可用ODBC函數(shù)法)$conn=odbc_connect("localhost","user","xxxxxx");選擇數(shù)據(jù)庫(kù):mysql_select_db("tradedb","$conn");獲去表單提交的數(shù)據(jù):$data1=$ptwbk;$data2=$mmwbk;$data3=$gdwbk;$data4=$dxk;$data5=$fxk;$data6=$lbk;用SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作查詢數(shù)據(jù)記錄:$sql="select*fromtablename";$result=odbc_do($conn,$sql);增加數(shù)據(jù)記錄:$sql="insertintotablename(ptwbk,mmwbk,gdwbk,dxk,fxk,lbk)values(''''$data1'''',''''$data2'''',''''$data3'''',''''$data4'''',''''$data5'''',''''$data6'''')";$result=odbc_do($conn,$sql);更改某條數(shù)據(jù)記錄:$sql="updatetablenameset$data1=ptwbkwhereID=num"$result=odbc_do($conn,$sql);刪除某條數(shù)據(jù)記錄:$sql="deletefromtablenamewhereID=num";$result=odbc_do($conn,$sql);將SQL語(yǔ)句處理的數(shù)據(jù)結(jié)果輸出odbc_result_all($result,"border=1");關(guān)閉數(shù)據(jù)庫(kù):odbc_close($conn);
5.3設(shè)計(jì)處理表單數(shù)據(jù)的JSP程序form_cl.jsp建立與數(shù)據(jù)庫(kù)的連接:這里采用JDBC-ODBC橋生成JavaBean法創(chuàng)建一個(gè)JavaBean命名為conndb.java,并保存在d:/resin1.1.3/doc/web-inf/classes/trade目錄下,代碼如下:(限于篇幅這里沒(méi)按標(biāo)準(zhǔn)書(shū)寫(xiě),而采用不換行寫(xiě)法,其他類同)packagetrade;importjava.sql.*;publicclassconndb{Stringurl="jdbc:inetdae:localhost";Stringlogin="user";Stringpassword="xxxxxx";StringsDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";StringsConnStr="jdbc:odbc:Dsnmysql";Connectionconn=null;ResultSetrs=null;publicconndb(){try{Class.forName(sDBDriver);Connectionconn=DriverManager.getConnection(url,login,password);}catch(java.lang.ClassNotFoundExceptione){System.err.println("conndb():"+e.getMessage());}}Public/ResultSet/executeQuery(String/sql)/{rs=null;try{conn=DriverManager.getConnection(sConnStr);Statementstmt=conn.createStatement();rs=stmt.executeQuery(sql);}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}returnrs;}}然后用javac編譯conndb.java生成與其同目錄的conndb.class文件,在form_cl.jsp文件中加入如下標(biāo)簽即可建立與數(shù)據(jù)庫(kù)的連接獲去表單提交的數(shù)據(jù):Stringdata1=request.getParameter("ptwbk");Stringdata2=request.getParameter("mmwbk")Stringdata3=request.getParameter("gdwbk")Stringdata4=request.getParameter("dxk")Stringdata5=request.getParameter("fxk")Stringdata5=request.getParameter("lbk")語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作查詢數(shù)據(jù)記錄:Stringsql="select*fromtablename";connbean.executeQuery(sql);增加數(shù)據(jù)記錄:Stringsql="insertintotablenamevalues(''''"+data1+"'''',''''"+data2+"'''',''''"+data3+"'''',''''"+data4+"''''+"'''',''''"+data5+"'''',''''"+data6+''''")";connbean.executeQuery(sql);更改某條數(shù)據(jù)記錄:Stringsql="updatetablenamesetdata1=''''"+ptwbk+"'''',data2=''''"+mmvbk+"'''',data3=''''"+gdwbk+"''''whereID=''''"+num+"''''";connbean.executeQuery(sql)刪除某條數(shù)據(jù)記錄:Stringsql="deletefromtablenamewhereID=''''"+num+"''''";connbean.executeQuery(sql);將SQL語(yǔ)句處理的數(shù)據(jù)結(jié)果輸出ResultSetrs=connbean.executeQuery(sql);While(rs.next()){out.print("
"+rs.getString("ptwbk")+"
");out.print("
"+rs.getString("mmvbk")+"
");out.print("
"+rs.getString("gdwbk")+"
");out.print("
"+rs.getString("dxk")+"
");out.print("
"+rs.getString("fxk")+"
");out.print("
"+rs.getString("lbk")+"
");}關(guān)閉數(shù)據(jù)庫(kù):rs.close();
6三種電子商務(wù)網(wǎng)站設(shè)計(jì)技術(shù)綜述
6.1主要特性:可見(jiàn)下表設(shè)計(jì)技術(shù)運(yùn)行平臺(tái)服務(wù)器開(kāi)發(fā)程序擴(kuò)展組件ASPWindows系列IISVbscript/Jscript/PerlActiveXPHPUnix系列,Novell,WindowsApache等許多服務(wù)器phpFunctionJSPUnix系列,Novell,WindowsResin等許多服務(wù)器JavaJavaBean
6.2連接數(shù)據(jù)庫(kù)的方法:通過(guò)上述操作可看出,本文采用了三種操作MySql數(shù)據(jù)庫(kù)的方法,Asp采用直接驅(qū)動(dòng)法,Php采用MySql函數(shù)法,Jsp采用JDBC-ODBC/JavaBean法
6.3網(wǎng)站結(jié)構(gòu)設(shè)計(jì)考慮篇幅,本文只給出了Widows平臺(tái)上,電子商務(wù)網(wǎng)站設(shè)計(jì)中的主要環(huán)節(jié)的代碼設(shè)計(jì),對(duì)于Linux平臺(tái)、網(wǎng)站結(jié)構(gòu)、各個(gè)功能模塊設(shè)計(jì)等論題,作者已經(jīng)有兩篇這方面的論文在核心刊物上待發(fā)表,這里不便公開(kāi).
6.4可操作的主要數(shù)據(jù)庫(kù)上述三種動(dòng)態(tài)技術(shù)操作數(shù)據(jù)庫(kù)的方法,可操作Windows平臺(tái)上的Access/MsSql/Foxpro/Informix/Oracle等數(shù)據(jù)庫(kù),對(duì)Php和Jsp可操作Linux平臺(tái)上的數(shù)據(jù)庫(kù)Postgres/Sybase/Oracle等.
6.5平臺(tái)與代碼通用性上述設(shè)計(jì)方法采用的是通用代碼方式,對(duì)PHP和JSP大部分代碼即可運(yùn)行于Windows,又可運(yùn)行于Linux;考慮MySql的許多方便的特點(diǎn),本文以此為例,做了一些有益的工作參考文獻(xiàn):1汪曉平.ASP網(wǎng)絡(luò)開(kāi)發(fā)技術(shù).人民郵電出版社,2000.12LeonAtkinson.PHP核心編程.清華大學(xué)出版社,2000.43石振國(guó).多媒體通信網(wǎng)頁(yè)的Java設(shè)計(jì)技術(shù).
熱門(mén)標(biāo)簽
商務(wù)信函 商務(wù)英語(yǔ)論文 商務(wù)接待 商務(wù)函電 商務(wù)翻譯論文 商務(wù)談判論文 商務(wù)招待 商務(wù)禮儀 商務(wù)工作報(bào)告 商務(wù)論文 心理培訓(xùn) 人文科學(xué)概論