- 相關(guān)推薦
電子商務(wù)網(wǎng)站平臺3p設(shè)計技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫
摘要:本文分別利用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-Ative Server Page,由微軟公司開發(fā) ,是一個WEB服務(wù)器端的開發(fā)環(huán)境,主要采用腳本語言VBScript(或Javascript/perl等)作為自己的開發(fā)語言,可用ODBC或直接驅(qū)動法訪問Window平臺的數(shù)據(jù)庫。PHP-Person Server Page ,是由Rasmus個人創(chuàng)立的一種跨平臺的服務(wù)器端的嵌入式腳本語言. 它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,.是一種很有個性的網(wǎng)站開發(fā)語言,它支持目前絕大多數(shù)數(shù)據(jù)庫。JSP-Java Server Page , 是Sun公司推出的新一代站點開發(fā)語言,Sun 公司除Java 應(yīng)用程序 和 Java Applet 之外,又創(chuàng)立了JSP,其可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點程序開發(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è)計的堅強(qiáng)基石。
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:啟動瀏覽器,在地址欄處輸 http://127.0.0.1:80/default.asp ,若瀏覽到IIS服務(wù)器的ASP歡迎頁面,說明安裝成功
2.2構(gòu)建PHP4的運行環(huán)境:NT5.0Server, Apache1.3.12 php4.0 安裝支持PHP的web服務(wù)器Apache1.3.12,將Apache服務(wù)器壓縮文件解壓縮,根據(jù)提示進(jìn)行整個安裝過程,自己選擇安裝到目錄d:\apache下。安裝PHP4,將PHP4壓縮文件解壓縮到d:\php4即可,同時將其中的php.ini-dist文件拷貝到winnt目錄中,將文件更名為php.ini,打開該文件將其中extension_dir 設(shè)置為:d:/php4,并加載擴(kuò)展模塊:將文件中含有;extention=*.dll的各項前面的";"號去掉即可;修改設(shè)置Aphache服務(wù)器,用文本編輯器編輯目錄d:\aphache目錄下的子目錄conf下名為httpd.conf的文本文件,首先將"#ServerName *"這一行下加入"ServerName http://127.0.0.1/" ; ,其次將"Port 80"改為"Port 81(或其他與IIS5.0不沖突的端口)",再其次設(shè)置更改Apache虛擬目錄,將"Documentroot "d:/Apache/htdocs""改為Documentroot "d:/trade"(該目錄即是電子商務(wù)網(wǎng)站目錄,可用任意方法建立目錄trade),最后加入支持php4的如下語句:ScriptAlias /php4/ "d:/php4/" AddType application/x-httpd-php .php AddType application/x-httpd-php .phtml Action application/x-httpd-php4 "/php4/php.exe";測試php:完成上述步驟后,在d:\trade目錄下,用如何文本編輯器,生成擴(kuò)展名為.php(或phtml)的文件test.php,在文件中輸入如下php代碼,存盤后,啟動Apache,接著你在瀏覽器中輸入 http://127.0.0.1 :81/test.php,若看到php的版本和擴(kuò)展模塊等信息,說明環(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;,然后重新啟動計算機(jī)即可安裝支持JSP的web服務(wù)器Resin1.1.3,將RESIN-1.1.3.zip釋放為d:\Resin1.1.3 即可。配置服務(wù)器端口,打開d:/resin1.1.3/conf/目錄下的resin.conf文件在
8080
標(biāo)簽處將端口設(shè)置為82(在我的NT5.0上裝有三個服務(wù)器,這樣三個服務(wù)器的端口分別為IIS :80;Apache:81;Resin:82其實也可設(shè)置為其他互不沖突的端口號). 測試JSP:啟動Resin服務(wù)器,啟動瀏覽器,在地址欄處輸 http://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ù)庫進(jìn)行數(shù)據(jù)交流的操作表單: form.asp: 生成表單域頭: 生成普通文本: 生成密碼文本: 生成滾動文本: 生成單選: 生成復(fù)選: 生成列表框: 生成提交按鈕 生成重填按鈕 生成表單域尾
3.2用PHP動態(tài)生成與數(shù)據(jù)庫進(jìn)行數(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ù)庫進(jìn)行數(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-h 127.0.0.1 -u root 即可出現(xiàn)mysql>提示符,從這開始即可進(jìn)行對MySql數(shù)據(jù)庫的各種操作。若要退出可鍵入quit/exit,若要關(guān)閉數(shù)據(jù)庫服務(wù)器,可在d:\mysql\bin>提示符下鍵mysqladmin -u root shutdown 4.2建立MySql數(shù)據(jù)庫 在MySql數(shù)據(jù)庫的提示符mysql>鍵入Create database tradedb ;(或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ù)表 CREATE TABLE users ( ID int not null auto_increment, UserName varchar(30) not null, Password varchar(20) not null ) 客戶信息數(shù)據(jù)表 CREATE TABLE usermessage ( UserName varchar(30) not null, Email varchar(80) not null, Address varchar(120) not null , Fax varchar(40) null, Phone varchar(40) not null, Cerreycard varchar(50) not null ) 客戶定購商品數(shù)據(jù)表 CREATE TABLE catalog ( ProductId int not null , Name varchar(64) not null, Price float(6,2) not null, Description ;text null )
5設(shè)計處理表單數(shù)據(jù)的3p程序
5.1設(shè)計處理表單數(shù)據(jù)的ASP程序 form_cl.asp 建立與數(shù)據(jù)庫的連接:這里采用直接驅(qū)動法 Set conn = 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ù)庫進(jìn)行操作 查詢數(shù)據(jù)記錄: sql="select * from tablename" ;set rs=conn.execute(sql) " 增加數(shù)據(jù)記錄: sql="insert into tablename(ptwbk,mmwbk,gdwbk,dxk,fxk,lbk) values('data1','data2','data3','data4','data5', 'data5')"; set rs=conn.execute(sql) 更改某條數(shù)據(jù)記錄: sql="update tablename set data1="request(ptwbk )", where ID="num"; set rs=conn.execute(sql) 刪除某條數(shù)據(jù)記錄: sql="delete from tablename where ID="num";set rs=conn.execute(sql) 將SQL語句處理的數(shù)據(jù)結(jié)果輸出 Response.Write "
" Response.Write " " For i=0 to rs.Fields.Count-1 Response.WRITE " " & rs.Fields(i).Name & " " Next Response.Write "
" While Not rs.EOF Response.Write " " For i=0 to rs.Fields.Count-1 Response.WRITE " " & rs.Fields(i).Value & " " Next Response.Write "
" rs.MoveNext Wend Response.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ù)庫進(jìn)行操作 查詢數(shù)據(jù)記錄: $sql="select * from tablename&quo
t; ;$result=odbc_do($conn,$sql); 增加數(shù)據(jù)記錄: $sql="insert into tablename(ptwbk,mmwbk,gdwbk,dxk,fxk,lbk) values('$data1','$data2','$data3','$data4','$data5','$data6')";$result=odbc_do($conn,$sql); 更改某條數(shù)據(jù)記錄: $sql="update tablename set $data1=ptwbk where ID=num" $result=odbc_do($conn,$sql); 刪除某條數(shù)據(jù)記錄:$sql="delete from tablename where ID=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目錄下,代碼如下:(限于篇幅這里沒按標(biāo)準(zhǔn)書寫,而采用不換行寫法,其他類同) package trade; import java.sql.*; public class conndb { String url="jdbc:inetdae:localhost";String login="user"; String password = "xxxxxx"; String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";String sConnStr = "jdbc:odbc:Dsnmysql"; Connection conn = null; ResultSet rs = null; public conndb() {try {Class.forName(sDBDriver); Connection conn = DriverManager.getConnection(url,login,password);} catch(java.lang.ClassNotFoundException e) {System.err.println("conndb(): " + e.getMessage ());}} Public/ResultSet/executeQuery(String/sql)/{rs=null;try{conn=DriverManager.getConnection(sConnStr); Statement stmt = conn.createStatement();rs = stmt.executeQuery(sql); } catch(SQLException ex) {System.err.println("aq.executeQuery: " + ex.getMessage());} return rs; }} 然后用javac編譯conndb.java生成與其同目錄的conndb.class文件,在form_cl.jsp文件中加入如下標(biāo)簽即可建立與數(shù)據(jù)庫的連接 獲去表單提交的數(shù)據(jù): String data1=request.getParameter("ptwbk"); String data2=request.getParameter("mmwbk ") String data3=request.getParameter("gdwbk ") String data4=request.getParameter("dxk ") String data5=request.getParameter("fxk ") String data5=request.getParameter("lbk ") 語句對數(shù)據(jù)庫進(jìn)行操作 查詢數(shù)據(jù)記錄: String sql="select * from tab lename"; connbean.executeQuery(sql); 增加數(shù)據(jù)記錄: String sql="insert into tablename values('" + data1 + "','" +data2 +"','" +data3 + "','" + data4+ "'+"','" + data5+"','" + data6+'")";connbean.executeQuery(sql); 更改某條數(shù)據(jù)記錄: String sql="update tablename set data1='" + ptwbk + "',data2='" + mmvbk + "',data3='" +gdwbk + "' where ID='" + num + "'" ;connbean.executeQuery(sql) 刪除某條數(shù)據(jù)記錄: String sql="delete from tablename where ID='" +num+ "'" ; connbean.executeQuery(sql); ;將SQL語句處理的數(shù)據(jù)結(jié)果輸出 ResultSet rs = 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") + "
&q
uot;);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ā)程序 擴(kuò)展組件 ASP Windows系列 IIS Vbscript/Jscript/Perl ActiveX PHP Unix系列, Novell,Windows Apache等許多服務(wù)器 php Function JSP Unix系列, Novell,Windows Resin等許多服務(wù)器 Java JavaBean
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的許多方便的特點,本文以此為例,做了一些有益的工作 參考文獻(xiàn): 1汪曉平.ASP網(wǎng)絡(luò)開發(fā)技術(shù).人民郵電出版社,2000.1 2 Leon Atkinson.PHP核心編程.清華大學(xué)出版社,2000.4 3石振國.多媒體通信網(wǎng)頁的Java設(shè)計技術(shù).
【電子商務(wù)網(wǎng)站平臺3p設(shè)計技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫】相關(guān)文章:
網(wǎng)絡(luò)借貸平臺廣告標(biāo)語08-15
區(qū)域文獻(xiàn)特色數(shù)據(jù)庫的建立及其服務(wù)平臺的搭建08-09
電子商務(wù)平臺策劃書08-12
[信息技術(shù)論文]小型教育網(wǎng)站的設(shè)計及探討08-17