商務(wù)網(wǎng)站數(shù)據(jù)庫管理論文
時間:2022-03-13 05:14:00
導(dǎo)語:商務(wù)網(wǎng)站數(shù)據(jù)庫管理論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:本文分別利用ASP,PHP,JSP這三個動態(tài)網(wǎng)站技術(shù),使用跨Windows和Linux平臺的同一個數(shù)據(jù)庫MySql,采用統(tǒng)一的三種格式的表單界面,借用三種連接數(shù)據(jù)庫的方法,在三種不同特點的WEB服務(wù)器環(huán)境下,給出了電子商務(wù)網(wǎng)站設(shè)計中的主要的前臺和后臺程序。關(guān)鍵詞:電子商務(wù)網(wǎng)站,網(wǎng)絡(luò)數(shù)據(jù)庫,ASP,PHP,JSP,服務(wù)器
1.引言:目前動態(tài)網(wǎng)站設(shè)計技術(shù)主要有:利用Perl/C++/Delphi等開發(fā)的CGI,兩種有名的API-ISAPI/NSAPI,還有ColdFusion,以及最近幾年流行起來的3p技術(shù)-ASP,PHP,JSP(據(jù)Internet上有關(guān)網(wǎng)站統(tǒng)計約有近百種);ASP-AtiveServerPage,由微軟公司開發(fā),是一個WEB服務(wù)器端的開發(fā)環(huán)境,主要采用腳本語言VBScript(或javascript/perl等)作為自己的開發(fā)語言,可用ODBC或直接驅(qū)動法訪問Window平臺的數(shù)據(jù)庫。PHP-PersonServerPage,是由Rasmus個人創(chuàng)立的一種跨平臺的服務(wù)器端的嵌入式腳本語言.它大量地借用C,Java和Perl語言的語法,并耦合PHP自己的特性,.是一種很有個性的網(wǎng)站開發(fā)語言,它支持目前絕大多數(shù)數(shù)據(jù)庫。JSP-JavaServerPage,是Sun公司推出的新一代站點開發(fā)語言,Sun公司除Java應(yīng)用程序和JavaApplet之外,又創(chuàng)立了JSP,其可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序開發(fā),特別是有許多訪問數(shù)據(jù)庫的方法。在電子商務(wù)平臺設(shè)計中,主要需要解決"網(wǎng)站結(jié)構(gòu)的設(shè)計","注冊界面","交易界面","后臺數(shù)據(jù)庫",以及"配套模塊"諸如購物/用戶/論壇/反饋/搜索/會話等設(shè)計;考慮篇幅,本文只給出統(tǒng)一的前臺界面及后臺數(shù)據(jù)庫的3p設(shè)計方法;可以說ASP,PHP,JSP與網(wǎng)絡(luò)數(shù)據(jù)庫的操作是電子商務(wù)網(wǎng)站平臺設(shè)計的堅強基石。
2.構(gòu)建三種設(shè)計技術(shù)的運行環(huán)境
2.1構(gòu)建ASP的運行環(huán)境:NT5.0Server,IIS5.0,ASP3.0。安裝Windows2000Server(NT5.0Server)時選擇IIS5.0有關(guān)選項。安裝完后ASP3.0便內(nèi)嵌于IIS5.0中。測試ASP:啟動瀏覽器,在地址欄處輸入127.0.0.1:80/default.asp,若瀏覽到IIS服務(wù)器的ASP歡迎頁面,說明安裝成功
2.2構(gòu)建PHP4的運行環(huán)境:NT5.0Server,Apache1.3.12php4.0安裝支持PHP的web服務(wù)器Apache1.3.12,將Apache服務(wù)器壓縮文件解壓縮,根據(jù)提示進行整個安裝過程,自己選擇安裝到目錄d:\apache下。安裝PHP4,將PHP4壓縮文件解壓縮到d:\php4即可,同時將其中的php.ini-dist文件拷貝到winnt目錄中,將文件更名為php.ini,打開該文件將其中extension_dir設(shè)置為:d:/php4,并加載擴展模塊:將文件中含有;extention=*.dll的各項前面的";"號去掉即可;修改設(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的如下語句:ScriptAlias/php4/"d:/php4/"AddTypeapplication/x-httpd-php.phpAddTypeapplication/x-httpd-php.phtmlActionapplication/x-httpd-php4"/php4/php.exe";測試php:完成上述步驟后,在d:\trade目錄下,用如何文本編輯器,生成擴展名為.php(或phtml)的文件test.php,在文件中輸入如下php代碼,存盤后,啟動Apache,接著你在瀏覽器中輸入:127.0.0.1:81/test.php,若看到php的版本和擴展模塊等信息,說明環(huán)境安裝設(shè)置成功。
2.3構(gòu)建JSP的運行環(huán)境:NT5.0Server,Resin1.13,jdk1.3安裝Java編譯器jdk1.3:運行jdk1_3-win.exe,按照提示完成安裝即可,將其安裝在d:\java1.3目錄,也可安裝在其他目錄。設(shè)置系統(tǒng)環(huán)境參數(shù):控制面板/系統(tǒng)/環(huán)境頁中選擇path參數(shù)加入d:\jdk1.3\bin;增加新的環(huán)境參數(shù)classpath=d:\jdk1.3\lib\tools.jar;d:\jdk1.3\lib\dt.jar;,然后重新啟動計算機即可安裝支持JSP的web服務(wù)器Resin1.1.3,將RESIN-1.1.3.zip釋放為d:\Resin1.1.3即可。配置服務(wù)器端口,打開d:/resin1.1.3/conf/目錄下的resin.conf文件在
8080
標簽處將端口設(shè)置為82(在我的NT5.0上裝有三個服務(wù)器,這樣三個服務(wù)器的端口分別為IIS:80;Apache:81;Resin:82其實也可設(shè)置為其他互不沖突的端口號).測試JSP:啟動Resin服務(wù)器,啟動瀏覽器,在地址欄處輸入127.0.0.1:82/,若瀏覽到Resin服務(wù)器的JSP歡迎頁面,說明安裝成功
3生成三種格式的動態(tài)表單頁面為了通用,這里采用可能用到的表單對象為例,至于下面設(shè)計具體數(shù)據(jù)表用到的字段,只要轉(zhuǎn)成給出的表單域相應(yīng)對象即可.
3.1用ASP動態(tài)生成與數(shù)據(jù)庫進行數(shù)據(jù)交流的操作表單:form.asp:生成表單域頭:生成普通文本:生成密碼文本:生成滾動文本:生成單選:生成復(fù)選:生成列表框:生成提交按鈕生成重填按鈕生成表單域尾
3.2用PHP動態(tài)生成與數(shù)據(jù)庫進行數(shù)據(jù)交流的操作表單:form.php生成表單域頭:"?>生成普通文本:"?>生成密碼文本:"?>生成滾動文本:"?>生成單選:"?>生成復(fù)選:"?>生成列表框:網(wǎng)絡(luò)數(shù)據(jù)庫Asp技術(shù)Php技術(shù)Jsp技術(shù)網(wǎng)站設(shè)計"?>生成提交按鈕"?>生成重填按鈕"?>生成表單域尾"?>
3.3用JSP動態(tài)生成與數(shù)據(jù)庫進行數(shù)據(jù)交流的操作表單form.jsp生成表單域頭:生成普通文本:生成密碼文本:生成滾動文本:生成單選:生成復(fù)選:生成列表框:生成提交按鈕生成重填按鈕生成表單域尾
4設(shè)計用于存儲商務(wù)網(wǎng)站交互數(shù)據(jù)的MySql數(shù)據(jù)庫
4.1啟動MySql數(shù)據(jù)庫服務(wù)器(MySql的安裝及ODBC驅(qū)動程序的安裝與設(shè)置請參閱相關(guān)書籍)可在NT5.0下用啟動服務(wù)法/NET命令法/命令窗口鍵入MySqld-shareware法,啟動MySql數(shù)據(jù)庫服務(wù)器,啟動數(shù)據(jù)庫服務(wù)器后,在d:\mysql\bin>提示符下鍵入mysql-h127.0.0.1-uroot即可出現(xiàn)mysql>提示符,從這開始即可進行對MySql數(shù)據(jù)庫的各種操作。若要退出可鍵入quit/exit,若要關(guān)閉數(shù)據(jù)庫服務(wù)器,可在d:\mysql\bin>提示符下鍵mysqladmin-urootshutdown4.2建立MySql數(shù)據(jù)庫在MySql數(shù)據(jù)庫的提示符mysql>鍵入Createdatabasetradedb;(或go)
4.2.建立MySql數(shù)據(jù)庫表這里以商務(wù)網(wǎng)站中常用的幾種數(shù)據(jù)表為例,主要用到的數(shù)據(jù)表和生成數(shù)據(jù)表的SQL代碼如下:(這里的數(shù)據(jù)表字段只要分別對應(yīng)上述表單域?qū)ο蠹纯蓪嶋H操作,數(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)客戶定購商品數(shù)據(jù)表CREATETABLEcatalog(ProductIdintnotnull,Namevarchar(64)notnull,Pricefloat(6,2)notnull,Descriptiontextnull)
5設(shè)計處理表單數(shù)據(jù)的3p程序
5.1設(shè)計處理表單數(shù)據(jù)的ASP程序form_cl.asp建立與數(shù)據(jù)庫的連接:這里采用直接驅(qū)動法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語句對數(shù)據(jù)庫進行操作查詢數(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語句處理的數(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ù)庫:rs.close;conn.Close
5.2設(shè)計處理表單數(shù)據(jù)的PHP程序form_cl.php建立與數(shù)據(jù)庫的連接:這里采用PHP的MySql函數(shù)法(也可用ODBC函數(shù)法)$conn=odbc_connect("localhost","user","xxxxxx");選擇數(shù)據(jù)庫:mysql_select_db("tradedb","$conn");獲去表單提交的數(shù)據(jù):$data1=$ptwbk;$data2=$mmwbk;$data3=$gdwbk;$data4=$dxk;$data5=$fxk;$data6=$lbk;用SQL語句對數(shù)據(jù)庫進行操作查詢數(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語句處理的數(shù)據(jù)結(jié)果輸出odbc_result_all($result,"border=1");關(guān)閉數(shù)據(jù)庫:odbc_close($conn);
5.3設(shè)計處理表單數(shù)據(jù)的JSP程序form_cl.jsp建立與數(shù)據(jù)庫的連接:這里采用JDBC-ODBC橋生成JavaBean法創(chuàng)建一個JavaBean命名為conndb.java,并保存在d:/resin1.1.3/doc/web-inf/classes/trade目錄下,代碼如下:(限于篇幅這里沒按標準書寫,而采用不換行寫法,其他類同)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文件中加入如下標簽即可建立與數(shù)據(jù)庫的連接獲去表單提交的數(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")語句對數(shù)據(jù)庫進行操作查詢數(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語句處理的數(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ù)庫:rs.close();
6三種電子商務(wù)網(wǎng)站設(shè)計技術(shù)綜述
6.1主要特性:可見下表設(shè)計技術(shù)運行平臺服務(wù)器開發(fā)程序擴展組件ASPWindows系列IISVbscript/Jscript/PerlActiveXPHPUnix系列,Novell,WindowsApache等許多服務(wù)器phpFunctionJSPUnix系列,Novell,WindowsResin等許多服務(wù)器JavaJavaBean
6.2連接數(shù)據(jù)庫的方法:通過上述操作可看出,本文采用了三種操作MySql數(shù)據(jù)庫的方法,Asp采用直接驅(qū)動法,Php采用MySql函數(shù)法,Jsp采用JDBC-ODBC/JavaBean法
6.3網(wǎng)站結(jié)構(gòu)設(shè)計考慮篇幅,本文只給出了Widows平臺上,電子商務(wù)網(wǎng)站設(shè)計中的主要環(huán)節(jié)的代碼設(shè)計,對于Linux平臺、網(wǎng)站結(jié)構(gòu)、各個功能模塊設(shè)計等論題,作者已經(jīng)有兩篇這方面的論文在核心刊物上待發(fā)表,這里不便公開.
6.4可操作的主要數(shù)據(jù)庫上述三種動態(tài)技術(shù)操作數(shù)據(jù)庫的方法,可操作Windows平臺上的Access/MsSql/Foxpro/Informix/Oracle等數(shù)據(jù)庫,對Php和Jsp可操作Linux平臺上的數(shù)據(jù)庫Postgres/Sybase/Oracle等.
6.5平臺與代碼通用性上述設(shè)計方法采用的是通用代碼方式,對PHP和JSP大部分代碼即可運行于Windows,又可運行于Linux;考慮MySql的許多方便的特點,本文以此為例,做了一些有益的工作參考文獻:1汪曉平.ASP網(wǎng)絡(luò)開發(fā)技術(shù).人民郵電出版社,2000.12LeonAtkinson.PHP核心編程.清華大學(xué)出版社,2000.43石振國.多媒體通信網(wǎng)頁的Java設(shè)計技術(shù).
熱門標簽
商務(wù)信函 商務(wù)英語論文 商務(wù)接待 商務(wù)函電 商務(wù)翻譯論文 商務(wù)談判論文 商務(wù)招待 商務(wù)禮儀 商務(wù)工作報告 商務(wù)論文 心理培訓(xùn) 人文科學(xué)概論