1、 襄樊职业技术学院(毕业)论文关于电子商务之游戏点卡销售系统后台管理的设计与实现目 录引言31 设计简介31.1 设计目的31.2 设计工具简介31.3 设计的特点31.4 JAVA语言的特点32 需求分析33 数据库设计33.1数据库的概念33.2 数据库表的设计34 后台页面设计34.1 登录页面34.2 会员管理页面34.3 会员升级页面34.4订单查询34.5卡片类型管理34.6游戏点卡分类查询34.7充值管理34.8Basedao的写法35 设计总结评价35.1 设计中问题及解决35.2 设计中的收获与体会36 参考文献3引言目前社会发展的脚步是越来越快,随着知识经济的到来、经济的多
2、元化和市场的发展,对中国各个产业的发展也带来了新的挑战。跨入二十一世纪,新的科技日新月异,世界经济趋于一体化,全球文化差异逐步缩小。中国改革开放促进了经济的发展,经济的发展又加速了市场的竞争,市场的竞争进而促进了网络的进步。社会对网络从认知到认可,网络也经历了萌芽、发展、成熟、壮大的过程。在网络交易越来越普遍的今天,更需要有一些网络交易的平台来满足人们的网上购物的需求。1 设计简介1.1 设计目的网络购物已经随着Internet的飞速发展而得到越来越多应用。传统的面对面的现金交易已经远远不能满足人们的现代化生活需要,尤其是卡片类商品,人们往往要为了简单的卡号和密码跑一趟商店。这些都给人们的生活
3、带来了很大的不便。为了更好的适应现代社会人们的购物需要,为了提高交易效率,节省人们的宝贵时间,我们开发了这套稳定可靠、操作方便、安全有效的游戏点卡在线销售系统,后台管理主要包括:后台登录、后台主页面、会员账号充值、会员升级标准、会员管理、卡片类别管理、订单查询、销售查询、库存查询、公告管理。1.2 设计工具简介 在本次系统的制作中,我主要使用了MyEclipse 8.5为开发平台,Microsoft SqlServer2008为后台数据库。 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,
4、利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,HibernateMicrosoft. SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。这个平台有以下特点: 可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。 高效的使得公司可以降
5、低开发和管理他们的数据基础设施的时间和成本。 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。作为微软正在努力降低公司的总成本所作的工作的一部分,SQL Server 2008推出了陈述式管理架构(DMF),它是一个用于SQL Server数据库引擎的新的基于策略的管理框架。陈述式管理提供了以下优点: 遵从系统配置的政策 监控和防止通过创建不符合配置的政策来改变系统 通过简化管理工作来减少公司的总成本 使用SQL Server 管理套件查找遵从性问题DMF是一个基于政策的用于管理一个或多个SQL Server 2008实例的系统。要使用DMF,SQL Server政策管
6、理员使用SQL Server 管理套件创建政策,这些政策管理服务器上的实体,例如SQL Server的实例、数据库、和其它SQL Server对象。DMF由三个组件组成:政策管理、创建政策的政策管理员,和显式管理。管理员选择一个或多个要管理的对象,并显式检查这些对象是否遵守指定的政策,或显式地使这些对象遵守某个政策。自动管理政策管理员使用下面的执行模式之一,使政策自动执行: 强制使用DDL触发器阻止违反政策的操作 对改动进行检查当一个与某个政策相关的改动发生时,使用事件通知来评估这个政策 检查时间表使用一个SQL Server Agent 工作定期的评估一个政策 SQL Server 2008
7、是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能 在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。1.3 设计的特点MVC简介MVC设计模式该项目采用mvc设计模式,MVC(Model/View/Controller
8、)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。MVC包括三类对象。Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。 模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。 1、模型(Model) 模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑. 2、视图(View) 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。3、控制器(controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。 MVC
9、 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性 早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象 管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在H
10、TML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能 JSP Model 1 与 JSP Model 2 SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意 JSP Model 1 JSP Model 2 model2 容易使系统出现多个Cont
11、roller,并且对页面导航的处理比较复杂 有些人觉得model2仍不够好,于是Craig R. McClanahan 2000年5月提交了一个WEB framework给Java Community.这就是后来的Struts. 2001年7月,Struts1.0,正式发布。该项目也成为了Apache Jakarta的子项目之一 Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑1.4 JAVA语言的特点Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多
12、线程的、动态的语言。 一、简单 Java的风格类似于C+,并且摒弃了C+中容易引发程序错误的地方,如指针和内存管理。 此外Java提供了丰富的类库。 二、面向对象 面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。 三、分布式 Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。四、健壮 Java致力于检查程序在编译和运行时的错误。Java自己操纵内存减少了内存出错的可能性。Java提供Null指针检测数组边界、检
13、测异常出口、字节代码校验。 五、安全 Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。六、结构中立 为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。 七、可移植的 Java的可移植性一直是Java程序设计师们的精神
14、指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。JAVA编译器产生的目标代码(J-Code) 是针对一种并不存在的CPU-JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。 八、高性能 Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C+的性能没什么区别。 九、多线程 Java支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也
15、称小进程,是一个大进程里分出来的小的独立的进程。十、动态 Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C+语言进行面向对象程序设计所无法实现的。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。2 需求分析该系统要求实现管理员后台管理和会员购买卡片功能。会员操作包括:会员注册、修改个人信息、汇款、投诉、购买物品、查看个人汇款信息和购物信息等。管理员后台管理包括:修改个人资料、新会员和会员汇款审核、用户管理、角色管理、卡片类别管
16、理、游戏卡管理、汇款审核、公告管理等。图2-1功能关系图3 数据库设计3.1数据库的概念当人们从不同的角度来描述这一概念时就有不同的定义。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。本系统将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说
17、的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQL Server 2008等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。本系统采用的是Sql Server2008作为数据库。 3.2 数据库表的设计在数据库中建立如下表,表中包括各个字段、数据类型等如图所示。图3-1 表card的数据类型图3-2 表CardType的数据类型图3-3 表MemberType的数据类型图3-4 表News的数据类型图3-5
18、 表OrderDetail的数据类型图3-6 表Orders的数据类型图3-6 表UserInfo的数据类型4 后台页面设计4.1 登录页面管理员登陆首页要求:只有当用户名、密码和验证码都正确时才能通过验证。图4-1登陆界面管理员登陆代码:代码如下:base href=/后台管理员登录!-提示:您的浏览器不支持或禁止了网页脚本,无法正常注册。 解除脚本限制»-【返回首页】后台管理员用户名称:登录密码:免费条款|隐私保护|资讯热点|联系我们|公司简介|批发方案|配送方式4.2 会员管理页面图4-2会员管理界面会员管理Servlet代码如下:package com.scce.servl
19、et;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.scce.services.UserBean;public class Associa
20、torManagementServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException res
21、ponse.setContentType(text/html;charset=utf-8);PrintWriter out = response.getWriter();String md = request.getParameter(mode);int mode = -1;if (md != null) mode = Integer.parseInt(request.getParameter(mode);String sql = select * from userInfo where 1=1 ;if (mode = 1) sql += and userState=1; else if (m
22、ode = 0) sql += and userState=0;UserBean userBean = new UserBean();List listUsers = userBean.getAllUsers(sql);request.setAttribute(listUsers, listUsers);request.getRequestDispatcher(back/associatorManagement.jsp).forward(request, response);out.flush();out.close();4.3 会员升级页面图4-3会员升级管理界面代码如下:base href
23、= /My JSP setAssociatorScore.jsp starting page系统管理中心请注意保管系统账号安全,不要轻易泄露系统账号信息!会员账号管理会员账号充值会员升级标准会员管理卡片管理卡片类型管理卡片管理订单管理订单查询销售统计销售查询库存情况系统管理添加公告公告管理退出 当前位置:设置会员标准位置设置会员标准升级VIP会员积分标准普通会员打折优惠VIP会员打折优惠免费条款|隐私保护|资讯热点|联系我们|公司简介|批发方案|配送方式4.44.4订单查询图4-4订单查询界面代码如下:%String path = request.getContextPath();String basePath = request.getScheme() + :/+ request.getServerName() + : + request.getServerPort()+ path + /