题 目 校园二手商品交易平台的设计与开发
理工学院本科毕业设计任务书
院(系) 数学与计算机科学学院 专业班级 信息管理与信息系统(信管1102) 学生 仇文航
一、毕业设计题目 校园二手商品交易平台的设计与开发 二、毕业设计工作自 2015 年 03 月 16 日 起至 2015 年 6 月 20 日止
三、毕业设计进行地点: 理工学院 四、毕业设计应完成容及相关要求:
该系统是根据高校大学生二手商品交易的现状,以校园网为依托,实现校园二手商品交易的信息化管理的,搭建起校园二手商品交易的信息化平台。系统要现:实现用户注册登陆、信息修改等功能;实现二手商品相关信息的发布、修改、查询、在线购买等功能;设置系统管理模块,完成系
统的维护功能;解决涉及中遇到的相关问题等。 五、毕业设计应收集资料及参考文献: 1.各类电子商务的实例分析文献; 2.设计与开发类文献;
3.选定可发工具的相应文献; 4.数据库设计类文献;
5.相关商品经营 六、毕业设计的进度安排:
2014.12.31-2015.3.20 收集资料,完成开题报告;
2015.3.20-2015.5.20 完成系统设计、毕业设计说明书撰写工作;
2015.5.20-2015.6.15 毕业设计答辩及资料归档。 指导教师签名 郭天印 专业负责人签名 征 任民宏 学院领导签名 批准日期 2015-01-10
校园二手商品交易平台的设计与开发
仇文航
(陕理工数学与计算科学学院信息管理与信息系统专业1102班, 723003)
指导教师:郭天印
【摘要】电子商务是互联网发展的必然结果,是网络技术应用的方向。互联网自身所具有的开放性、便捷性、
成本低、高效率等特点,已经成为电子商务的在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值。本课题作为一个校园二手商品交易平台的小型电子商务,实现校园资源的整合以及闲置物品的重复利用价值。校园二手商品交易平台是在充分调查了解用户需求的前提下,实现了校园二手物品交易的大部分需求,包括校园咨询,需求发布,商品咨询,留言管理,订单管理等。本课题主要使用JSP+Servlet作为开发语言,使用MySql作为数据库,服务器采用tomcat。作为一个B/S结构的小型电子商务系统,校园二手商品交易平台希望能给予学生们的学习和生活带来方便,实现校园商品的及时流通。
【关键词】 商品交易平台;数据库;订单管理;B/S模式
The design and implementation of campus second-hand
goods trading platform
QIU Wen Hang
(Grade 11,Class 1, Major Information management and information
system ,School of Mathematics and Computer Science, Shaanxi University of
Technology, Hanzhong 723003, Shaanxi)
Tutor: GUO Tian Yin
Abstract:E-commerce is the inevitable outcome of the development of the Internet, is the direction
of the network technology application. The openness of the Internet itself has, convenience, low cost, high efficiency characteristics, has become the inherent characteristics of the e-commerce, and greatly beyond the electronic commerce as a new form of trade is the value of. This topic as a small e-commerce sites of campus second-hand goods trading platform, realizes the campus resource integration and idle repeat utilization value of the item. Campus second-hand goods trading platform is in full investigation under the premise of understanding of user requirements, to achieve the most demand of campus second-hand goods trading, including the campus counseling, demand, product consulting, message management, order management, etc. This topic is mainly used JSP + Servlet as a development language, using MySql as a database, using tomcat server. As a B/S structure of the small e-commerce system, the campus second-hand goods trading platform, hoping to give the students' study and life bring convenience, realize campus of commodity circulation in a timely manner.
Key words: Commodity trading platform; Database; Order management; B/S mode
目 录
1 绪论 .............................................................................. 1
1.1课题背景与意义 ............................................................... 1 1.2开发工具及技术 ............................................................... 1
1.2.1开发工具 ............................................................... 1 1.2.2 JSP技术 ............................................................... 1 1.2.3 JavaScript ............................................................. 2 1.2.4 MVC框架 ............................................................... 2 1.2.5 B/S架构 ............................................................... 2 1.3软硬件需求 ................................................................... 2 2 系统分析 .......................................................................... 3
2.1可行性分析 ................................................................... 3
2.1.1技术可行性 ............................................................. 3 2.1.2经济可行性 ............................................................. 3 2.1.3法律可行性 ............................................................. 3 2.1.4管理可行性 ............................................................. 3 2.2功能模块分析 ................................................................. 3 2.3设计的基本思想 ............................................................... 7 2.4 系统的安全性................................................................. 7 2.5 数据的完整性................................................................. 7 2.6界面需求 ..................................................................... 7 3 数据库设计 ........................................................................ 8
3.1数据库的分析与设计 ........................................................... 8
3.1.1数据库的概念结构设计 ................................................... 8 3.1.2数据库的物理结构设计 .................................................. 10 3.1.3数据库的连接原理 ...................................................... 12 3.2系统总体类图设计 ............................................................ 13 3.2中文乱码问题处理 ............................................................ 14 3.3 CSS文件处理 ................................................................ 14 3.4 JS文件处理 ................................................................. 14 4 系统功能实现 ..................................................................... 15
4.1系统前台界面 ................................................................ 15
4.1.1 系统首页.............................................................. 15 4.1.2 交易需求页面 .......................................................... 16 4.1.3 热卖商品界面 .......................................................... 17 4.1.4 新闻资讯界面 .......................................................... 17 4.1.5 联系我们界面 .......................................................... 17 4.1.6 订单管理界面 .......................................................... 18 4.2登录页面设计 ................................................................ 18 4.3后台管理员主页面 ............................................................ 20
4.3.1用户管理 .............................................................. 20
4.3.2文章管理 .............................................................. 22 4.3.3商品管理 .............................................................. 22 4.3.4分类管理 .............................................................. 24 4.3.5交易管理 .............................................................. 27
5 系统测试 ......................................................................... 31
5.1系统测试目的与意义 .......................................................... 31 5.2测试环境 .................................................................... 31 5.3测试过程 .................................................................... 31 5.4数据添加错误 ................................................................ 31 5.5其他错误 .................................................................... 32 致 ............................................................................... 33 参考文献 ........................................................................... 34 科技外文文献 ....................................................................... 35 附录A: 源程序代码 .................................................................. 40 附录B:系统使用说明书 .............................................................. 49
1 绪论
1.1课题背景与意义
从21世纪以来,作为一种新型的经营模式,电子商务得到了长足的发展,特别是近几年信息速度高度发达的经济环境下,日益趋向成熟。并且人们已经逐步接受网上购物这一观念。
从电商发展至今,可以看得出开发一个电子商务的价值所在:除了投资少,回收快,基本不需要占压资金之外,24小时的营业时间以及不受店面地理位置影响都是其显著特点。而对于消费者而言,采用电子商务方式可以高效、便捷和低成本的实现购买活动。
在中国发展网上购物已经具有良好的消费者基础,网上购物方式日趋被大家所接受。因此设计一个校园二手商品交易的小型电子商务具有很好的应用和开发前景。 1.2开发工具及技术 1.2.1开发工具
此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat进行简要介绍。
1) MyEclipse MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
2) Tomcat Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 1.2.2 JSP技术
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:
1)一次编写,到处运行。除了系统之外,代码不用做任何更改。
2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。
3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java
显示了一个巨大的生命力。
4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下
5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的容;out 用来传送响应的输出流; config 代码片段配置对象;page JSP网页本身; exception 针对错误网页,未捕捉的例外 1.2.3 JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。 1.2.4 MVC框架
MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + Servlet + Javabean的模式。 1.2.5 B/S架构
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S同时具有升级和维护方式相对简单、成本较低等 1.3软硬件需求
硬件需求:
CPU:Pentium以上计算机 存: 512M以上 软件需求:
操作系统版本:Windows XP /vista/Win7 开发工具:MyEclipse 6.0.1 后台服务器:Apache Tomcat 6.0 开发语言:Java 浏览器:IE6.0
2 系统分析
系统分析就是对系统从技术可行性、经济可行性和操作可行性进行分析。对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排,明确开发目标。本系统采用的架构是mvc模式。 2.1可行性分析
可行性分析能使新系统达到以最小的开发成本取得最佳的经济效益,其目的也是根据开发管理信息系统的需求,通过初步调查和系统目标分析,对于本电子商务设计从技术上、经济上和管理上进行是否可行的研究与分析,这既是保证资源的有效合理利用,也是避免在日常工作中的失误而导致的种种浪费现象。 2.1.1技术可行性
本系统开发工具是MyEclipse和MySQL数据库,开发语言是Java,主要使用了J2EE的技术,技术方面,本系统采用Java语言进行设计,Java也是我们比较熟悉的语言。
因为在学校平常开设的课程中有开设JAVA课程,加之大四在校外参加过JAVA培训所以系统实现基本顺利。因为时间等因素。所以系统的部分小功能还需要在应用中在进行修改。 2.1.2经济可行性
本系统相对较小也比较简单,不需要投入大量资金,同时又存在着实用性,能改善使用方法在财力和人力上的过度消耗。因此一经使用便可收到很好的成效,做到合理节约和合理利用资源,既提高了工作效率并且也减少了工作人员的工作量,这使得本系统在处理业务方面得到很大的提升空间 2.1.3法律可行性
本系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。 2.1.4管理可行性
对于绝大多数用户而言,他们已经养成了网上购物的习惯。对于购物方式,也已相对比较熟悉。对于本而言,简洁友好的界面可以使用户快速的了解本提供的业务,从而能更好的操作以完成网上购物的体验。对于后台管理者而言,本系统提供的后台操作简单,模块划分简洁明了。因此无论是用户,还是管理员都能很好的操作本提供的功能,在管理方面是可行的
综上所述,开发校园二手交易平台是必要可行的。 2.2功能模块分析
根据需求分析确定该系统划分为以下几个功能模块: 1)用户信息管理功能
用户信息管理主要完成用户的信息增加,修改,删除等功能呢。该功能的用例图如图2.1所示。
增加用户信息查看用户信息修改用户信息管理员删除用户信息 图2.1用户信息管理功能用例图
2)文章信息管理
该模块主要完成管理员对文章信息的的管理,包括文章信息的查看、添加、删除操作。该功能的用例图如图2.2所示。
增加文章信息查看文章信息修改文章信息管理员删除文章信息 图2.2文章信息管理功能用例图
3)商品信息管理功能
该管理功能主要完成管理员对商品信息的管理,包括商品信息的查看、添加、删除操作。该功能的用例图如图2.3,图2.4所示。
增加商品信息查看商品信息修改商品信息管理员删除商品信息 图2.3管理员审核商品信息用例图
增加留言信息查看留言信息修改留言信息用户删除留言信息 图2.4用户添加商品用例图
4)交易信息管理功能
该管理功能主要完成交易信息的管理,包括交易信息的查看、添加、删除操作。该功能的用例图如图2.5、图2.6所示。
增加交易信息查看交易信息用户修改交易信息删除交易信息 图2.5用户添加交易信息用例图
增加交易信息查看交易信息修改交易信息管理员删除交易信息 图2.6管理员审核交易信息用例图
5)订单信息信息管理功能
该功能主要实现用户订单信息的查看修改编辑等功能。该功能是以购物车的形式出现的,订单信息的用例图如图2.7所示。
添加订单信息查看订单信息删除订单信息用户总计结算 图2.7 订单信息管理用例图
6)系统的管理员用户模块图如图2.8所示。
管理员用户模块用户信息管理新闻资讯管理商品信息管理交易需求管理网站留言管理网站留言管理添加用户删除用户新闻资讯添加新闻资讯管理新闻资讯管理新闻资讯更新新闻资讯添加新闻资讯管理新闻资讯更新新闻资讯管理新闻资讯反馈新闻资讯反馈新闻资讯反馈
图2.8系统管理员用户模块图
8)系统的会员用户模块图如图2.9所示。
网站会员模块网站信息查看网站会员注册网站留言添加交易需求添加信息反馈查看信息反馈查看 图2.9系统会员用户模块图
2.3设计的基本思想
设计思想遵循以下几点:
1)采用B/S模式进行开发。符合一般电子商务的设计模式。 2)采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。
3)应用框架,本系统应用MVC框架,使得的结构组织更为明确和具体。
4)清新的系统界面,符合大学生的生气与活泼的设计风格,简介的设计界面使得重点更为突出,照顾用户的使用体验。
5)后续跟进,交付使用后根据用户反馈,不定期的修改系统出现的各种问题。 2.4 系统的安全性
本系统主要有游客,会员,管理员三个角色。登录后台界面必须要使用管理员权限,需求发布以及留言等功能需要会员身份。游客可以看到所有的前台界面。 2.5 数据的完整性
1)各种记录信息的完整性,信息记录容不能为空 2)各种数据间相互联系的正确性 3)相同数据在不同记录中的一致性 2.6界面需求
界面设计是屏幕产品的重要组成部分。界面设计是一个复杂的有不同学科参与的工程,认知心理学、设计学、语言学等在此都扮演着重要的角色。用户界面是用户与程序沟通的唯一途径,要能为用户提供方便有效的服务。用户界面设计的三大原则是:置界面于用户的控制之下、减少用户的记忆负担、保持界面的一致性。
本电子商务采用的是JSP[7]技术作为前端页面展现,由于每个模块的页面是不一样的,因此在设计页面时,要合理的安排,尽量使用户能够很快的熟悉本的主要功能,同时需要保持界面的简洁和一致性。
3 数据库设计
3.1数据库的分析与设计
计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。
数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。 3.1.1数据库的概念结构设计
概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成。最后对集成的结构分析优化得到最后结果。
数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。
根据对数据库的需求分析,使用自底向上的方法,建立E-R模型图。模型图元素如下:
实体 属性 实体间关系 1)管理员信息E-R图 如图3.1所示。 登陆账管理员登陆密管理员 图3.1 管理员信息实体E-R图
2)用户信息实体E-R图 如图3.2所示。
会员密码学号会员账号分类会员 图3.2 用户实体E-R图
3)新闻咨询E-R图 如图3.3所示。
文章内容文章描述文章标题文章配图文章分类显示位置文章咨询图3.3 新闻资讯实体E-R图
4)商品信息实体E-R图 如图3.4所示。
商品价格商品样式商品描述显示位置商品名称商品图3.4 商品信息实体E-R图
商品配图商品状态商品分类 5)需求交易实体E-R图 如图3.5所示。
交易价格交易样式交易描述显示位置交易名称交易需求图3.5 交易需体E-R图
交易配图交易状态交易分类 6)留言信息E-R图 如图3.6所示。
留言邮箱留言状态留言信息留言人留言 图3.6 留言信息实体E-R图
7)分类信息E-R图 如图3.7所示。
分类名称分类描述分类序号分类标识分类图3.7 分类信息实体E-R图
8)数据库的概念设计模型(CDM),如图3.8 所示
图3.8 数据库概念设计模型
3.1.2数据库的物理结构设计
数据库概念设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。在本电子商务中,各项实体之间的关系并不复杂,本系统的数据库没有设计外键关联,只是将关联数据库的字段存放到需要的数据库表中,从而能达到数据关联的目的。
数据库概念模型是独立于数据库的,通过选取得数据库管理系统进行转换。使计算机可以接受的数据模型。E-R模型向关系数据库模型转换应遵循下列原则:
*每一个实体要转换成一个关系
*所有的主键必须定义非空(NOT NULL)
*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
*为了方便数据的读取,每表都需要有一个唯一的标识符号id,并且设置为自动递增。 1)用户信息表了所有用户的信息。表结构如表3.1所示。
表3.1管理员信息表(admin)
列名 id admin_name admin_password
数据类型 int varchar varchar
长度 11 50 50
允许空 否 否 否
是否主键 是 否 否
说明 表的唯一标示符 登陆账号 续表3.1 登陆密码
admin_sort int 11 否 否 用户分类
2)文章信息表主要记录文章咨询相关信息,表结构如表3.2所示。
表3.2文章信息表(article)
列名 id art_title art_describe art_content art_img art_sort art_showIndex
数据类型 int text text text varchar int int
长度 11 555 11 11
允许空 否 否 否 否 否 否 否
是否主键 是 否 否 否 否 否 否
说明 文章ID 文章标题 文章描述 文章容 文章配图 文章分类 首页显示
3)商品信息表记录了商品的相关信息,表结构如表3.3所示。
表3.3商品信息表(goods)
列名 id goodsName textDesc textStyle goodsImg goodsPrice goodsState sortOne sortTwo goodsNum
数据类型 int varchar varchar varchar varchar varchar int int int int
长度 10 555 555 555 555 555 11 11 11 11
允许空 否 否 否 否 否 否 否 否 否 否
是否主键 是 否 否 否 否 否 否 否 否 否
说明 商品ID 商品名称 商品描述 商品样式简介 商品配图 商品价格 商品状态 商品一级分类 商品二级分类 商品存储数量
4)留言信息表记录了留言中的基本信息,表结构如表3.4所示。
表3.4留言信息表(msg)
列名 id msg_email msg_msg msg_member
数据类型 int varchar varchar int
长度 10 555 555 11
允许空 否 否 否 否
是否主键 是 否 否 否
说明 留言ID 留言信箱 容 发布用户
5)交易需求表主要记录用户发布的需求和交易信息,表结构如表3.5所示。
表3.5交易需求表(tradneed)
列名 id tradName tradDesc tradStyle tradImg tradPrice tradSort tradSortOne tradSortTwo tradState tradDengji tradShowIndex
数据类型 int varchar varchar varchar varchar int int int int int int int
长度 10 555 2555 2555 5000 55 2 11 11 11 11 11
允许空 否 否 否 否 否 否 否 否 否 否 否 否
是否主键
是 否 否 否 否 否 否 否 否 否 否 否
说明 ID 交易容 交易描述 交易样式描述 交易容图片 交易定价 交易分类 交易一级分类 交易二级分类 交易状态 交易等级 首页显示
6)一级分类相关信息,表结构如表3.6所示。
表3.6一级分类信息表(sortone)
列名 id sortOneName sortOneDesc sortOneSign
数据类型 int varchar varchar int
长度 10 555 555 11
允许空 否 否 否 否
是否主键 是 否 否 否
说明 分类ID 一级分类名称 一级分类描述 一级分类标识
7)订单信息列表相关信息,表结构如表3.7所示。
表3.7 订单信息表(goodscart)
列名 id goodsId userId goodsNum
数据类型 int int int int
长度 10 11 11 11
允许空 否 否 否 否
是否主键 是 否 否 否
说明 订单ID 商品ID 用户ID 商品数量
3.1.3数据库的连接原理
采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图3.9所示:
使用 BusinessObject DataAccessObject 封装 DataSource 获取/修改 创建/使用
图3.9 DAO模式类图
图中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如下:
public class Conn { //创建连接对象 }
public static Connection getConn() //返回指向数据库的指针 { }
try { }
catch(Exception e) { }
return null;
String url=\"jdbc:mysql://localhost/ESSC?user=root&password=123\";//联接字符串 Connection conn=DriverManager.getConnection(url); return conn;
在程序需要连接数据库的地方,只需要生成一个Conn的对象,就可以对数据库进行连接并操作。
3.2系统总体类图设计
系统总体类图设计如图3.10所示
图3.10 系统类图设计
3.2中文乱码问题处理
在程序中经常会遇到中文乱码的情况,如果手动的在servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。
1)在页面中配置:
cot/html;charset=utf-8\";
2)在servlet中配置:
request.setCharacterEncoding(\"utf-8\");
response.setContentType(\"text/html;charset=utf-8\");
3.3 CSS文件处理
1)引用外部CSS样式:
2)部CSS样式:
3.4 JS文件处理
1)引用外部JS脚本文件
2)部JS脚本文件
4 系统功能实现
在管理信息系统的生命周期中,仅过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。 4.1系统前台界面 4.1.1 系统首页
系统首页是整个系统的门面,用于展示系统主要风格以及部分显示系统的功能。校园二手交易平台首页采用蓝色和橙色的设计风格展现当代大学生的生机与活力。
交易平台首页采用综合系统功能的方式呈现首页包括需求在线,资讯热点,热卖商品等功能的部分热点以及重要容。
首页界面效果图如图4.1,图4.2所示。
图4.1首页资讯展示
图4.2首页资讯展示
4.1.2 交易需求页面
交易需求主要用于展示用户发布的消息,用于同学们发布自己的闲置商品,求购需要,失物发布招领等功能,用于方便同学们日常生活的信息交流。
交易需求的界面如图4.3所示。
图4.3交易需求界面展示
4.1.3 热卖商品界面
热卖商品主要用于展示用于出售,包括书籍类,运动类等各种商品,这里主要综合整个的所有待售商品,根据分类将商品进行归类整理,用户可根据分类找到具体的商品。
交易需求的界面如图4.4所示。
图4.4热卖商品界面展示
4.1.4 新闻资讯界面
新闻资讯界面主要用于展示校园新闻,主要以理工学院的新闻为基础组织和编写新闻文章。新闻资讯页面的设计目的在于见证校园文化的发展。
交易需求的界面如图4.5所示。
图4.5新闻资讯页面
4.1.5 联系我们界面
联系我们界面主要用于用户反馈的使用信息。用于用户的留言反应。
联系我们的界面如图4.6所示。
图4.6新闻资讯页面
4.1.6 订单管理界面
订单管理主要用于用户自己登录系统后查看自己的订单列表。用户可以进行删除和结算操作 订单管理页面如图4.7所示。
图4.7订单管理页面
4.2登录页面设计
本电子商务采用的是JSP技术作为前端页面展现,由于每个模块的页面是不一样的,因此在设计页面时,要合理的安排,尽量使用户能够很快的熟悉本的主要功能,同时需要保持界面的简洁和一致性
登录页面如图4.8所示。
图4.8系统登陆界面
在登陆页面输入用户名和密码之后,点击登录按钮,跳转到登陆的servlet中,经由Servlet进行数据处理后发送到service页面在该service中会对用户名,密码进行判断,如果正确提示“ok!”,进入到管理界面,如果错误则提示“Error!”,页面调转到登陆页。
关键代码:
try
{ }
catch(Exception e)
String name=u.getName();
String password=u.getPassword(); String
sql=\"select
*
from
admin
where
admin_name='\"+name+\"'
and
admin_password=password('\"+password+\"')\";
ResultSet rs=Conn.Select(sql); if(rs.next()) { } else { }
return -1;
String sql2=\"select admin_sort from admin where admin_name='\"+name+\"' and ResultSet rs2=Conn.Select(sql2); if(rs2.next()) { } { }
return -1;
sort=rs2.getInt(\"admin_sort\"); return sort;
admin_password=password('\"+password+\"')\";
else
}
{
return -1;
4.3后台管理员主页面
描述:管理员主页面:左方页面展示了管理员可操作的功能菜单,进入相关的管理页面可以到子菜单,每个管理模块下面都有相应的子菜单。
程序运行效果图如图4.9所示。
图4.9管理员主页面
在每个jsp页面将会对用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:
if(session.getAttribute(\"user\")==null) {
out.print(\"\"); }
4.3.1用户管理
用户管理主要用于整个的权限管理,管理员可以在此添加学生账户和老师账户。管理员拥有管理所有用户的权限。
1)用户添加界面如图4.10所示。
图4.10 用户添加界面
public boolean addUser(User u){ }
try { }
catch(Exception e) { }
return false;
String name=u.getName();
String password=u.getPassword(); int sort=u.getSort(); String
sql=\"insert
into
admin(admin_name,admin_password,admin_sort)
values('\"+name+\"',password('\"+password+\"'),\"+sort+\")\";
int result=Conn.Insert(sql); if(result==1)
return true; return false; else
2)用户管理界面如图4.11 所示。
图4.11 用户管理界面
4.3.2文章管理
1)文章添加
新闻资讯用于添加的新闻资讯,文章添加包括文章的标题,容和图片等等,文章添加是由管理员用户进行管理添加的。管理员可以设置文章的元素级别。设置文章是否能在首页显示等选项,用于控制文章的前台显示位置。
文章添加图如图4.12所示。
图4.12 文章信息录入
2)文章管理
文章管理用于查看所有的文章状态,修改以及删除文章。文章管理主要用于管理员实时可见文章目前的状态。文章管理界面读取了数据库中的全部文章并设置有分页效果
文章管理效果图如下图4.13 所示。
图4.13 文章信息管理页面
4.3.3商品管理
1)商品添加
商品添加是商品上传的重要环节,是前台显示商品信息的重要来源,商品添加需要管理员权限详细的文章商品添加商品添加页面中对商品在前台界面的显示控制,是由审核状态,显示级别,显
示权重,文章首页显示等字段来控制的。
商品添加页面如图4.14所示。
图4.14 商品信息添加
try }
{ }
catch(Exception e) {
return false;
String name=s.getSortOneName(); String desc=s.getSortOneDescribe(); int sign=s.getSortOneSign(); String
sql=\"insert
into
sortone(sortOneName,sortOneDesc,sortOneSign)
values('\"+name+\"','\"+desc+\"',\"+sign+\")\";
int result=Conn.Insert(sql); if(result==1)
return true; return false; else
2)商品管理
描述:商品管理主要用于商品容的展示,商品管理需要管理员身份查看和管理。商品管理界面中包括描述商品的的描述信息。管理员可以实时查看商品的目前状态。商品管理界面因为涉及的商品条目较多,设有页面分页。
商品管理界面效果图 如图4.15所示。
图4.15商品管理信息管理页面
4.3.4分类管理
1)分类添加
描述:分类管理主要用于交易商品的分类,商品分类是商品索引的重要途径,商品分类完成商品的归类整理任务。本系统商品分类包括一级和二级分类,一级分类主要分为七类,二级分类主要根据一级分类进行归类。
分类中的分类标识是根据数据库中的标识分类标识自动递增的,不可以修改。 一级分类管理效果如图4.16所示。
图4.16 一级分类添加图
二级分类管理是根据一级分类管理添加的,二级分类的添加需要选择相应的一级分类 二级分类管理效果如图4.17所示。
图4.17 二级分类添加
分类管理servlet代码实现
request.setCharacterEncoding(\"utf-8\");
response.setContentType(\"text/html;charset=utf-8\"); String name=request.getParameter(\"sortOneName\"); String describe=request.getParameter(\"sortOneDescribe\"); String sign1=request.getParameter(\"sortOneSign\"); int sign=Integer.parseInt(sign1);
SortOne s=new SortOne(name,describe,sign); SortOneImp si=new SortOneImp(); boolean b=si.addSortOne(s);
2)分类管理
描述:分类管理需要管理员权限,用于管理员管理所有的分类。分类管理显示当前的实时状态。因为分类中涉及到关于商品的数据。所以分类是不能随意删除的。需要确认商品与分类没有任何关系之后才可完全删除分类
分类管理效果图如下图4.18所示。
图4.18分类信息信息管理页面
分类管理显示数据读取代码
<% { %>
switch(sort) {
case 1: out.println(\"
break;
<% %> <% %>
if((tradNeed.getTradDesc()).length()>20) { } else { }
out.println(\"
out.println(\"
out.println(\"
out.println(\"
pageContext.setAttribute(\"tradNeed\sort=tradNeed.getTradSort(); sortOne=tradNeed.getTradSortOne(); state=tradNeed.getTradState(); TradNeedImp tni=new TradNeedImp();
ArrayList for(int i=0;i
class='center'>\"+(tradNeed.getTradDesc()).substring(0,20)+\".....\");
{
}
case 2: out.println(\"
break;
switch(state)
case 1: out.println(\"
break; break;
case 2: out.println(\"
%>
}
SortOneImp soi=new SortOneImp(); SortOne so=soi.getById(sortOne);
out.println(\"
4.3.5交易管理
1)商品交易添加
描述:交易添加是由用户对在主界面上根据用户需求添加相应的交易需求。交易添加需要用户的权限为会员权限。用户添加需求时可以分为商品求购和闲置出售两个方面的容
商品添加效果图如下图4.19所示。
图4.19商品添加页面
2)交易管理
描述:交易管理是实现在用户提交交易需求后管理员审核交易的功能。用户提交的所有的交易需求都需要管理员审核确认后才可以发布到界面显示,修改信息页面如图4.20所示
图4.20交易管理页面
3)交易更新
描述:交易管理是实现在用户提交交易需求后管理员审核交易的功能。用户提交的所有的交易需求都需要管理员审核确认后才可以发布到界面显示。交易更新需要在交易管理界面点击编辑后跳到单个的更新界面。
交易更新界面效果图4.21 如下。
图4.21商品信息更新页面
商品更新页面读取代码
<%
int id=Integer.parseInt(request.getParameter(\"id\")); TradNeedImp tni=new TradNeedImp(); TradNeed tradNeed=tni.getById(id); int tradSortOne=tradNeed.getTradSortOne(); String tradImg= tradNeed.getTradImg(); %>
需求分类::
<% int tradSort=tradNeed.getTradSort(); if(tradSort==1) { } else { } out.println(\"\"); out.println(\"