版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、巢湖学院 计算机科学与技术系(本科) 毕业设计论文毕业设计论文 论文题目论文题目 网上鲜花订购系统 所在班级 2006 级计本(3)班 姓 名 唐明明 学 号 指导教师 陈丽萍 完成日期 2010 年 5 月 20 日 网上鲜花订购系统网上鲜花订购系统 摘摘 要:要: 网上鲜花订购是电子商务的一项内容,使得人们的购物变得更轻松、快捷、方便,适合人们快节 奏的生活方式,它的应用越来越广泛。本文主要采用的技术手段是基于 B/S 架构的三层系统开发 模型,用到的具体编程方法为 Jsp+javaBean+servlet 技术,开发了一种基于 JSP 的网上鲜花订购 系统。此方案与现今网上已采用的一些方
2、案相比,具有用户使用更简单、界面更直观等优点。其 设计包括管理员管理,用户管理,鲜花管理三个大的模块,实现用户注册,用户登录,管理员登 录,鲜花信息浏览,订单提交,订单浏览等 jsp 页面。分析并解决实现中的若干技术问题,包括与 数据库的连接,建立完整的网上鲜花订购系统,进行测试并分析结果。为鲜花销售带来极大的便 利。 关键词:关键词:鲜花订购;JSP;数据库 Online Flowers Ording System Abstract:Order flowers online is an element of e-commerce, making peoples shopping easier
3、, quick, convenient and fast-paced way of life for people, it is widely applied. Techniques used in this paper is based B / S three-tier system architecture development model, used in specific programming methods Jsp + javaBean + servlet technology, developed a JSP-based ordering system online flowe
4、rs. This program has been used with some of todays online programs, compared with a simpler user interface more intuitive and so on. The design includes administrator management, user management, management of three major modules of flowers, to implement user registration, user login, admin login, f
5、lowers information browse, order submission, order browsing jsp page. Analyze and solve some technical problems in implementation, including database connectivity, establish a complete online flower ordering system, test and analysis results. Sales for the flowers bring great convenience. Keywords:
6、flowers Order; JSP; database 目目 录录 第 1 章 绪论.4 1.1 课题研究背景及意义.4 1.2 在线花店系统主要内容.5 第 2 章 系统开发环境和关键技术.6 2.1 开发环境.6 2.2 系统软件介绍.6 2.2.1 Eclipse 简介 .6 2.2.2 Tomcat 简介.8 2.3 JSP 技术简介.8 2.4MySql 数据库.10 2.4.1 MySQL 简介.10 2.4.2 MySQL 的特性.10 2.5 Servlet 简介.11 第 3 章 系统分析.12 3.1 设计思想.12 3.2 业务流程分析.12 3.3 系统的逻辑模型.1
7、3 3.3.1 数据流图.13 3.3.2 数据字典.15 第 4 章 系统设计.17 4.1 概要设计.17 4.2 详细设计.18 4.2.1 管理员登录设计.18 4.2.2 鲜花选购及订单提交设计.19 4.3 数据存储设计.20 4.3.1 数据库分析.20 4.3.2 E-R 图.20 4.3.3 数据表设计.21 第 5 章 系统实现.23 5.1 主要页面框架设计.23 5.2 公共模块的编写.23 5.2.1 数据库连接文件.23 5.2.2 用户注册:.27 5.2.3 用户登录.28 5.2.4 管理员的登录.30 5.2.5 订单的填写及提交.31 5.2.6 分页浏览
8、鲜花信息.32 5.3 前台界面设计与实现.34 5.3.1 首页面设计.34 5.3.2 用户登录注册页面和管理员登录页面设计.34 5.3.3 生成订单页面.36 5.3.4 订单查询设计.37 第第 1 1 章章 绪论绪论 1.11.1 课题研究背景及意义课题研究背景及意义 电子商务缩写为 EC(Electronic- Commerce),也有人称为电子贸易,它是指采 用网络技术实现数据的交换,从而完成整个的商业交易过程,是信息时代商务模式的 实质性变革,是未来贸易方式的发展方向,是各种具有商业活动能力的实体利用网络 和先进的数字化传媒技术进行的各项商业贸易活动。它的实施牵涉到社会信用体
9、系、 法律环境、经济秩序诸方面,是一个与社会大环境息息相关并独具完整结构体系的系 统工程。如今,电子商务的发展可能大家都已经耳濡目染,上网的朋友对这已经不在 陌生,有的人可能已经很熟悉,电子商务已经确确实实出现在我们周围。 在中国很多人对电子商务也逐渐接受和认可,网上购物作为一种时尚有很多人去 体会,更有部分人把到网上商店购物同逛商场等现实社会服务一样作为生活的一部分。 因此,网上购物网站作为 B2C 电子商务网站应该是我们最为常见的电子商务网站。 网上购物系统网站是电子商务系统的一个重要部分,它在我国 B2C 网上购物网站的 数量占大多数,其主要原因是这种类型的系统比较容易实现所涉的其他方面
10、的问题也 比较少。它是一种具有交互功能的商业信息系统,向用户提供静态和动态两类信息资 源。所谓静态信息是指那些不经常变动或更新的资源,如公司简介、管理规范和公司 制度等;动态信息是指随时变化的信息,如商品报价、会议安排和培训信息等2,12。 网上购物系统具有强大的交互功能,可使商家与用户方便地传递信息,完成电子交易。 网上鲜花订购系统将传统的花店经营管理模式与计算机网络的综合经营管理模式 结合在一起,将人、机、物的需求、活动和运作进行系统分析、设计并管理,以实现 现代高效、科学且安全的电子商务。在系统设计时,从传统花店的经营模式,网上用 户需求与业务经营模式,计算机网络管理,系统设计等几方面综
11、合分析,定义系统的 输入、输出、实现功能、系统运作能力等各项要求。其中后台数据库采用 Mysql,动 态网页开发采用 JSP 技术。 网上购物系统设计的目标基本有三个:增加销售量,实现产品管理和能方便顾客扩 大顾客群。本系统(网上鲜花订购系统)也给人们带来了许多方便之处。 各种鲜花有着不同的寓意,如玫瑰花象征着爱情,适合于情侣之间;风信子代表 着新生,用以鼓励对方放下过去,积极向上等等。对鲜花老板来说,有了网上鲜花订 购系统,一方面,增加了销售量;另一方面,方便管理自己的鲜花。对于顾客来说, 有了网上鲜花订购系统,一方面,不必再为了购买各种鲜花东奔西跑,而只要拥有一 台可以上网的电脑即可购买到
12、心仪的鲜花;另一方面,网上鲜花订购系统为顾客提供 了各种鲜花信息,顾客只需登录相关网站便可对鲜花各类信息一目了然,不必再像以 前一样不好意思地东问西问。总之,本系统给人们带来了极大的好处。 1.21.2 在线花店系统主要内容在线花店系统主要内容 在本次毕业设计中,作者的主要任务与研究开发内容如下: 熟练掌握 IIS6 的安装、配置与使用方法;基于 IIS6 设置因特网站属性,进行 网站性能检测的基本方法。 学习数据库的工作原理,熟练掌握 mysql 数据库设置方法;应用 SQL 语言、存储 过程编制应用系统的基本方法。熟练数据的调用和修改。 熟练掌握 tomcat 的安装、设置与使用方法;基于
13、 tomcat 设置因特网站属性,进 行网站性能检测的基本方法。 熟悉掌握应用 Eclipse3.4、Jdk6.0 以及 Java 语言开发 WEB 应用系统的基本 原理与方法。 本次设计的目的是设计一个友好的在线鲜花销售系统,主要完成的功能如下: (1)鲜花产品选购(可按分类查找) (2)查看鲜花详细信息 (3)用户注册 (4)用户登录 (5)管理员登录 (6)订单查询 第第 2 2 章章 系统开发环境和关键技术系统开发环境和关键技术 2.12.1 开发开发环境环境 系统采用 B/S 的体系结构。B 即浏览器端负责显示界面信息和访问数据库;S 即 服务器端则用于提供动态数据服务。 (1) 硬
14、件 PIII1GCPU/1024M 内存/80G 硬盘/10/100 自适应网卡 (2) 软件 网络操作系统:WindowsXP 数据库服务器:MySql 客户机平台:Windows98/NT/2000/2003/XP 开发工具:Eclipse3.4+Tomcat 2.22.2 系统软件介绍系统软件介绍 .1 EclipseEclipse 简介简介 Eclipse 编译器:JDT 更为强大的功能之一即是它内置的增量式 Java 编译器,这 个编译器与 javac 完全兼容。尽管可以让 Eclipse 使用 Ant 和 javac,甚至可以让问 题标志显示在 IDE 中(此为 3
15、.2 版本中的新功能,如今已有更高版本),但是 Eclipse 编译器可以提供更好的诊断技术和更快的周转周期。 JDT 编译器原本是为 VAME 而编写的,后针对 Eclipse 进行了修改。这个编译 器构建在开发人员称之为“编译的 3 大规则”(模仿了阿西莫夫的机器人 3 大定律)之 上: 正确性:编译器不能伤害源程序。 高效性:编译器必须快速,除非速度与规则 1 发生冲突。 友好性:编译器必须帮助用户纠正编程错误,只要这类帮助不与规则 1 和 规则 2 冲突。 正确性:设计 Java 编译器时,不仅必须遵循相应的规范,而且必须领会该 规范的“精神” ,仅仅考虑正确性是不行的。因此,JDT
16、开发人员多年来辛勤工作,以 便与其他编译器的功能保持一致,其中包括 Sun 的编译器。在 Eclipse 新版本中,仅 针对正确性的检查就超过了 15,000 次单元测试(相比之下,VAJ 中根本没有进行单元 测试)。 高效性:数千个项目和数百万行代码往往是很平常的事情。这意味着要解 决很多问题,例如内存使用必须是可预测的并加以分级。Eclipse 3.4 继续对此进行 积极的优化。例如,开发人员可以重写一个流程图以使用位操作,结果位操作的时间 消耗从 20%降到了 4%。 友好性:报告错误是一门艺术。仅仅使用行号还不够。二级错误被最小化。例 如,如果一个文件内漏掉了一个分号,它不会影响到与它
17、相关的其他文件。改进后的 静态分析功能有助于发现错误模式。另外,Eclipse 还可以对 Javadoc 进行正确性检 查。 Eclipse 的体系结构:Eclipse 平台体系结构主要由 5 部分组成,分别是平台运 行库、工作区、工作台、团队支持和帮助。图 1-1 为 Eclipse 体系结构图。 图图 1-11-1 EclipseEclipse 体系结构图体系结构图 在运行时内核是整个架构的核心,其他部件都是以插件方式来实现的。Eclipse 采用动态加载机制,即只有需要的才加载,这样可以降低启动时间,提高资源使用效 率。 工作空间插件即所谓的工作区,主要负责管理用户资源,例如用户创建项目
18、的管 理、文件变更等,并负责通知其他插件关于资源变更的信息。 工作台插件是 Eclipse 提供的用户界面。它使用标准窗口工具包(SWT)和一个 更高级的 API(JFace)构建的。SWT 是 Java 的 Swing/AWT 的非标准替代者,JFace 则 以 SWT 为基础,但更易于使用。 团队支持插件负责提供版本控制和配置管理支持。它允许用户根据需要添加视图, 并与允许用户使用的任何版本控制系统交互。 帮助插件允许以 HTML 文件形式添加文档,并提供了一个附加的导航结构以便用 户使用帮助功能搜索相关信息。 Java 开发环境 (JDT) 插件开发环境(PDE)其他第三方插件 工作台(
19、workbench) SWTJFace 帮助(Help) 工作空间(workspace)团队(Team) 运行时内核(Platform runtime-OSGi) .2 TomcatTomcat 简介简介 Tomcat 是 Sun 的 JSWDK(Java Server Web Development Kit)中的 Servlet 容 器,属于 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的 一个核心项目,由 Apache、Sun 和其他一些公司和个人共同开发而成。Tomcat 既是一 个开放源码、免费支持 JSP
20、和 Servlet 技术的容器,同时又是一个 Web 服务器软件, 受到了 Sun 公司的大力推荐和支持。因此,Servlet 和 JSP 的最新规范都可以在 Tomcat 的新版本中得到实现。 与传统桌面应用程序不同,Tomcat 中的应用程序是一个 WAR(Web Archive)文 件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目 录中的文件也具有不同的功能。部署应用程序时,只需要把 WAR 文件放到 Tomcat 的 webapp 目录下,Tomcat 会自动检测和解压该文件。JSP 文件第一次执行时,要先由 Tomcat 将其转化为 Servlet 文件,然
21、后编译,所以速度会慢一些,但后继执行时速度 会很快。 Tomcat 既是一个 Servlet 容器,又是一个独立运行的服务器,像 IIS、Apache 等 Web 服务器一样,具有处理 HTML 页面的功能。但它处理静态 HTML 文件的能力并不 是太强,所以一般都是把它当作 JSP/Servlet 引擎,通过适配器(Adapter)与其他 Web 服务器软件(如 Apache)配合使用。此外,Tomcat 还可与其他一些软件集成起来 实现更多功能,例如,与 JBoss 集成起来开发 EJB、与 OpenJMS 集成起来开发 JMS 应 用、与 Cocoon(Apache 的另外一个项目)集成
22、起来开发基于 XML 的应用等。 Tomcat 是一个小型的轻量级应用服务器,运行时占用系统资源小、扩展性好、支 持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。Tomcat 适用于中小型系统和并发访问用户不太多的场合,是开发和调试 JSP 程序的首选。先 进的技术、稳定的性能、源码开放和免费获取的机制,使得 Tomcat 深受 Java 爱好者 的喜爱并得到了许多软件开发商的认可,成为目前相当流行的 Web 应用服务器。 2.32.3 JSPJSP 技术简介技术简介 JSP 是一种动态网页构建技术,他不仅使用于小型项目,在大型的企业级开发项 目中也是很多人的首选。从某种意
23、义上来说,JSP 的本质是一个被称为 Servlet 运行 在 web 服务器上的 Java 程序。众所周知,Java 语言具有很多的优点,诸如跨平台性 和安全性等。而以 Java 语言为基础的 JSP/servlet 技术从诞生之日就具有了这些天 生的优势。因此在很短的时间内,JSP/servlet 迅速流行起来,成为 MircosoftASP.net 的主要竞争对手11。 JSP 是由 Sun microsysterm 公司倡导、许多公司参与一起建立的动态网页技术标 准,在传统的网页 HTML 文件中加入 Java 程序片段和 JSP 标记,就构成了 JSP 网页, Web 服务器在遇到访
24、问 JSP 网页的请求的时候,首先执行能够其中的程序片段,然后 将执行结果以 HTML 的格式返回给客户。程序片段可以操作数据库、重新定向网页以 及发送 Email 等,这些就是建立动态网站所需要的功能。所有的程序操作都在服务端 执行,从网络上传送给客户端仅仅是得到的结果,所以对客户的浏览器要求很低,可 以实现无 Plugin 无 ActiveX 无 JavaApplet 甚至无 Frame 的效果13。 JSP 技术是当前较为热门的 Web 开发技术。本文详细介绍了 JSP 的基本工作原理 及利用 JSP 构建本系统的步骤,就 JSP 的关键技术如 JavaBean、数据库与 JDBC 技术
25、的 实现及应用进行了扼要的阐述。下面就当前本烟草专卖产品仓库管理系统所采用的开 发工具 JSP,与 ASP 从技术上进行了分析和比较,肯定了 JSP 在构建动态网站中的优势。 (1)与 ASP 的比较 Mircosoft 公司的 ASP 技术也是动态网页开发技术。JSP 和 ASP 在形式上十分相 似,ASP 程序员一眼就能认出以及。但是深入探究下去会发现他们有很多的 差别,其中主要有三点: JSP 的安全性和效率更高。ASP 以源码形式存放,以解释方式运行,每次 ASP 网页调用都要从源码进行解释,运行效率不高。另外,S 的漏洞曾使很多网站源程 序大暴光。JSP 执行前先被编译成字节码,字节
26、码由 Java 虚拟机解释执行,比源码解 释效率高。服务器上还有字节码 CACHE 机制,能提高字节码的访问效率。 JSP 的组件方式更方便。ASP 通过 COM 来扩充复杂的功能,如文件上载、发送 email 以及将业务处理或者复杂计算分离出来成为独立可重复利用的模块。JSP 通过 JavaBean 实现同样的功能扩充。在开发方面,COM 的开发远比 JavaBean 复杂和繁琐, 学会 ASP 不难,但是学会开发 COM 可不简单。在维护方面,COM 必须在服务器上注册, 如果修改了 COM 程序,就必须重新注册,甚至必须重新启动或者关闭计算机。 JavaBean 不需要注册放在 CLAS
27、SPATH 包含的目录中就可以了。另外 JavaBean 是完全 的 OOP,可以针对不同业务处理功能方便地建立一整套可重复利用的对象库14。 JSP 的使用平台更广。ASP 目前仅用于 NT 和S。虽然 Unix 下有 ChiliSoft 的插件来支持 ASP,但是 ASP 本身的功能有限,必须通过 ASP+COM 的组合来补充, Unix 下的 COM 实现起来非常困难。 (2)与 PHP 比较 PHP 是免费的、开放源码的、HTML 嵌入其中的脚本语言,与 ASP 和 JSP 都有某种 程度的类似。JSP 的一项优势是动态部分用 Java 编写,Java 已经在互联网、数据库 访问、分布
28、式对象等方面拥有广泛的 API;而 PHP 需要学习全新的、应用相对不广泛 的语言。JSP 第二项优势是,和 PHP 相比,JSP 拥有极为广泛的工具和服务器提供商 的支持15。 关于 JDBC:SUN 公司开发的 Java 数据库应用程序访问接口 JDBC。在 JDK1.1 公布 时,SQL 类包也就是 JDBC 应用程序访问接口已经成为了 Java 语言的标准部件之一。 2.4MySql2.4MySql 数据库数据库 .1 MySQLMySQL 简介简介 MySQL 最初的开发者的意图是用 mSQL 和他们自己的快速低级例程(ISAM)去连 接表格。不管怎样,在经过一些测试
29、后,开发者得出结论:mSQL 并没有他们需要的那 么快和灵活。这导致了一个使用几乎和 mSQL 一样的 API 接口的用于他们的数据库的 新的 SQL 接口的产生,这样,这个 API 被设计成允许为用于 mSQL 而写的第三方代码 更容易移植到 MySQL。 MySQL 这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有 前缀“my”已经有 10 年以上,而且不管怎样,MySQL AB 创始人之一的 Monty Widenius 的女儿也叫 My。这两个到底是哪一个给出了 MySQL 这个名字至今依然是个 迷,包括开发者在内也不知道。 MySQL 的海豚标志的名字叫“sakila”
30、,它是由 MySQL AB 的创始人从用户在“海 豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰 的开源软件开发者 Ambrose Twebaze 提供。根据 Ambrose 所说,Sakila 来自一种叫 SiSwati 的斯威士兰方言,也是在 Ambrose 的家乡乌干达附近的坦桑尼亚的 Arusha 的 一个小镇的名字。 .2 MySQLMySQL 的特性的特性 1.使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、Op
31、enBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统 3.为多种编程语言提供了 API。这些编程语言包括 C、C+、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。 4.支持多线程,充分利用 CPU 资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够 作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名 7.提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途
32、径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库 2.52.5 ServletServlet 简介简介 Servlet 是一种服务器端的 Java 应用程序,具有独立于平台和协议的特性,可以 生成动态的 Web 页面。 它担当客户请求(Web 浏览器或其他 HTTP 客户程序)与服务 器响应(HTTP 服务器上的数据库或应用程序)的中间层。 Servlet 是位于 Web 服务 器内部的服务器端的 Java 应用程序,与传统的从命令行启动的 Java 应用程序不同, Servlet 由 Web 服务器进行加载,该 Web 服务器必须包含支持 Ser
33、vlet 的 Java 虚拟机。 第第 3 3 章章 系统分析系统分析 3.13.1 设计思想设计思想 在线花店系统是一个相对简单的基本应用系统,主要满足传统的花店运营需 要,将自己的销售渠道扩展到网上,通过简单的管理,提供给最终消费者产品的展现、 购物、订单处理等以实现鲜花的在线销售。 本次设计希望设计一个网上鲜花商店系统,它包括以下电子商务 B2C 网站的常见 功能: (1) 鲜花产品选购。可按目录方式查找鲜花种类或通过导航属性进行查询,并可查 看鲜花详细情况。 (2) 订单提交功能。顾客选完商品后,可以进行订购这一交易过程。从顾客方面说, 顾客提交订单后,此网站的网上交易已经完成,应该进
34、入管理者的订单处理过 程。 (3) 订单查询功能。管理员可以查询订单和订单的处理情况。顾客提交完订单后, 应该有订单确认的过程。一旦订单得到处理确认,网上交易即告完成。 (4) 用户管理功能。为保证网上交易的安全性,对顾客的身份进行验证和管理十分 必要,因此需要支持用户注册、用户登录、身份验证等。管理员也属于用户一 类,成功登录后,可以查看到全部用户的订单情况。 本系统设计时把页面中一些常用的部分集成为模块,例如页面的头部和产品导航 模块,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块嵌套组装就 可以了。 3.23.2 业务流程分析业务流程分析 系统的基本业务流程如下:首先用户来到
35、系统首页,根据自己需要和目录分类信 息查看选择鲜花,选择完毕在进入订购鲜花环节之前,需要顾客进行注册登录才能进 行继续填写和生成订单的功能,登录成功后可以填写订单信息,系统会根据用户填写 的信息自动生成订单,这样一次网上购花行为就算完成。具体系统业务流程如图 3-1 所示。 图图 3-13-1 系统业务流程图系统业务流程图 3.33.3 系统的逻辑模型系统的逻辑模型 .1 数据流图数据流图 通过对在线花店系统的功能划分,业务流程操作分析可以得到如图 3-2 的系统一 层数据流图。 查看合适的鲜花 查看鲜花详细信息 订购鲜花 填写订单 是否已登录 输入用户信息登录 提交订单 继续
36、其他操作 否 是 注册是否新顾客 是 否 顾客 申请注册登录 注册登录 用户信息 顾客 信 息 已注册登录 订购鲜花 订单 鲜花订单处理 填写、确认提 交订单 订单信息 订单信息 管理员 查询全部 订单 图图 3-23-2 系统一层数据流图系统一层数据流图 从图中可以看出整个过程有三个处理过程:注册登录处理过程,选购产品处理过 程和处理订单过程。 注册登录处理过程的二层数据流图如图 3-3 所示。 顾客 申请登录 核对用户名 已核对用户 名用户 核对密码 用户信息 顾客用 户 名 用户信息 顾客 密码 批准登录 已核对密码 用 户 已注册登录其他操作 图图 3-33-3 注册登录二层数据流图注
37、册登录二层数据流图 处理订单过程的二层数据流图如图 3-4 所示。 顾客 处理订单 填写订单 提交订单 订单信息 订单信息 管理员 查询 全部 订单 图图 3-43-4 处理订单二层数据流图处理订单二层数据流图 .2 数据字典数据字典 一层数据流图的数据字典如下: 数据流: (1) 名称:顾客信息 简要说明:用户数据库提供顾客数据 数据流来源:顾客 数据流去向:用户信息数据 (2) 名称:订单信息 简要说明:向订单数据库/顾客提供订单信息 数据流来源:顾客/订单信息数据库 数据流去向:订单信息数据库/顾客 数据存储: (1) 名称:用户信息 说明:顾客信息表内容,注册登录时顾客
38、应填写的信息 结构:用户名,密码,真实姓名,性别,年龄 (2) 名称:产品信息 说明:产品信息表内容,顾客浏览选购产品时出现的信息 结构:产品 id,产品名称,产品颜色,销售价格 (3) 名称:订单信息 说明:包括订单信息表和订单明细表的内容,生成订单时应填写的内容 结构:订单信息表包括:订单号,产品名称,产品颜色,产品单价,订购数 量, 收货人姓名,送货地址,收货人电话 订单明细表包括:产品 id,产品名称,产品价格,数量,订单 id 处理过程: (1) 名称:注册登录 输入:注册登录信息 输出:成功登录信息 处理过程描述:根据顾客输入信息判断是否合法用户,合法就允许登录,否则 请顾客先注册
39、再登录 (2) 名称:选购商品 输入:成功登录信息 输出:订购成功 处理过程描述:根据顾客的选择,生成订单,提交订单,订购成功 (3) 名称:处理订单 处理过程描述:根据顾客确认的订单信息,生成订单,并向管理员提供可查询 的订单信息 第第 4 4 章章 系统设计系统设计 4.14.1 概要设计概要设计 系统主要分为用户管理模块、用户功能模块和管理员模块三大部分,每一部分又 可分为若干功能小模块。将页面中常用的部分设计为页面模块,共享使用。 1.用户管理模块: 用户管理功能包括用户注册、用户登录、身份验证等功能,如图 4-1 所示。相关 功能设计如下: (1)用户注册和验证 用户注册功能设置在首
40、页中,在用户登录的位置提供一个与注册页面 连接的链接。注册时要实现一个用于顾客填写各项注册信息的表单,用户 名不能重复。倘若用户名已被使用,则注册失败返回注册页面,重新填写 注册信息。倘若注册成功,自动跳转到鲜花浏览页面。对于用户提交的正 确注册信息,应该能够存入数据库。 (2)用户登录和验证 对于已注册过的用户须提供用户名和密码才可以登录使用系统的功能。 登录信息输入和信息提交。对用户输入的登录信息进行检查,用户名 和密码正确则显示欢迎信息或画面,否则要给出提示信息,以帮助用户确 认输入信息是否正确或用户需要注册等。对于成功登录的用户,应开放所 有用户购物功能。 用 户 管 理 模 块 用户
41、注册 注册信息验证 用户登录 登录信息验证 图图 4-14-1 用户管理模块图用户管理模块图 2.用户购物功能模块: 用户购物模块如图 4-2 所示。相关功能设计如下: (1)商品浏览 首页为顾客提供注册登录信息,还为顾客提供了商品信息的链接。 点击链接即可查看商品的详细信息。 (2)订单管理 用户确认商品后,进入填写订单及提交订单过程。包括以下几个基 本步骤:进入订单页面,填写订单,提交订单。 用 户 购 物 模 块 商品浏览导航属性查询 产品详细信息浏览 订单管理 提交订单 填写订单 图图 4-24-2 用户购物模块图用户购物模块图 3.管理员模块: 对于管理员模块的设计比较简单,只是提供
42、给管理员查询全部订单和修改鲜 花信息的功能,管理员只要登录成功就可以查看到所有用户的订单情况,图 4-3 为管理员模块。 管理 员模 块 查询修改鲜花信息 查询所用订单 图图 4-34-3 管理员模块图管理员模块图 4.24.2 详细设计详细设计 .1 管理员登录管理员登录设计设计 本小节主要研究管理员登录设计细节及管理员登录后的各种操作,其程序流程图 如下: 开 始 管理员登录 是否有误 输入用户名密 码 是重 新 登 录 否 管理员鲜花 浏 览 对鲜花各种操 作 图图 4-44-4 管理员登录设计程序流程图管理员登录设计程序流程图 .2 鲜花选购及订单提交鲜
43、花选购及订单提交设计设计 用户登录后可以查看鲜花详细信息,并且可以选购鲜花,具体如图 4-5 开 始 订购鲜花 是否登录 否输入用户 信息登录 是否有误 是 是 选择鲜花 否 登录成功 填写并提交 订 单 是否继续选购 否 其他操作 是 图图 4-54-5 鲜花选购订单提交设计程序流程图鲜花选购订单提交设计程序流程图 4.34.3 数据存储设计数据存储设计 .1 数据库分析数据库分析 简单来说在线花店系统有三个对象:用户(包括管理员)、鲜花产品。用户浏览鲜 花产品,并且在需要的时候下订单。给这些信息提供增加、修改、保存、更新和查询, 这就要求数据库结构能充分满足这些信息的输入和
44、输出。 系统需要积累用户资源,要记录用户的信息,具体包括用户的用户名、地址、电 话和密码等基本信息。 系统要给用户展现产品,把鲜花产品的详细信息介绍给用户,具体包括产品名称、 各类属性等。 本系统是电子商务网站,最终目的是为用户服务,使用户浏览产品后有购买欲望, 进行购买行为。在这个环节,需要记录购买的产品信息,付款人的信息,收货人的信 息,下单时间等。 .2 E-RE-R 图图 经过对系统的分析,绘制出系统的 E-R 图,如图 4-6 所示,其中设计规划出的实 体包含网站顾客实体、鲜花实体和订单关系实体。 顾客顾客订单订单鲜花鲜花 填写填写对应对应 1MM1 图图 4-64-
45、6 实体关系实体关系 E-RE-R 图图 图 4-7 是网站顾客实体 E-R 图。 顾客 顾客 id 顾客账号顾客密码 顾客年龄 顾客性别 图图 4-74-7 网站顾客实体网站顾客实体 E-RE-R 图图 图 4-8 是采购订单的实体 E-R 图。 订单 收货人姓名 收货人电话 用户 id 产品 id 图图 4-84-8 采购订单的实体采购订单的实体 E-RE-R 图图 图 4-9 是产品实体 E-R 图。 鲜花 鲜花 id id鲜花名称 名称 鲜花颜色 颜色 鲜花单价 价格 图图 4-94-9 产品实体产品实体 E-RE-R 图图 .3 数据表设计数据表设计 将上面的实体关系
46、图转化为某种数据库系统支持的实际数据模型。 在线花店系统中各个表的设计结果如下面表格所示。每个表格表示在数据库中的 一个表,表 4-1 为顾客表,记录顾客的信息。 表表 4-14-1 useruser 顾客信息表顾客信息表 字段名称数据类型字符长度是否为空说明 id自动编号 - 否主键,顾客在网站的唯一标识,从 1 开始递 增 accout文本类型 10 否顾客 id password文本类型 12 否顾客密码 sex文本类型 4 否性别 ageInt 类型 10 否年龄 表 4-2 为产品信息列表,记录花店现有的产品信息。 表表 4-24-2 flowersflowers 产品信息列表产品信
47、息列表 字段名称数据类型字符长度是否为空说明 id自动编号 10 否主键,从 1 开始递增 f_name文本类型 4 否鲜花名字 color文本类型 16 否鲜花颜色 priceDouble 类 型 否鲜花单价 表中的产品种类一项主要用于目录查询时使用。 表 4-3 为订单信息表,记录花店的订单信息。 表表 4-34-3 f_orderf_order 订单信息表订单信息表 字段名称数据类型字段长度是否为空说明 id自动编号 - 否主键,订单 id,从 1 开始递增 name文本类型 10 否付款人姓名 address文本类型 15 否付款人地址 phone文本类型 25 否付款人电话 user
48、_id文本类型 50 否下订单用户(关联 userid) f_idInt 类型 10 否所购鲜花种类(关联 f_orderid) time日期类型 50 否订单生成时间 finish文本类型 10 否订单是否完成送货 表中订单的付款人一般是网站会员,收货人可以是自己,也可以是自己的朋友, 所以对这两方面信息分开进行记录。 第第 5 5 章章 系统实现系统实现 5.15.1 主要页面框架设计主要页面框架设计 通过上面的需求分析和设计,可以得到系统页面的设计框架。 由于是属于网站系统,所以系统的主页设计必不可少。在主页中主要能实现用户 的简单注册登录,管理员登录,鲜花浏览等功能。 顾客可以通过页面
49、上提供的链接来到浏览产品详细信息的页面,所以产品详细信 息的浏览页面也是需要的。首页还为顾客和管理员设置了登录链接,由于顾客和管理 员权限不一样,所以点击链接登录页面和跳转页面都不一样。 顾客浏览鲜花后,决定了购买产品,填写订单的页面设计也就需要,在这个页面 顾客可以看到自己决定购买产品的名称、数量、单价等信息,确认信息之后,便可提 交订单。 另外,填写订单页面只有顾客登录后才可进入,所以用户的登录和注册功能也是 不可或缺的,因此在设计中也为这个功能设计了一个页面。 5.25.2 公共模块的编写公共模块的编写 在系统设计过程中,采用程序模块化设计方法,使在系统的设计时出现的共用程 序代码可以重
50、复使用而不必进行反复编写,这样既为系统设计节省了工作量又避免了 不必要的错误。 在设计中需要重用的程序文件有:数据库连接程序文件 .1 数据库连接文件数据库连接文件 JDBCHelper.java 主要程序功能连接 MySql 数据库 public final class JDBCHelper private static String DRIVER = com.mysql.jdbc.Driver; private static String URL = jdbc:mysql:/localhost:3306/ts2; private static String USER_NAM
51、E = root; private static String PASSWORD = tmm; /第一步和数据库建立连接; public static Connection getConnection() Connection con = null; try Class.forName(DRIVER); con = DriverManager.getConnection(URL, USER_NAME, PASSWORD); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printSt
52、ackTrace(); return con; /关闭连接; public static void close(Connection con) if(con!=null) try con.close(); con = null; catch (SQLException e) e.printStackTrace(); /根据获取的连接创建 PreparedStatement; public static PreparedStatement createPreparedStatement(Connection con,String sql) PreparedStatement pst = null
53、; try pst = con.prepareStatement(sql); catch (SQLException e) e.printStackTrace(); return pst; /关闭 PreparedStatement; public static void close(PreparedStatement pst) if(pst!=null) try pst.close(); pst = null; catch (SQLException e) e.printStackTrace(); /根据获取的连接创建 Statement; public static Statement c
54、reateStatement(Connection con) Statement st = null; try st = con.createStatement(); catch (SQLException e) e.printStackTrace(); return st; /关闭 Statement; public static void close(Statement st) if(st!=null) try st.close(); st = null; catch (SQLException e) e.printStackTrace(); /关闭 ResultSet; public s
55、tatic void close(ResultSet rs) if(rs!=null) try rs.close(); rs = null; catch (SQLException e) e.printStackTrace(); public static void main(String args) /测试连接 System.out.println(getConnection(); /测试 PreparedStatement System.out.println(createPreparedStatement(getConnection(), select * from t_manager)
56、; /测试 Statement System.out.println(createStatement(getConnection(); .2 用户注册:用户注册: package com.test.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSe
57、rvletResponse; import com.test.dao.UserDao; import com.test.dto.User; /用户注册,先判断用户是否已经存在,向 user 表中插入数据! public class InsertUserServlet extends HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException this.doPost(request, response)
58、 ; protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException req.setCharacterEncoding(gb2312); String accout = req.getParameter(accout); String password = req.getParameter(password); String sex = req.getParameter(sex); int age = Integer.parseInt(req
59、.getParameter(age); if (!UserDao.getUserByAccout(accout) User u = new User(); u.setAccout(accout); u.setPassword(password); u.setSex(sex); u.setAge(age); UserDao.insertUser(u); u = UserDao.getUser(accout, password) ; req.setAttribute(insert, success); req.getSession().setAttribute(user,u); resp.send
60、Redirect(getFlowers) ; /req.getRequestDispatcher(getFlowers).forward(req, resp); else req.setAttribute(insert, failed); req.getRequestDispatcher(index.jsp).forward(req, resp); .3 用户登录用户登录 package com.test.servlet; import java.io.IOException; import javax.servlet.ServletException; import java
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年教师资格考试高中面试音乐试题及解答参考
- 人音版音乐五年级上册萨克斯管独奏《回家》说课稿
- 《第1节 硅 无机非金属材料》(同步训练)高中化学必修1-鲁科版-2024-2025学年
- 小学传统文化活动方案
- 教师资格考试高中数学面试试题与参考答案
- 女装结构设计与立体造型-札记
- 2024年居间服务房地产买卖合同
- 窗户定制安装服务协议2024年
- Unit10 单元考点解析 练习 人教版八年级英语下册
- 2024年工程变更与履约补充合同
- 医院护理品管圈成果汇报缩短脑卒中静脉溶栓患者DNT完整版本PPT易修改
- 幼儿园教学课件中班美术《百变的花瓶》课件
- 液化石油气充装操作规程(YSP118液化石油气钢瓶)
- 工程样板过程验收单
- 颅内动脉动脉瘤介入治疗临床路径
- 粮食仓储场建设项目可行性研究报告
- 珠宝销货登记表Excel模板
- 深基坑开挖施工风险源辨识与评价及应对措施
- 唯美手绘风花艺插花基础培训PPT模板课件
- 《现代汉语语法》PPT课件(完整版)
- 5G智慧农业建设方案
评论
0/150
提交评论