摘要:本文分别利用ASP,PHP,JSP这三个动态网站技术,使用跨Windows和Linux平台的同一个数据库MySql,采用统一的三种格式的表单界面,借用三种连接数据库的方法,在三种不同特点的WEB服务器环境下,给出了电子商务网站设计中的主要的前台和后台程序。关键词:电子商务网站,网络数据库,ASP,PHP,JSP,服务器 1.引言:目前动态网站设计技术主要有:利用Perl/C++/Delphi等开发的CGI,两种有名的API-ISAPI/NSAPI,还有ColdFusion,以及最近几年流行起来的3p技术-ASP,PHP,JSP(据Internet上有关网站统计约有近百种);ASP-AtiveServerPage,由微软公司开发,是一个WEB服务器端的开发环境,主要采用脚本语言VBScript(或Javascript/perl等)作为自己的开发语言,可用ODBC或直接驱动法访问Window平台的数据库。PHP-PersonServerPage,是由Rasmus个人创立的一种跨平台的服务器端的嵌入式脚本语言.它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,.是一种很有个性的网站开发语言,它支持目前绝大多数数据库。JSP-JavaServerPage,是Sun公司推出的新一代站点开发语言,Sun公司除Java应用程序和JavaApplet之外,又创立了JSP,其可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序开发,特别是有许多访问数据库的方法。在电子商务平台设计中,主要需要解决"网站结构的设计","注册界面","交易界面","后台数据库",以及"配套模块"诸如购物/用户/论坛/反馈/搜索/会话等设计;考虑篇幅,本文只给出统一的前台界面及后台数据库的3p设计方法;可以说ASP,PHP,JSP与网络数据库的操作是电子商务网站平台设计的坚强基石。 2.构建三种设计技术的运行环境 2.1构建ASP的运行环境:NT5.0Server,IIS5.0,ASP3.0。安装Windows2000Server(NT5.0Server)时选择IIS5.0有关选项。安装完后ASP3.0便内嵌于IIS5.0中。测试ASP:启动浏览器,在地址栏处输http://127.0.0.1:80/default.asp,若浏览到IIS服务器的ASP欢迎页面,说明安装成功 2.2构建PHP4的运行环境:NT5.0Server,Apache1.3.12php4.0安装支持PHP的web服务器Apache1.3.12,将Apache服务器压缩文件解压缩,根据提示进行整个安装过程,自己选择安装到目录d:\apache下。安装PHP4,将PHP4压缩文件解压缩到d:\php4即可,同时将其中的php.ini-dist文件拷贝到winnt目录中,将文件更名为php.ini,打开该文件将其中extension_dir设置为:d:/php4,并加载扩展模块:将文件中含有;extention=*.dll的各项前面的";"号去掉即可;修改设置Aphache服务器,用文本编辑器编辑目录d:\aphache目录下的子目录conf下名为httpd.conf的文本文件,首先将"#ServerName*"这一行下加入"ServerNamehttp://127.0.0.1/";,其次将"Port80"改为"Port81(或其他与IIS5.0不冲突的端口)",再其次设置更改Apache虚拟目录,将"Documentroot"d:/Apache/htdocs""改为Documentroot"d:/trade"(该目录即是电子商务网站目录,可用任意方法建立目录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,接着你在浏览器中输入http://127.0.0.1:81/test.php,若看到php的版本和扩展模块等信息,说明环境安装设置成功。 2.3构建JSP的运行环境:NT5.0Server,Resin1.13,jdk1.3安装Java编译器jdk1.3:运行jdk1_3-win.exe,按照提示完成安装即可,将其安装在d:\java1.3目录,也可安装在其他目录。设置系统环境参数:控制面板/系统/环境页中选择path参数加入d:\jdk1.3\bin;增加新的环境参数classpath=d:\jdk1.3\lib\tools.jar;d:\jdk1.3\lib\dt.jar;,然后重新启动计算机即可安装支持JSP的web服务器Resin1.1.3,将RESIN-1.1.3.zip释放为d:\Resin1.1.3即可。配置服务器端口,打开d:/resin1.1.3/conf/目录下的resin.conf文件在 8080 标签处将端口设置为82(在我的NT5.0上装有三个服务器,这样三个服务器的端口分别为IIS:80;Apache:81;Resin:82其实也可设置为其他互不冲突的端口号).测试JSP:启动Resin服务器,启动浏览器,在地址栏处输http://127.0.0.1:82/,若浏览到Resin服务器的JSP欢迎页面,说明安装成功 3生成三种格式的动态表单页面为了通用,这里采用可能用到的表单对象为例,至于下面设计具体数据表用到的字段,只要转成给出的表单域相应对象即可. 3.1用ASP动态生成与数据库进行数据交流的操作表单:form.asp:生成表单域头:生成普通文本:生成密码文本:生成滚动文本:生成单选:生成复选:生成列表框:生成提交按钮生成重填按钮生成表单域尾 3.2用PHP动态生成与数据库进行数据交流的操作表单:form.php生成表单域头:"?>生成普通文本:"?>生成密码文本:"?>生成滚动文本:"?>生成单选:"?>生成复选:"?>生成列表框:网络数据库Asp技术Php技术Jsp技术网站设计"?>生成提交按钮"?>生成重填按钮"?>生成表单域尾"?> 3.3用JSP动态生成与数据库进行数据交流的操作表单form.jsp生成表单域头:生成普通文本:生成密码文本:生成滚动文本:生成单选:生成复选:生成列表框:生成提交按钮生成重填按钮生成表单域尾 4设计用于存储商务网站交互数据的MySql数据库 4.1启动MySql数据库服务器(MySql的安装及ODBC驱动程序的安装与设置请参阅相关书籍)可在NT5.0下用启动服务法/NET命令法/命令窗口键入MySqld-shareware法,启动MySql数据库服务器,启动数据库服务器后,在d:\mysql\bin>提示符下键入mysql-h127.0.0.1-uroot即可出现mysql>提示符,从这开始即可进行对MySql数据库的各种操作。若要退出可键入quit/exit,若要关闭数据库服务器,可在d:\mysql\bin>提示符下键mysqladmin-urootshutdown4.2建立MySql数据库在MySql数据库的提示符mysql>键入Createdatabasetradedb;(或go) 4.2.建立MySql数据库表这里以商务网站中常用的几种数据表为例,主要用到的数据表和生成数据表的SQL代码如下:(这里的数据表字段只要分别对应上述表单域对象即可实际操作,数据表统一用tablename表示)客户登录管理数据表CREATETABLEusers(IDintnotnullauto_increment,UserNamevarchar(30)notnull,Passwordvarchar(20)notnull)客户信息数据表CREATETABLEusermessage(UserNamevarchar(30)notnull,Emailvarchar(80)notnull,Addressvarchar(120)notnull,Faxvarchar(40)null,Phonevarchar(40)notnull,Cerreycardvarchar(50)notnull)客户定购商品数据表CREATETABLEcatalog(ProductIdintnotnull,Namevarchar(64)notnull,Pricefloat(6,2)notnull,Descriptiontextnull) 5设计处理表单数据的3p程序 5.1设计处理表单数据的ASP程序form_cl.asp建立与数据库的连接:这里采用直接驱动法Setconn=Server.CreateObject("ADODB.Connection");conn.open"driver={MySQL};server=localhost;uid=user;pwd=xxxxxx;database=tradedb"获取表单提交的数据:data1=request("ptwbk");data2=request("mmwbk");data3=request("gdwbk")data4=request("dxk");data5=request("fxk");data6=request("lbk")用SQL语句对数据库进行操作查询数据记录:sql="select*fromtablename";setrs=conn.execute(sql)"增加数据记录:sql="insertintotablename(ptwbk,mmwbk,gdwbk,dxk,fxk,lbk)values('data1','data2','data3','data4','data5','data5')";setrs=conn.execute(sql)更改某条数据记录:sql="updatetablenamesetdata1="request(ptwbk)",whereID="num";setrs=conn.execute(sql)删除某条数据记录:sql="deletefromtablenamewhereID="num";setrs=conn.execute(sql)将SQL语句处理的数据结果输出Response.Write" "Response.Write""Fori=0tors.Fields.Count-1Response.WRITE""&rs.Fields(i).Name&""NextResponse.Write"
|