




已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南省娄底职业技术学院学生毕业设计(论文)题 目:基于WEB的网上书店系统 姓 名: 杨 慧 学 号: 207150238 系 部: 电子信息工程系 专 业: 软件技术 指导老师: 田 华 娟 开题时间: 2009年10月 完成时间: 2009年12月 湖南省娄底职业技术学院摘 要本文介绍了以网上书店为代表的商务电子的发展状况、技术背景,具体讲述了如何使用JSP建立了一个网上书店系统,网上书店的建立流程、数据库设计、功能模块的设计,以及每一个功能模块的代码实现方法。本系统采用JSP+JavaBean的模式来订制一个小型网上书店平台,系统采用界面与业务逻辑分离的三层结构设计,将业务逻辑封装在JavaBean中,使得系统的安全性、可维护性、可重用性和可扩展性都大大提高。系统采用SQL Server 2000为后台数据库以JSP Web为页面形式,涉及到数据库、网络、Web服务器、J2EE等方面的技术,实现了较为完备的功能。包括有前台管理:图书分类、图书详情浏览、可按书名、作者、出版社或者全部关键字查询图书,用户登录,购物车管理,订单管理,个人资料管理,用户留言,投票等功能。后台管理:管理员登录、书籍管理、订单处理、用户信息管理、用户留言、投票管理等。另外,整个系统具有友好的用户界面,操作简单实用,功能较为完备。 关键词:网上书店;JSP;JavaBean;SQL Server 2000目 录前 言4第一章 引言51.1 系统概述51.2系统开发方法51.3运行环境5第二章 可行性分析62.1系统开发的目标62.2技术可行性分析6第三章 需求分析73.1系统需求分析73.1.1功能需求73.1.2性能需求73.1.3 安全与保密要求73.2系统流程图83.2.1数据流程图9第四章 系统设计104.1功能模块结构图104.2功能模块描述114.3数据库设计124.3.1表设计124.3.2关系图144.3.3触发器154.4详细设计16第五章 系统测试475.1软件测试概念475.1.2用户登录界面的测试475.1.3购书时数量修改的测试475.1.4提交订单的测试485.2测试总结48第六章 结 论496.1主要功能496.2有待改进496.3经验与感受49致 谢50参考文献50前 言伴随着Internet正向我们大踏步走来,电子商务将成为21世纪主流的商业模式。网上书店将是随着这些网络技术的发展而出现的一种新型图书销售渠道。它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书销售的网上交易。网上书店同传统的店面书店相比,网上书店的经营方式和销售渠道是全新的;它24小时的全天候和全方位服务是店面书店所不能比及的;成本低廉更是开设网上书店的主要原因。而与其他商品相比,书籍运送几乎不怕碰撞碎裂,不具时效性;同时书本具有功能单一,形式简单,易于判断和选择而独具优势,最适合于网上交易;再次是单价低,降低了消费者第一次在网络购物的门槛,所以网上书店成了电子商务的先锋。本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在Windows XP下,以SQL Server 2000为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术,(jsp+javabean+sqlserver2000)B/S模式开发的网上书店系统。网上书店系统加强了自己对理论知识的更深一步掌握,同时又与实践相结合,让自己看到了专业技能的可实践性。在编写过程中,我力求做得更完善,但是因为本人水平有限,对于很多功能还有所欠缺,想得不是很全面。敬请各位老师、同学批评指正。杨 慧 2009年12月第一章 引言1.1 系统概述网上书店系统是基于用户购物,书店管理员对书籍、用户、订单进行管理的电子商务系统。1.2系统开发方法本系统便是尝试用JSP开发J2EE架构的电子商务网站,它是在Windows XP下,以SQL Server 2000为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术,(jsp+javabean+sqlserver2000)B/S模式开发网上书店系统。1.3运行环境1)客户端:装有Web浏览器与Internet连接的计算机;2)服务器:装有JBuilderw 2006的系统 3)数据库:装有Sql Server2000的系统。第二章 可行性分析2.1系统开发的目标1. 能够实现图书的浏览、显示图书的基本信息,且通过点击图书链接显示出图书的详细信息。 2.购买图书,一次能够买多本,对未付款的订单能进行退订。3.用户基本信息的查询。管理员对用户、图书、订单的管理。4.通过留言、投票,实现网站的互动。5.通过表与表之间的关系,实现级联更新,触发器的建立,在用户购买、删除、修改图书数量时,能实现书目信息表的更新。2.2技术可行性分析Web技术的迅猛发展正推动Internet上信息服务类的进步,WWW服务的基础是HTML语言,这个系统模块中用到的JSP技术是在HTML语言的基础上使用脚本语言对网页的对象模型进行编程,JSP全称Java Server Pages,它是由Sun Microsystems公司提出、许多公司参与建立的一种动态网页技术标准,它诞生在1999年6月1日,目前国内外已经在广泛地使用JSP,随着JAVA语言得到普及,越来越多的公司开始关注JSP的前景。1)作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点,一次写入之后,可以运行在任何具有符合Java语法结构的环境,取代之过去单一平台开发。2)从开发人员的角度来看JSP技术提供的组件都是基于Javabean技术或JSP标签库。3)JSP标签可扩充性。JSP技术能够使用开发者扩展JSP标签,JSP开发者能定制标签库,减少对脚本语言的依赖。3)生成可重用的组件。JSP基于组件的技术方法加速了总体开发过程, JSP组件(Javabean,或定制的JSP标签)是跨平台可重用的,Javabean组件可以访问数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。4)易于维护性。 基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理,JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。JSP技术编写的程序运用要更加灵活,可扩展性更强,在现有技术条件下,能够完成功能目的。 第三章 需求分析3.1系统需求分析鉴于网上书店系统的两种用户角色的说明,可将系统分为前台和后台,这种分法也是当前网站系统惯用的做法: 1.前台供给用户使用,用于展现信息和完成与用户的交互性处理,即通过注册能实现对书籍的购买,查询订单等功能,留言,投票,修改个人信息等。 2后台供给网站的管理者使用,分为高级管理员、和管理员两类。用于管理网站的内容,即实现对书籍、订单、用户、留言、投票、及个人信息的管理。高级管理员为系统首先指定一名人员,该人员除具有一般管理员的功能外,还能够修改所有用户及管理员的权限。3.1.1功能需求对书店的图书信息和用户(书店工作人员,网站注册用户即潜在购书者)信息的进行有效的管理;对图书的进存销等环节进行信息化管理;实现读者网上浏览图书,网上购书的可能;通过留言同读者进行有效的沟通;处理读者网上的投诉和建议。3.1.2性能需求数据库的录入;图书检索;用户信息查询;图书信息查询;留言和投票;网上购书;3.1.3 安全与保密要求书店中所有的图书能够供用户随时查阅;用户的个人信息可以由用户自己修改,添加;书店图书的信息只能由书店管理人员添加,修改;所有注册用户信息只能由书店管理人员查询。3.2系统流程图3.2.1数据流程图 第四章 系统设计一般用户修改密码找回密码查|修个人信息寻求帮助购买图书查看订单取消未付款订单留言,投票浏览图书4.1功能模块结构图管理员查看订单添加书籍修改书籍修息回复留言删除用户修改订单状态修改用户权限修改个人信息投票管理高级管理员拥有管理员的所有权限,管理所有权限4.2功能模块描述网上书店前台实现的功能有:网站首页。首页是用户打开网站的第一个页面,一般在这个页面中呈现的信息量最大,且需充分展现网站的亮点,以吸引用户、留住用户。首页中要展现的信息是:书藉分类查询、图书详情浏览、可按书名、作者、出版社或者全部关键字查询图书,新品图书、特价图书、畅销图书、经典图书、用户登录、用户注册,客户帮助、客户印象、查看购物车、联系方式等。1. 书籍的查询:查询库存数不为0的图书。2. 书籍的分类:经济、科技、礼仪、励志、青春小说、少儿、社会科学、外国名著、心理学、医学、艺术、音乐、英语、计算机。(1)新品图书。按录入网上书店的时间排序显示,优先显示新录入的书藉信息。(2)特价书藉。显示网上书店中市场价比会员价低十元的特价书藉信息。 (3)畅销图书。按网站管理员是否推荐(4)经典图书.。按出版时间的升序排序显示.。(5)新注册用户。提供用户网上注册功能,填写注册表单并提交后,就能成为网上书店的用户。(6)用户登录。供已注册的用户登录。登录后就能购书、留言了(7)网上购书。已登录的用户可以将需要购买的书藉放入购物车,可将已放入购物车中的书藉生成一张订单并作结账处理,可将未作处理的订单和缺货的订单取消。(8)个人信息。个人资料的修改、找回密码、进行留言、投票等。.网上书店后台管理实现的功能有:(1)书籍管理:管理员进入时显示书目表中的详细信息。并能录入、修改、删除图书。(2)用户管理。管理员可查看、删除,并修改用户权限。(3)订单管理。供网站管理员管理用户提交的订单,网站管理员对用户“已付款”的订单,并根据发货情况可修改状态为“已发货”或“缺货”。(订单状态为:1未付款默认,2已发货,3缺货)。(4)留言管理。网部管理员根据用户的留言进行回复、删除。(5)投票管理。对投票结果进行查看,定期处理。4.3数据库设计由于本系统需要对所学的专业知识有所巩固,而且对数据库有一定的要求,因此采用SQL Serever2000数据库作为数据库设计工具。系统的所有数据都存于ginnybookshop.mdb数据库中。该数据库包括上面所说的六个表:1.书目表,2.书目订单生成表,3.书目订单表,5.用户调查表,6.留言表4.3.1表设计默认值:订单状态:(未付款,缺货,已付款)默认为未付款默认值:订单号:1数量:0说明:此表相当于一个购物车、用户选择购买的书籍添加到此表中,但对于同书号的书籍不会产生多条记录,根据修改数量来实现多本书的购买。在没有提交订单之前,订单号不会产生,默认为 1。订单号、用户名、书号三个字段,确保了多个用户同时购买相同的书籍、且不会显示用户先前购买的书。默认值:登录次数:0权限:(高级管理员,会员,管理员)默认为会员默认添加记录:高级管理员(指定一名)说明:权限分为(高级管理员,会员,管理员)默认为会员,系统默认添加记录:高级管理员(指定一名)。高级管理员可以对所有用户的权限进行修改。默认值:都为04.3.2关系图4.3.3触发器1)create trigger trig_book1on dbo.书目订单表for insertasdeclare rk1 intselect rk1=数量 from insertedupdate 书目表set 书目表.库存数量=库存数量-rk1where rk1 in(select 数量 from inserted)and 书号 in(select 书号 from inserted)2)create trigger trig_books2on dbo.书目订单表for deleteasdeclare sl intset sl=(select 数量 from deleted)update 书目表set 书目表.库存数量=库存数量+slwhere sl in(select 数量 from deleted)and 书号 in(select 书号 from deleted)3)create trigger trig_books3on dbo.书目订单表for updateasdeclare slbefore int,slafter int select slbefore=数量 from deletedselect slafter=数量 from insertedupdate 书目表set 库存数量=库存数量+slbefore-slafterwhere 书号 in(select 书号 from deleted)4.4详细设计主界面主要功能及代码查看书function msg()alert(您还没有登录!);/location.href=mainselectbook.jsp; 新品图书 畅销图书 经典图书 特价图书 欢迎来到新概念书店 0; if(book_fl!=null&book_fl!=) /根据所传递的值,进行不同的查询处理,显示不同的结果 if(book_fl.equals(入库时间) condition=select top 12 * from 书目表 where 库存数量0 order by 入库时间 desc; else if(book_fl.equals(是否推荐) condition=select top 12 * from 书目表 where 库存数量0 order by 是否推荐 desc; else if(book_fl.equals(出版时间) condition=select top 12 * from 书目表 where 库存数量0 order by 出版时间 ; else if(book_fl.equals(特价图书) condition=select top 12 * from 书目表 where 库存数量0 and 市场价-会员价10 order by 会员价 desc ; / out.print(condition); ResultSet rs=sql.executeQuery(condition); int k = 0; String id=; while (rs.next() id=rs.getString(书号); /获取书号fm2=rs.getString(封面); bookm=rs.getString(书名); if (k % 4 = 0) /记录等于4时,则另起一行 out.println(); % function deleted()document.form.action=error1.jsp;document.form.submit();function send()document.form.action=gouwu.jsp;document.form.submit(); form name=form action=gouwu.jsp method=POST input type=hidden name=shubenID value= a href=book_iformation.jsp?bookid= id=A target=main img src=img/ alt= align=middle height=140 width=100 书名: 作者: 出版社: 市场价:¥ 会员价:¥ % k+;说明:主界面,主要实现图书的浏览,点击不同的链接,图书按不同的排序方式显示。通过点击图书,链接到书本的详细信息。对于已登录用户,点击购买,可进入购物车.点击左边的菜单, 可实现图书的分类查询,模糊查找。2. 购物车界面主要功能及代码Gowu.jsp/获取书号 String ID=bean2.StrFormat(request.getParameter(shubenID);/查询当前用户,购物车中是否已经存在本次选择的图书String condition3=select * from 书目订单表 where 订单号=1 and 用户名=+session.getAttribute(ID)+and 书号=+ID+ ;re=sql.executeQuery(condition3);/out.print(condition3);if(re.next()=false) /如果不存在,则添加到购物车 String condition1=insert into 书目订单表 (用户名,书号,书名,单价,数量,总金额) values+(+session.getAttribute(ID)+,+ID+,+name+,+price+,1,+price+) ; out.print(condition1); int i=sql.executeUpdate(condition1); /并重定向购物车页面 response.sendRedirect(gouwuche.jsp);else/不添加,直接转向购物车页面 response.sendRedirect(gouwuche.jsp);Gowuche.jsp/查询当前用户,本次购物车中所购买的图书 String condition = select 书号,书名,单价,数量,总金额 from 书目订单表 where 订单号=1 and 用户名=+session.getAttribute(ID)+;ResultSet rs = sql.executeQuery(condition);Updatenums.jsptry /获取书号 String shuhao=request.getParameter(xuhao); out.println(书号=+ shuhao);/获取数量 String s=request.getParameter(shuliang); out.println(修改的数量为+s+); int i=Integer.parseInt(s); /获取单价 String danjia=request.getParameter(danjia); /转换为单精度型float danjia1=Float.parseFloat(danjia);float zongjia=danjia1*i; /计算总价int num1=0; Connection con=bean1.getConnection(); Statement sql=con.createStatement();/查询书目表中,本书所有的库存数量String num=select 库存数量 from 书目表 where 书号=+shuhao+ ;out.print(num);ResultSet re=sql.executeQuery(num);while(re.next()num1=re.getInt(库存数量); /String s2=re.getString(库存数量);/int num1=Integer.parseInt(s2);out.print(num1+num1);out.print(i+i);if(i/如果超出了,则显示提示信息alert(该书数量没有这么多了,请重新修改!);onsubmit=onclick; response.sendRedirect(gouwuche.jsp);%Deletegowu.jsp/通过获取的书号,用户名,删除当前用户要购买的图书 String condition= delete 书目订单表 where 订单号=1 and 书号=+xu+ + and 用户名=+session.getAttribute(ID)+;说明:购物车界面主要完成用户选择购买的图书添加置购物车,对于相同书号的,在一次购习中不会重复添加,可通过修改数量来更改要购买的本数。且修改的数量要小于库存中的数量。购买、修改、删除会因触发器的建立,库存中的数量产生相应的变化。3. 管理员查看书籍 按 书号 书名 作者 类别 出版社 库存数量 市场价 会员价 是否推荐 升序 降序 排序 %/获取列表框中的值String name=str.code(request.getParameter(name);String queren=str.code(request.getParameter(queren);String sm2=str.code(request.getParameter(sm2);String querne2=;/将列表框中的值进行转换if(queren.equals(升序) querne2=asc; else if(queren.equals(降序) querne2=desc; String sql=; / sql=select * from 书目表; / if(sm2!=null&sm2!=) /实现对书名的模糊查询 sql=select * from 书目表 where 书名 like %+sm2+%;/当在列表框中选择对应的值时,对不同的字段,进行不同方式的排序显示,以便快速查找记录if(name!=null&name!=) sql=select * from 书目表 order by +name+ +querne2+;/out.print(sql);try int pagesize,rowcount,pagecount,intpage; String strpage; pagesize=10; strpage=request.getParameter(page); if(strpage=null)intpage=1; elseintpage=Integer.parseInt(strpage); if(intpagepagecount)intpage=pagecount; if(rowcount0)rs.absolute(in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术漏洞利用机制-洞察及研究
- 2025年学历类自考内科护理学(一)-学前心理学参考题库含答案解析(5套试卷)
- 2025年学历类自考儿童发展理论-学前教育行政与管理参考题库含答案解析(5套试卷)
- 2025年学历类自考儿科护理学(一)-中国古代文学作品选(二)参考题库含答案解析(5套试卷)
- 2025年学历类自考中外教育简史-文学概论参考题库含答案解析(5套试卷)
- 星上自主定轨方法-洞察及研究
- (教师用书)2024年-学年高中地理 第一单元 单元活动 学用地理统计图说课稿 鲁教版必修2
- 公司冠名活动合同范本
- 舆情引导技术赋能-洞察及研究
- 奶茶转让简单合同范本
- 2025年注册安全工程师考试(初级)安全生产法律法规试题及答案
- 电机电路安全知识培训课件
- 2025年建筑师考试备考策略与实战经验
- 13.2.1三角形的边 教案 人教版数学八年级上册
- 2025年征兵考试题目及答案
- 新员工社保讲解
- DB1508T 152-2024 玉米品字型播种北斗导航机械化作业技术规程
- 电焊工安全教育培训试题及答案
- 2025年固定矫治器粘接护理常规流程试题(含答案)
- 湖北省武汉市洪山区2024-2025学年七年级下学期期末质量检测英语试卷(含答案无听力)
- 统编版五年级上册《道德与法治》全册教案(表格式)
评论
0/150
提交评论