![[计算机软件及应用]ASP Oracle网上购物系统实验报告_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-5/2/c8481e76-6d05-47e3-88d5-dba79721d51c/c8481e76-6d05-47e3-88d5-dba79721d51c1.gif)
![[计算机软件及应用]ASP Oracle网上购物系统实验报告_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-5/2/c8481e76-6d05-47e3-88d5-dba79721d51c/c8481e76-6d05-47e3-88d5-dba79721d51c2.gif)
![[计算机软件及应用]ASP Oracle网上购物系统实验报告_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-5/2/c8481e76-6d05-47e3-88d5-dba79721d51c/c8481e76-6d05-47e3-88d5-dba79721d51c3.gif)
![[计算机软件及应用]ASP Oracle网上购物系统实验报告_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-5/2/c8481e76-6d05-47e3-88d5-dba79721d51c/c8481e76-6d05-47e3-88d5-dba79721d51c4.gif)
![[计算机软件及应用]ASP Oracle网上购物系统实验报告_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-5/2/c8481e76-6d05-47e3-88d5-dba79721d51c/c8481e76-6d05-47e3-88d5-dba79721d51c5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目 电子商务平台设计与开发学院: 学与计算机科学数学院专业: 计算机科学与技术 班级: 组员: 一、系统开发背景 为适应国际贸易和商业领域的国际化、信息化和无纸化的需要,电子商务充分利用计算机技术,网络通信技术和因特网,在短短的几年内,迅速发展成为全球的支柱产业,给经济、生活、工作带来综合的革新。我们借助毕业设计这一锲机,以网上购物的形式,尝试建造一个全天侯的网上购物广场,为任何访问本网站的客户提供优质的商业服务、可靠的商业信息、最新的商业机会。 随着internet技术的发展和迅速普及,网上购物这一新型购物方式逐渐被人们接受,并逐渐改变甚至取代了传统的购物观念,人们足不出户就可以在网上浏览
2、到全国各地的商品,方便快捷搜索到自己所需要的商品,而安全的在线支付和送货上门服务,是人们更加深切地体会到这一购物方式的优越性。 与此同时,网上商城这种新的商业运营模式被商家运用到竞争中,并得到大多对户客户的认可,这种基于b/s的销售规模已初具规模,一些电子商务网站的成立从整体上降低了企业成本,加快了企业对市场的响应速度,提高了企业的服务质量和竞争力。二、系统开发工具2.1 asp技术简介asp技术 asp(active server pages动态网页)是微软公司推出的一种用以取代cgi(common gateway interface通用网关接口)的技术。目前,internet上的许多基于w
3、indows平台的web站点已开始应用asp来替换cgi。 简单地讲,asp是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式web服务器应用程序,如交互式动态网页,包括使用html表单收集和处理信息,上传与下载等等。通常情况下,用户通过浏览器看到的网页大多是静态的,目前internet 上的许多站点,仍然提供静态(static)的主页内容。 所谓静态,指的就是站点的主页内容是固定不变的。 当浏览器通过internet 的http (hypertext transport protocol)协议,向站点服务器(web server)要求提供主页的内容时,站点服务器收
4、到要求后,就传送原已设计好的静态的html 的文件数据给浏览器。 一个静态的站点,若要更新主页的内容,必须手动的来更新其html的文件数据。而随着web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。当在浏览器上填好表单(form)的输入数据,以提供http要求时,可以在站点服务器中执行的应用程序,而不只是一个html 文件。站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以html的格式传送给浏览器。 根据用户请求生成动态主页的传统方法有cgi、isapi等。cgi是根据浏览器端的http请求激活响应进程,每一个请
5、求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下;isapi针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术和另一普遍使用的开发动态网页的技术java都还存在着另外一个问题,那就是开发困难,程序的开发和html写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如javascript和idc(internet database connector)等功能有限,不敷使用。asp使用的activex技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具
6、有无限的扩充能力,这是传统的cgi等程序所远远不及的地方。asp与常见的在client端实现动态主页的技术如java applet、activex control、vbscript、javascript等不同,asp中的命令和script语句都是由服务器来解释执行的,执行结果产生动态生成的web页面并送到浏览器;而client端技术的script命令则是由浏览器来解释执行。由于asp是在服务器端解释执行,开发者可以不必考虑浏览器是否支持asp;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。asp通过后缀名为.asp的asp文件来实现,一个.asp文件相当于一个可执行文
7、件,因此必须放在web服务器上有可执行权限的目录下。当用户从浏览器输入了.asp文件的地址后,浏览器就将这个url请求发给web server,如果web server上装了asp,就调用asp。asp读出相应.asp文件,解释并执行命令,动态生成一个html页面回传web server,然后web server再把结果发送给浏览器。asp文件的制作和html类似,且和html开发集成,可以在同一个过程完成,利用asp将可以执行的脚本嵌入到html文件中(将html文件的后缀名改为.asp),这使得html文件的编写与脚本的开发融合在一起。通过asp内置的对象、服务器组件(server com
8、ponent)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。asp比较网关及服务器扩展模式有着以下优点:(1)完全与html文件融合在一起; (2)容易创建,不需要其它编译、链接程序; (3)面向对象的并通过activex server对象可扩展。2.2 oracle简介 oracle数据库服务器:oracle server是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个server由一个 oracle db和一个 oracle server实例组成。它具有场地自治性(site autonomy)和提供数据存储透明机制,
9、以此可实现数据存储透明性。每个 oracle数据库对应唯一的一个实例名sid,oracle数据库服务器启动后,一般至少有以下几个用户:internal,它不是一个真实的用户名,而是具有sysdba优先级的sys用户的别名,它由dba用户使用来完成数据库的管理任务,包括启动和关闭数据库;sys,它是一个 dba用户名,具有最大的数据库操作权限;system,它也是一个 dba用户名,权限仅次于 sys用户。客户端:为数据库用户操作端,由应用、工具、sql* net组成,用户操作数据库时,必须连接到一服务器,该数据库称为本地数据库(local db)。在网络环境下其它服务器上的 db称为远程数据库
10、(remote db)。用户要存取远程 db上的数据时,必须建立数据库链。oracle数据库的体系结构包括物理存储结构和逻辑存储结构。由于它们是相分离的,所以在管理数据的物理存储结构时并不会影响对逻辑存储结构的存取。1.逻辑存储结构它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同一词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。而其中的模式对象和关系形成了数据库的关系设计。数据块(block):是数据库进行uo操作的最小单位,它与操作系统
11、的块不是一个概念。oracle数据库不是以操作系统的块为单位来请求数据,而是以多个oracle数据库块为单位。段(segment):是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。其中包括:数据段:用来存放表数据;索引段:用来存放表索引;临时段:用来存放中间结果;回滚段:用于出现异常时,恢复事务。范围(extent):是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依此分配的,分配的第一个范围称为初始范围,以后分配的范围称为增量范围。优点有: 可用性强 可扩展性强 数据安全性强 稳定性强三、实验内容及实验目的目的:(1)熟悉并掌握
12、oracle的各种操作和功能。(2)能够在实际的事例中灵活运用oracle的有关知识。(3)能够编写出满足某种要求的功能。内容:1. 数据库结构设计2. 目录结构与通用模块3. 管理主界面与登录程序设计4. 公告信息管理模块设计5. 商品类别管理模块设计6. 商品管理模块设计7. 订单管理模块设计8. 系统主界面与登录程序设计9. 设计商品查询及购买模块3、 功能模块根据分析,为了较好的实现网站,系统应实现以下基本功能:1.后台管理方面:1)商品订单管理:主要实现商品分类管理、添加与修改商品、管理订单、投诉订单、反馈信息、商品留言管理等功能。2)管理网站用户:主要实现用户管理、后台管理员管理等
13、功能。3)新闻公告管理:主要实现新闻添加(支持图片新闻)、修改删除等功能。4)网站常规设置:主要实现网站设置、首页广告、大类广告、小类广告、友情链接、修改注册协议等功能的管理。5)网站信息设置:主要实现汇款方式、送货方式、订购方式、售后服务等内容的管理。2.前台应用方面:1)用户管理:主要实现用户注册、验证码登录陆、资料修改等功能。2)用户订购:主要实现在线订购、在线支付、购物车、查看订单、订单投诉、信息反馈等功能。3)商品展示:主要实现二级分类展示、首页精品推荐、新品发布、销售排行、分类模糊搜索等功能。4)网站信息:主要实现汇款方式、送货方式、订购方式、售后服务等功能。5)首页功能:主要实现
14、最新新闻、友情链接等功能。四、数据库设计数据库中所包含的表:1. 公共信息表 编号 字段名称 数据结构 说明1idnumber公告编号2titlevarchar2(50)公告题目3contentvarchar2(1000)公告内容4posttimevarchar2(30)提交时间5postervarchar2(20)提交人2. 商品类别表:编号字段名称数据结构说明1idnumber分类编号2typevarchar2(50)分类名称3. 商品信息表:编号字段名称数据结构说明1idnumber商品编号2typeldnumber商品类别3namevarchar(50)商品名称4sn_numberva
15、rchar(50)商品序列号5producervarchar(50)生产厂家6packagevarchar(50)包装类型7salepricenumber销售价格8storepricenumber进货价格9contentvarchar(1000)商品简介10readcountnumber阅读次数11buycountnumber销售数量12imagefilevarchar(50)图片文件4. 购物车表编号字段名称数据结构说明1idnumber编号2userldvarchar2(20)用户名3goodsldnumber商品编号4ordertimevarchar2(30)订购时间5ordercoun
16、tnumber订购数量6salecheckednumber销售价格7usercheckrnumber用户确认8ordernumbervarchar2(50)订单号9posttimevarchar2(30)提交时间10admincheckednumber管理员确认5. 用户信息表编号字段名称数据结构说明1useridvarchar2(20)用户名2pwdvarchar2(20)用户密码3usernamevarchar2(50)用户姓名4sexnumber性别5addressvarchar2(1000)地址6emailvarchar2(50)电子邮件地址7telephonevarchar2(100
17、)固定电话8mobilevarchar2(50)移动电话6. 管理员表编号字段名称数据结构说明1adminidvarchar2(20)用户名2passwdvarchar2(20)密码3namevarchar2(30)用户姓名代码。create sequence goodstype_id minvalue 1 maxvalue 9999999start with 1 increment by 1 cache 20;create sequence basket_id minvalue 1 maxvalue 9999999start with 1 increment by 1 cache 20;cr
18、eate sequence board_id minvalue 1 maxvalue 9999999start with 1 increment by 1 cache 20; create sequence goods_id minvalue 1 maxvalue 9999999start with 1 increment by 1 cache 20; create or replace trigger baskettr before insert on shopman.basket for each row begin select basket_id.nextval into :new.i
19、d from dual;end;create or replace trigger boardtr before insert on shopman.board for each row begin select board_id.nextval into :new.id from dual;end;create or replace trigger goodstr before insert on shopman.goods for each row begin select goods_id.nextval into :new.id from dual;end;create or repl
20、ace trigger goodstypetr before insert on shopman.goodstype for each row begin select goodstype_id.nextval into :new.id from dual;end;六、代码的编程1、目录结构adminadminimagesumagesusershop2、通用模块conndb.aspisadmin.asp% 从session变量中读取用户信息 adminid = trim(session(admin_id) passwd = trim(session(admin_pwd) 用户名是否为空 if
21、adminid then sql = select * from admin where adminid= & adminid & and passwd= & passwd & 是否存在此用户名 set rs = conn.execute(sql) if rs.eof then response.redirect login.asp end if else response.redirect login.asp end if%isuser.asp项目三1、 设计管理主界面管理主界面adminindex.asp2、 设计admin/adminindex.asp网上商城订单管理 此网页使用了框架,
22、但您的浏览器不支持框架。 包含下面外部文件3、 设计adminleft.asp4、 设计用户登录设计5、 管理用户登录程序设计在addminlogin.asp中,定义表单代码如下:当数据提交后,将执行putsession.asp把用户保存在session变量中,然后把网页转向到adminlogin.asp中。当再次执行left.asp时程序将接受用户信息,惊醒身份验证,代码如下:% 根据录入的用户信息查询数据 adminid = trim(session(admin_id) adminpwd = trim(session(admin_pwd) if adminid then sql=selec
23、t * from admin where adminid= & adminid & and passwd= & adminpwd & set rsa = conn.execute(sql) 如果用户存在,则转向到adminindex.asp if not rsa.eof then response.redirect(adminindex.asp) end if end if%为了在系统运行过程中掌握当前登录用户的信息,通常要把用户信息保存在session变量中。left.asp文件用于显示管理界面的左侧部分,它定义了一组管理连接left.asp中的管理连接管理项目链接公告管理boardlist
24、.asp类别管理goodstyps.asp商品列表goodslist.asp未处理订单orderdo.asp?flag=1已处理订单orderdo.asp?flag=2已发货订单orderdo.asp?flag=2已结账订单orderdo.asp?flag=4系统用户userlist.asp系统管理员adminlist.asp修改密码pwdlist.asp退出登录loginexit.asp项目四 公告信息管理模块1 添加新的公告记录;2 修改公告记录;3 删除公告记录。只有管理用户才有权进入公告信息管理模块。1 设计公告管理页面公告管理页面为boardlist.asp,公告的添加、修改和删除都
25、在这里执行。(1) 显示公告信息% 设置sql语句,查询表board中的公告信息,读取到rs对象中 dim rs set rs = server.createobject(adodb.recordset) sql = select * from board order by posttime desc dim n 用来保存记录数量 rs.open sql,conn,1,1 如果rs为空,则显示提示信息 if rs.eof then response.write 目前还没有公告。 else%公 告 管 理 编号 题目 时间 修改 选择 % 设置每页记录数量为15rs.pagesize = 15设
26、置并读取页码参数pageipage = clng(request(page)if ipage rs.pagecount then ipage = rs.pagecountend if rowcount = rs.pagesize 依次显示公告信息 do while not rs.eof and rowcount 0 n = n + 1% a href=./boardview.asp?id= onclick=return boardwin(this.href) a href=boardedit.asp?id= onclick=return boardwin(this.href)修改 input
27、type=checkbox name=board id= style=font-size: 9pt 1 then response.write 分页: for i=1 to rs.pagecount response.write response.write & i & next response.write end if end if%(2) 显示功能按钮 2 添加公告信息在boardlist页面“添加公告”按钮,将调用boardwin()函数,在新窗口中打开boardaddt.asp,添加公告信息,定义表单到吗如下
28、:提交前要对表单进行域校验 function checkfields() if (myform.title.value=) alert(公告题目不能为空); myform.title.onfocus(); return false; if (myform.content.value=) alert(公告内容不能为空); myform.content.onfocus(); return false; return true; boardsave.asp主要代码如下:%function changechr(str) changechr = replace(str, , ) changec
29、hr = replace(changechr,chr(13),)end function dim straction 得到动作参数,如果为add则表示创建公告,如果为update则表示更改公告 straction = request.querystring(action) 取得公告题目和内容和提交人用户名 title = trim(request(title) content = changechr(trim(request(content) poster = session(admin_id) if straction=add then 在数据库表board中插入新公告信息 sql = in
30、sert into board(title,content,posttime,poster) values(&title&,&content&,&now&,&poster&) else 更改此公告信息 id = request.querystring(id) sql = update board set title=&title&,content=&content&,posttime=&now&,poster=&poster& where id=&id end if response.write sql 执行数据库操作 conn.execute(sql) response.write 公告成功
31、保存%3 修改公告进入boardedit。asp页面,表单myform的定义代码:form name=myform method=post action=boardsave.asp?action=update&id= onsubmit=return checkfields()与添加公告相同的是,提交表单前需要进行域校验主要代码如下:% 从数据库中取得此公告信息 dim id,rs,sql 读取参数id id = request.querystring(id) 根据参数id设置sql语句,读取指定的公告信息 sql = select * from board where id = & id 执行
32、sql语句,将公告信息读取到rs记录集中草药 set rs = server.createobject(adodb.recordset) rs.open sql,conn,1,1 如果记录集为空,则显示没有此公告 if rs.eof then response.write 没有此公告 结束网页输出 response.end else 替换公告内容中的特殊字符 content=replace(rs(content),chr(13) content=replace(content, , ) 下面内容是在表格中显示公告内容%form name=myform method=post acti
33、on=boardsave.asp?action=update&id= onsubmit=return checkfields() 公告标题 input type=text name=title size=20 value= 公告内容 4 删除公告在删除公告前,需要选中相应的复选框。(1) 选择全部复选框在boardlist.asp中,定义“全选” 按钮的代码如下:当单击“全选”按钮时,将执行sltal()函数,代码如下:function sltall()var nn = self.document.all.item(board);for(j=0;jnn.length;j+)self.docum
34、ent.all.item(board,j).checked = true;(2) 全部清空选择在boardlist。asp中,定义“清空”按钮代码:当单击“清空”按钮时,将执行sltnull()函数,代码如下:function sltnull()var nn = self.document.all.item(board);for(j=0;jnn.length;j+)self.document.all.item(board,j).checked = false; (3) 生成并提交删除编号列表在boardlist.asp中,定义“删除”按钮的代码:当单击“删除”按钮时,将执行selectchk(
35、)函数,代码如下:function selectchk() var s = false; /用来记录是否存在被选中的复选框 var boardid, n=0; var strid, strurl; var nn = self.document.all.item(board); /返回复选框board的数量 for (j=0; jnn.length; j+) if (self.document.all.item(board,j).checked) n = n + 1; s = true; boardid = self.document.all.item(board,j).id+; /转换为字符串
36、 /生成要删除公告编号的列表 if(n=1) strid = boardid; else strid = strid + , + boardid; strurl = boarddelt.asp?id= + strid; if(!s) alert(请选择要删除的公告!); return false; if (confirm(你确定要删除这些公告吗?) form1.action = strurl;form1.submit(); 五 商品类别管理模块 商品类别管理模块可以实现的功能如下:1、 添加新的商品类别记录;2、 修改商品列表记录;3、 商品类别信息;只有管理员用户才能进入adiminindex.asp页面,1设计商品类别管理页面 在goodslist。asp页面中于见面显示相关部分的代码1、 显示商品的信息商 品 类 别 管 理 类 别 修 改 选 择 % dim rs set rs = server.createobject(adodb.recordset) 读取所有的商品类别数据到记录集rs中 sql = select * from goodstype
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难点解析人教版八年级物理上册第4章光现象-光的色散综合测评试卷(含答案详解版)
- 2025年电影数字化游戏联动岗位晋升考核试卷
- 达标测试人教版八年级物理上册第6章质量与密度-质量必考点解析试题(详解)
- 难点解析人教版八年级物理上册第5章透镜及其应用专项测试试卷(详解版)
- 基于思维导图提升学生数学核心素养的实践研究
- 综合解析苏科版八年级物理上册《物态变化》定向练习试题(解析卷)
- 考点解析人教版八年级上册物理光现象《光的直线传播》同步测评试卷(解析版)
- 校长在秋冬季校园安全工作专题会议上的讲话:以“时时放心不下”之责护秋冬校园平安
- 2024年集中式饮用水水源地监测考核试卷
- 和君咨询合同(标准版)
- 2024人教版八年级生物上册期末复习全册知识点考点背诵提纲
- 新生儿人文关怀护理
- 2025国庆节知识答题题库(含答案)
- 肥胖患者麻醉管理专家共识2024年版中国麻醉学指南与专家共识
- 村委会三年来工作总结
- 七一党课:传承红色基因勇担时代使命2025年建党104周年“七一”专题党课
- 2025至2030农业机械化行业市场发展分析及前景趋势与投融资发展报告
- dq冰淇淋店管理制度
- 心理辅导室管理制度
- 电梯免保协议书
- 金矿投资合作协议书
评论
0/150
提交评论