1、中 南 民 族 大 学毕 业 论 文 (设 计 )学 院 : 计 算 机 科 学 学 院 专 业 : 网 络 工 程 专 业 年 级 :2009 题 目 : 基 于 Eclipse 平 台 的 跳 蚤 市 场 设计 与 实 现 学 生 姓 名 : 学 号 : 指 导 教 师 姓 名 : 职 称 : 讲 师 2013 年 5 月中南民族大学本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日
2、目 录摘要 .1Abstract.11 绪论 .21.1 项目背景 .21.2 跳蚤市场发展阶段及现状 .21.3 论文研究的目的与意义 .22 开发平台与技术的介绍 .32.1 Eclipse 简介 .32.2 Java EE 简介 .32.2.1 Java EE 概念 .32.2.2 Java EE 运行模式 .32.3 Jsp 技术简介 .42.4 Struts 2 框架简介 .42.5 MySQL 简介 .43 系统分析与设计 .53.1 需求分析 .53.1.1 功能需求 .53.1.2 功能概述 .53.1.3 系统数据流图 .63.2 概要设计 .73.2.1 体系结构设计 .7
3、3.2.2 各模块功能描述 .83.2.3 数据库设计 .93.3 详细设计 .123.3.1 系统部分功能关键算法 .123.3.2 业务层逻辑设计 .143.3.3 控制模块的设计 .154 系统实现 .164.1 登录界面 .164.2 注册界面 .164.3 主页界面 .174.4 商品类型界面 .184.5 商品详情界面 .194.6 商品列表界面 .194.7 发布商品界面 .204.8 出售中的商品界面 .204.9 收藏夹界面 .214.10 管理员登录界面 .214.11 管理界面 .225 系统测试 .225.1 注册和登录测试 .225.2 发布商品测试 .245.3 管
4、理我的商品测试 .255.4 收藏夹功能测试 .265.5 搜索和 排序 测试 .265.6 管理功能测试 .276 结论 .30致 谢 .30参考文献 .311 基 于 Eclipse 平 台 的 跳 蚤 市 场 设 计 与 实 现摘要:随着 WEB 的迅猛发展,电子商务网站在最近几年也越来越热,实体商店已经无法符合所有人的要求。越来越多的人选择方便,快捷的网上购物市场。随着电子商务时代的到来,实体二手交易显得那么的不效率和费时费力。为了解决这个问题,有必要开发出网上校园跳蚤市场,为我校学生提供网上交易平台。本文设计了一个基于 Eclipse 平台的校园跳蚤市场,前台使用 JSP 技术,后台
5、使用 Java 语言,整合了 Struts 框架,使用 MySQL 数据库。本文主要说明了系统的结构与功能、系统功能模块的设计与实现,并针对开发过程中遇到的技术难点给出了解决方案。通过本系统不仅能像传统校园跳蚤市场一样处理毕业生的多余物品,而且在平时学生们有任何闲置的东西或有任何需求都可以放到网上跳蚤市场,不限时间地点,非常方便。关键词:Eclipse 平台;跳蚤市场;JSP 技术Design and Implementation of Flea Market Based on Eclipse PlatformAbstract: With the rapid development of th
6、e Web, e-commerce sites in recent years more and more heat, physical stores have been unable to meet the demands of all people. More and more people choose convenient, fast on-line shopping market. With the arrival of the era of e-commerce, the entitys secondary trading seemed so not efficiency and
7、time-consuming. To solve this problem, it is necessary to develop online campus flea market, online trading platform for our students. Designed a campus flea market based on the Eclipse platform, the foreground using JSP technology, the background using the Java language, integrated Struts framework
8、, using a MySQL database. This paper mainly describes the structure and function of the system, the system function module design and implementation, and solutions for the technical difficulties encountered in the development process. Through the system like a traditional campus flea market as unnec
9、essary stuff to deal with graduates, but also in peacetime, the students have any idle or have any needs can be put online flea market, not limited to time and place, very convenient.Key words:Eclipse platform; Flea market; Java server pages technology2 1 绪论1.1 项目背景跳蚤市场是对旧货地摊市场的别称。有一个个地摊摊位组成,市场规模大小不
10、等。出售的商品多是二手商品、人们没有用过但对于他来说是多余的物品。价格通常是低廉的。目前所见的跳出市场以校园跳蚤市场居多,在当前在高校中,往往在临近毕业时是常见的,校园跳蚤市场商品多样化和价格低廉的优势,很受同学们的青睐,它也起到了物品再利用,节约资源的作用。然而在有如此多的优点的同时,也有着许多的缺点,比如只有在毕业之际,人们才比较聚集,在平常,人们难以聚集起来这样买二手商品,而且平常也没有时间去这样买。跳蚤市场在当前在高校中,往往在临近毕业时是常见的,跳蚤市场商品多样化和价格低廉的优势,很受同学们的青睐,它也起到了物品再利用,节约资源的作用。然而这样的实体跳蚤市场有着不固定性及零散性的缺点
11、。并且不效率也费时费力。1991 年:CERN(欧洲粒子物理研究所)的科学家提姆.伯纳斯李(Tim Berners-Lee)开发出了万维网。他还开发出了极其简单的浏览器。此后互联网开始向社会大众普及。随着计算机技术的飞速发展,人们对网页的要求也不在是文字,图片的简单堆砌单调内容,也可以说不仅仅是对获取信息的要求,而是更在乎实时性,交互性,和丰富性,使得动态网页越来越受欢迎。应用 Java Web 技术可以灵活方便的访问数据库 1。基于以上原因,一款开源并且很适合来 Java Web 的开发工具已经悄然在程序员界流行起来,至今,Eclipse 占据超过世界 Java 开发环境市场的 50%。基于
12、现在校园跳蚤市场的现状,还有 Java Web 的发展,完全可以开发一个跳蚤市场系统平台并且这是非常有必要的,以解决实体跳蚤市场的上述缺点。网上跳蚤市场有着实体跳蚤市场的商品多样化和价格低廉的优点,并且平时学生们有任何闲置的东西或有任何需求都可以放到跳蚤市场,不限时间地点,非常方便。1.2 跳蚤市场发展阶段及现状最开始的时候,跳蚤市场是针对中下阶层,家里有用不上的东西或用旧了的东西拿出去换成现款,而也有人在那里搜寻者便宜的用品。当然也有落魄了的家族去那里变卖家产。但跳蚤市场成为一种时尚,西方是从伦敦卷起旋风,设计学院的学生自己做出的设计,因为没有名气而无处销售,只能找成本最便宜的跳蚤市场来摆摊
13、,于是吸引了时髦人士前来挑选那些独一无二的衣服,逐渐成为了前卫的体现。而在东方则是从日本开始,因为时下逐渐流行“古着” ,也就是所谓的旧的、设计经典的服装,时髦的年轻人只能在跳蚤市场淘到大量的旧衣服,也成为了一种风气。而后来跳蚤市场发展为在大街小巷随处可见,不仅仅是为了赚钱,更是为了环保,并且价格也便宜,品种多样化。当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不睱接。对“B/S”和“C/S”技术谁优谁劣等等问题的争论不休,但是从现在的互联网趋势来看,越来越多的企业转向了 B/S 技术,谁代表技术潮流发展,我想已经不言而喻了。B/S 架构软件
14、具有维护和升级方式简单、成本降低,选择更多等优势。而是 WEB兴起后的一种网络结构模式,WEB 浏览器是客户端最主要的应用软件。这也显得在现在的网络中 WEB 将会越来越重要 2。伴随着 WEB 的迅猛发展,突破地域时间上的网上交易平台也就孕育而生,各种电子商务网站也越来越热,其中网上跳蚤市场也在逐步登录网络。越来越多人选择了网上跳蚤市场进行二手交易。1.3 论文研究的目的与意义3 虽说人们更亲耐网上跳蚤市场,网上跳蚤市场也确实有很多优势,但是目前网上跳蚤市场就国内开始还是比较少的,淘宝有一个跳蚤市场,但是由于大家都在那里卖,地域性的问题就造成了附加邮费的问题,无形中破坏了跳蚤市场的便宜性。在
15、各大高校中,还是很少有高校有专门的跳蚤市场网站,但是人们又对跳蚤市场需求很大,所以通常是在论坛里叫卖东西,而这样没有一个专门的网站,就也同样存在零散的问题。本文针对以上的问题,专门开发一个校园跳蚤市场系统,实现学生们在校园就可以进行二手物品的交易,突破时间地域的网上交易本台,解决传统跳蚤市场零散性的缺点。学生们通过本校园跳蚤系统,在校园内就可以进行二手物品的甩卖,真正解决了地域性问题。在网上选中商品之后,校园中交易,解决了因地域性破坏跳蚤市场便宜性的缺点。2 开发平台与技术的介绍本系统是在 Eclipse 平台上开发的基于 Java EE 的系统。前台使用Jsp,AjAx,JavaScript
16、 等技术,后台使用 Java 语言,整合了 Struts 框架。而数据库则采用了 MySQL。Web 应用服务器选择了 Tomcat 服务器。2.1 Eclipse 简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境 3。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK) 。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场
17、所 4。从 2006 年起,Eclipse 基金会每年都会安排同步发布(simultaneous release) 。至今,已经发行到 4.2。2.2 Java EE 简介2.2.1 Java EE 概念Java EE(Java Platform,Enterprise Edition)是 Sun 公司推出的企业级应用程序版本。最初这个 Java EE 叫做 J2EE。随着 J2EE 1.5 版本的发布,Sun 公司将 J2EE 正式更名为 Java EE5。Java EE 并非一个产品,二是一系列技术和标准的集合,它为应用 Java 技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、
18、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署 6。2.2.2 Java EE 运行模式Java EE 平台继承了 Java 语言的安全性和高可靠性,为企业级应用的设计、开发、部署和管理提供了一套完善的解决方案,它包括了从前端 Web 界面到中间件,再到后端数据库系统的一系列技术和规范 7。Java EE 提供了一套标准的 API 和已组建为基础的企业框架,尤其值得注意的是,Java EE提供了一个新的容器概念,通过容器来提供标准的系统底层服务,大大降低了企业级开发的复杂度 8。Java EE 的服务包含 Web 容器和 EJB 容器,它所提供的 Servlet 和 JSP
19、技术都可以实现 Web容器。EJB 容器主要用来进行业务逻辑的处理,这种方式能够提供较好的安全性和可靠性,它由运行在业务逻辑层的 Enterprise JavaBean 处理。一个 Enterprise JavaBean 从客户端接收4 数据,然后进行业务逻辑处理,还可以将处理后的数据进行储存,同时它也可以从储存器获取数据,处理后将其发送到客户端 9。Java EE 平台使用了一个多层分布式应用程序模型。它主要分为客户端层、Web 层、业务层和 EIS(企业信息系统)层 10。2.3 Jsp 技术简介JSP 是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技
20、术标准,英文全称是 Java Server Pages,JSP 页面有 Web 服务器执行,JSP 引擎接收客户端对 JSP 页面的请求,并且生成 JSP 页面作为对客户端的响应 11。JSP 页面通常被编译成 Servlet,因此 JSP既可以在 Windows 下运行,也可以在 UNIX 下运行 12。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑 13。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于 We
21、b 的应用程序的开发变得迅速和容易 14。JSP(Java Server Pages)是一种动态页面技术,它的主要目的是将表示逻辑从 Servlet 中分离出来 15。采用 JSP 的优点主要有:(1)一次编写,到处运行。(2)支持多平台。(3)强大的可伸缩性。可支持一台服务器,也可以多台进行集群和负载均衡。(4)众多开发工具的强大支持。2.4 Struts 2 框架简介Struts2 框架,是 MVC 框架模式,即模型(model)视图(view)控制器(controller)模式。它的体系结构如图 2.1 所示 16。它强制性的使应用程序的 输入、处理和输出分开。使用 MVC 应用程序被分
22、成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动 MVC 的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则 17。简单的说它具有以下优点:耦合性低,重用性高,生命周期成本低,部署快,可维护性高,有利软件工程化管理。图 2.1 Strut2 的体系结构5 2.5 MySQL 简介MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。目前MySQL 被广泛地应用在 Internet 上的
23、中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库 18。与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限(MySQLCluster 的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本 19。MySQL 是开放源代码的,因此任何人都可以在 General Public
24、 License 的许可下下载并根据个性化的需要对其进行修改 20。目前 Internet 上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+PHP/Perl/Python)和 LNMP(Linux+Nginx+MySQL+php/perl/Python) ,即使用 Linux 作为操作系统,Apache 和Nginx 作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统 21。3 系统分析与
25、设计3.1 需求分析3.1.1 功能需求校园网上跳蚤市场主要实现二手商品信息的显示,让人们看到商品,从而协商二手商品交易。欲实现这个过程,需要实现用户注册与登录,二手商品的供求信息发布。除了以上功能外,为了让用户群体更方便、快捷、舒适的二手交易,本校园跳蚤市场还具备以下功能:(1)规范、完善的基础信息设置,并且用户可以修改自己的个人信息,如密码等;(2)用户可以对自己发布的商品信息进行管理,比如商品已经卖掉了,需要下架,以免别人在联系自己需要买此商品。(3)按不同类别对商品进行分类(4)模糊商品查询等多种信息搜索方式,用户可更具需求,方便、快捷的查找所需要的信息。并对查询的信息按用户要求排序显
26、示。(5)用户可以对感兴趣的商品进行收藏(6)管理人员可以对商品和用户进行管理。比如删除非法商品,对非法用户封号等。(7)界面统一友好。让用户在浏览商品的时候更舒适3.1.2 功能概述为了满足以上需求,制定如下功能模块,功能模块图如图 3.1 所示:(1)用户模块 注册、登录系统。 发布商品。 高级搜索:多字段模糊搜索、类型搜索、价格区间搜索,并且可以对搜索结果按价格排序。 用户中心:修改用户资料、管理发布商品、管理收藏商品。(2)管理员模块6 用户管理。 商品管理。 商品类别管理。图 3.1 功能模块图3.1.3 系统数据流图(1)用户处理商品数据流图,如图 3.2 所示图 3.2 用户处理商品数据流图