基于Java的二手物品交易系统的设计与实现.docx

上传人:b****6 文档编号:8109243 上传时间:2023-05-12 格式:DOCX 页数:21 大小:1.08MB
下载 相关 举报
基于Java的二手物品交易系统的设计与实现.docx_第1页
第1页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第2页
第2页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第3页
第3页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第4页
第4页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第5页
第5页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第6页
第6页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第7页
第7页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第8页
第8页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第9页
第9页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第10页
第10页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第11页
第11页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第12页
第12页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第13页
第13页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第14页
第14页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第15页
第15页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第16页
第16页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第17页
第17页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第18页
第18页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第19页
第19页 / 共21页
基于Java的二手物品交易系统的设计与实现.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Java的二手物品交易系统的设计与实现.docx

《基于Java的二手物品交易系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java的二手物品交易系统的设计与实现.docx(21页珍藏版)》请在冰点文库上搜索。

基于Java的二手物品交易系统的设计与实现.docx

基于Java的二手物品交易系统的设计与实现

基于Java的二手物品交易系统的设计与实现

摘要:

随着电脑普及到千家万户以及物流业的快速发展,人们越来越注重电子商务的应用,二手物品交易系统又作为电子商务的一个典型代表,二手交易的方式从原来的路边市场交易逐渐转变为网络交易,通过物流方式完成交易过程。

越来越多的人通过这种平台用平价收获了想要的物品,也转卖了一些不用的物品。

大学生作为社会组成中的一部分,每年有数以百万的毕业生,在大学四年产生了大量闲置物品,所以我想要开发一款基于Java的校园二手物品交易系统,满足校内师生的二手物品循环使用的需求。

本系统开发采用了实现数据持久化功能的ORM组件:

Hibernate,用JSP+HTML+JavaScript进行界面处理,开发使用Tomcat作为服务器端,数据库采用比较稳定的Mysql5.0版本,在MyEclipse中创建JDBC代码访问MySQL数据库。

关键词:

JSP;Hibernate;Mysql;Tomcat

Abstract:

Withtherapiddevelopmentofcomputerstothefamiliesandthelogisticsindustry,peoplepayattentiontotheapplicationofe-commerce,moreandmoresecond-handgoodstradingsystemasatypicalrepresentativeofthee-commerce,second-handtransactionwayfromtheoriginalgraduallytransformstheroadsidemarkettrading,onlinetransactionscompletedtransactionbywayoflogistics.Moreandmorepeopleareusingtheplatformtoharvestthegoodstheywant,andalsosellsomeunuseditems.Collegestudentsasapartofthesociety,therearemillionsofgraduateseachyear,theuniversityfouryearsproducedalargenumberofidleitems,soIwanttodevelopacampussecond-handgoodstradingsystembasedonJava,meettheneedsofsecond-handgoodscirculationfromteachersandstudentstouse.ThissystemdevelopmentUSEStheORMcomponentofrealizingthefunctionfordatapersistence:

Hibernate,useJSP+HTML+JavaScriptinterfaceprocessing,developmentusingTomcatastheserverside,usingrelativelystableMySQLdatabaseversion5.0,createJDBCcodetoaccessMysqldatabaseinMyEclipse.

Keywords:

JSP;Hibernate;Mysql;Tomcat

1绪论

1.1二手物品交易的定义

人们将一些用不上的物品,根据物品使用的磨损程度来制定一个折旧的价格,通过二手交易市场或网上各种闲置交易App等方式,展示给需要购买这些东西的人们,买家用低于新物品的价格下单购买这些物品,卖方又通过当面交易,快递等方式将物品送到买家的手上,是一种节约资源,物品循环使用的良好方式。

而对于买家和卖家而言,卖家把用不上的东西变成了现金,买家又以低价买到了想要的东西,双方各取所需,使物品得到了循环使用。

1.2目的与要求

在当前的社会上,许多的各种类型的电子商务类网站纷纷建立,可以很大程度上解决人们信息资源的闭塞以及地域上的限制。

每一年都有新的大学生进入校园开始大学生活,也有毕业生离开校园踏上工作的岗位,这期间产生了许多毕业用不上学弟学妹又用的上的二手商品,而学校也只有毕业季固定几天可以摆摊处理掉不需要的东西,导致了大量可循环使用的物品被扔进了垃圾桶,于是我要发展一种新的二手商品循环使用的交流方式,基于Java的校园二手物品交流网站,通过这个网站大家可以浏览其他同学发布的商品信息,发布自己想要出售的商品信息,购买到低价商品,还可以对发布的同种类型商品进行比较,选择自己中意发送交易请求,实现校园内面对面交易。

由此可见,这是一个小范围的交流二手商品信息的平台,与一般的电子商务网站又有本质的区别。

1.3可行性分析

界面操作分析:

系统的登录网页十分精简,友好,系统开发所有使用的基于Java的JSP技术,这些策略让用户很轻松都能了解并使用本系统,加上网页有对应的操作提示,让用户轻松掌握系统的操作方法,显示系统更加人性化,使用户感到更加亲切。

软件使用分析:

本系统所使用开发工具都是免费的,成本几乎为零,对于学生开发者来说,是一个没有经济压力的开发方式,而且使用的JSP语言可以轻松使开发者开始模块化复写,缩短了开发所用的时间,经上分析设计该系统在选择软件方面是可行的。

硬件使用分析:

系统开发不需要大型的服务器,以及多种硬件配合,只需要一台自用的电脑,就可以开始开发本系统,所有本系统开发在硬件方面要求低。

经过上述界面操作,软件使用,硬件使用分析,得出开发出本系统是可行的。

2开发准备与规划

2.1开发环境准备

2.1.1开发软件

配置Java环境,选择jdk1.8

网站服务器,选择Tomcat8版本。

而编程工具则选择了MyEclipse。

数据库采用SQLserver以及数据库管理软件SQLyogEnt

2.1.2JSP环境的安装和环境变量的设置

首先安装JDK,安装Tomcat。

配置环境变量:

我的电脑->属性->系统特性->高级->环境变量->系统变量

新建变量TOMCAT_HOME,变量值为:

D:

安装路径\apache-tomcat-8.0.18

新建变量JAVA_HOME,变量值为:

C:

安装路径\jdk1.8.0_12

编辑path变量:

添加变量值C:

安装路径\jdk1.8.0_12\bin;D:

安装路径\apache-tomcat-8.0.18\BIN

3系统分析与设计

3.1二手物品交易系统实现需求分析

根据从网上各种闲置App的功能需求结合校园内的实际需要增删了一些功能模块,本系统主要面向的对象为大学校园的师生和大学周围的住户,因此删除了许多不需要的模块。

本系统完成的主要功能有:

用户设置功能、发布信息功能、信息管理功能、搜索信息功能,留言功能,及系统管理功能

用户设置功能模块

学生可用自己想要的昵称注册ID,注册内容包含用户名,密码,联系方式,邮箱等重要信息。

登录的学生才可以使用信息发布功能,学生登录后,会在界面上显示学生的基本信息,并提供有修改个人信息的接口。

发布信息功能模块

信息发布用能是本系统重要的组成部分,注册的登录用户和管理员用户可以使用发布信息功能模块,游客用户只能浏览信息,无法发布信息。

信息管理功能模块

信息管理功能分为用户登录个人信息进行管理和管理员用户对会员的信息进行管理。

后台系统管理界面展示了用户的注册重要信息组成部分,如用户名,密码,邮箱等。

并有一个可视化链接对详细信息的修改。

权限如下:

修改信息:

普通用户可以修改自己所发布的商品信息,以及自己的注册信息。

管理员则包含了可以修改普通用户全部信息的权限

删除信息:

普通用户可以删除自己发布的商品信息,管理员包含了删除所有信息的权限。

浏览信息:

游客、普通用户和管理员可以浏览所有发布的信息。

留言功能模块

留言板功能的使用分为三种使用情况:

登录的用户,管理员用户,游客用户。

权限如下:

发表留言:

登录用户和管理员登录后都可以对发布信息进行留言。

查看留言:

游客、登录用户和管理员都可以查看发布信息的留言。

删除留言:

管理员用户可以删除留言。

3.1系统管理功能模块

系统后台页面主要分为信息管理和基本信息管理两块区域,信息管理区域下有物品的交易记录,物品交换,物品分类,留言板等,基本信息管理则有网页上一些基本内容的更新,可以在后台直接操作

3.2二手物品交易系统设计图

本系统是一个典型的三层应用——浏览器通过Web服务器实现对数据库的各种操作。

图3-1展示了整个系统的体系结构。

图3-1系统体系结构

在本系统体系中,不是直接通过代码对数据库进行增删改查等操作,而是通过Java对象和数据库搭成一个抽象的桥梁,这个桥梁就是映射文件。

3.3二手物品交易系统各个模块设计分析

本系统功能主要包含用户设置、发布信息、信息管理、留言、及系统后台管理等。

用户设置功能主要是用户注册必须填写所要求的个人资料,完成个人资料登入。

发布信息功能需要用户登录后才能发布商品信息,没有登录的用户只能浏览商品信息,无法下单购买。

信息管理功能主要用户是发布商品信息,需要增加或删除商品的信息,在这里可以对已发布的商品信息进行修改,需要用户登录才可以使用此功能。

留言功能是用户在登录后,浏览商品信息,对商品进行留言,管理员用户可以删除留言。

系统后台管理功能是管理员用户对所有信息进行后台管理,包括网站介绍,用户留言,用户数据查询等这里都可以实现。

图3-2系统功能结构图

3.4数据库设计分析

3.4.1数据库需求分析

对于数据库的需求主要体现在对数据库的提交信息、更新信息、删除信息、保存信息等。

这些信息的存在都取决于各个功能模块的对信息的需求。

通过对功能模块的具体操作,实现对数据库中信息的输入和输出。

所以,针对各个功能模块的需求,设计如下的数据表和数据结构:

用户信息:

包括用户编号、用户名、密码、学号,及用户的其它相关信息等。

商品信息:

商品编号、信息标题、信息内容,发布信息的用户,信息相关内容等。

商品类型信息:

包括商品种类,商品信息分类等

商品留言信息:

包括留言编号、商品信息编号、留言内容等。

交易地区信息:

包括地区编号,地区名,地区描述等。

3.4.2数据库逻辑设计

数据库的逻辑设计将系统实体与内容属性连接起来的一种方式,建立一个抽象的模型结构,转换成一个可视化的图形结构。

本系统涉及的E-R图如下,

本系统E-R图:

图3-3留言E-R图

 

图3-4交易记录E-R图

 

图3-5物品信息E-R图

图3-6用户信息E-R图

图3-7所有实体E-R图

3.4.3数据库物理设计

数据库的物理设计其实就是数据库表的组成设计,对数据库所需要储存的内容进行一个规范的管理,设定字符的长度,字符的类型,以及判断是否为空值等,形成一个有限制储存内容长度,类型等的表结构。

本系统所涉及的表以下所示:

表3.1留言表

字段名

字段类型

字段宽度

小数位数

空否

Id

int

11

0

Saver

varchar

255

0

Savetime

varchar

255

0

content

varchar

255

0

Resaver

varchar

255

0

Recontent

varchar

255

0

Resavetime

varchar

255

0

表3.2交易记录表

字段名

字段类型

字段宽度

小数位数

空否

Id

Int

11

0

Uname

varchar

255

0

Touname

varchar

255

0

Ddinfo

varchar

255

0

Lxr

varchar

255

0

Lxtel

varchar

255

0

Lxqq

varchar

255

0

 

表3.3物品信息表

字段名

字段类型

字段宽度

小数位数

空否

Id

Int

11

0

Title

Varchar

255

0

Wpbei

varchar

255

0

Filename

varchar

255

0

Lxr

varchar

255

0

Lxtel

varchar

255

0

Lxaddrs

varchar

255

0

Lxqq

varchar

255

0

Price

varchar

255

0

Uname

varchar

255

0

Savetime

varchar

255

0

Infotype

varchar

255

0

Wptype

varchar

255

0

 

表3.4用户信息表

字段名

字段类型

字段宽度

小数位数

空否

id

Int

11

0

username

varchar

255

0

userpass

varchar

255

0

truename

varchar

255

0

sex

varchar

255

0

qq

varchar

255

0

phoneno

varchar

255

0

email

varchar

255

0

dizhi

varchar

255

0

usertype

varchar

255

0

filename

varchar

255

0

savetime

varchar

255

0

sfjy

varchar

10

0

4系统详细设计

4.1系统界面层设计

系统主页是面向平台的所有访问者,注册用户和非注册用户都可以进入到系统主页面,查看相关的资源信息及资源指南。

主页面由平台Logo、登录框、搜索框和各种类型的最新资源信息列表组成。

图4-1系统设计层界面

4.2系统主要功能的设计

4.2.1用户设置功能

图4-2用户注册图

图4-3用户登录成功效果图

用户设计功能关键代码见附页

4.2.2发布信息功能

 

图4-4信息发布页面如图

图4-5信息发布页面效果

发布信息功能关键代码见附页

4.2.3信息管理功能

图4-6用户注册信息管理页面

信息管理功能关键代码见附页

4.2.4留言功能

图4-7留言界面效果

留言成功后返回到信息详细页,信息最后显示该信息的所有留言,效果如图4-8所示:

图4-8留言成功效果图

留言功能关键代码见附页

4.2.5系统后台管理功能

图4-9系统管理功能

系统后台管理关键代码见附页

5系统测试

5.1测试目的

软件测试为了识别项目风险,为开发人员和项目经理反馈测试结果,风险评估提供必要的信息,终极保障在软件发布日前到达发布标准界限,包括可连续终极跟踪项目的研发进度和每个阶段研发质量保证。

本系统主要测试前台界面和后台数据库的使用,前台界面测试用户登录,注册,发布信息,修改信息,界面是否正常转换,后台主要测试信息管理功能是否能正常运作。

5.2功能测试

5.2.1用户登录测试

当用户以注册的账户名“xuxiaolong”登录,密码不匹配或用户名输错时,提示框会提示“用户名或密码错误,或账户被禁用!

 

 

图5-1用户登录错误提示

5.2.2用户注册测试

当游客需要注册一个账号时,点击登录框旁边的注册,需输入正确的电话号码,邮箱等信息,如果输入的电话号码长度,以及邮箱格式不正确会有警告提示,输入正确后会成功注册。

图5-2错误提示

输入正确后会返回一个注册成功提示

图5-3注册成功提示

5.2.3用户发布信息

当用户需要发布一个二手物品信息时,选择页面右边的发布,依次填入信息,可上传实体图片

图5-4发布信息界面

 

图5-5发布成功界面

5.2.4用户修改信息

当用户需要修改注册信息时的邮箱,电话号码,地址等点击登录名旁的修改注册信息,可以实时更新信息(用户名不可更改)。

图5-6修改注册信息界面

图5-7修改注册信息界面

5.2.5后台信息管理

当管理员需要修改后台用户信息时,登录后台界面。

输入管理员账户,密码可以修改后台信息。

图5-8后台信息管理界面

5.3测试结果

二手物品交易系统经测试和调试后能够按照需求正常运行,基本没有错误,能够满足开发者和用户的需求。

在系统整体测试过程中,系统功能相对来说比较简单,数据源的配置,需进一步改善。

 

6总结

通过对二手物品交易系统的开发,这几个月中对大学所学的专业书籍进行了一次全方面的复习,复习加深了一些原来有点淡忘的知识点,在后面对项目进行设计实现的时候起到了很大的推进作用,原本需要十行代码才能完成的功能,后来只用了一两行代码,在进行设计实现的时候到一半的时候,我遇到了一个很大的问题,那就是突然想要增加项目中的一个需求时发现重写所有代码才能将这个需求增加进去,这对项目实现过半的我是一个不小的打击,为了实现这个需求,以及防止在项目重做后遇到同样的问题,我暂停了项目的实现,停下来好好想了一下,确定了项目的最终需要实现的功能后,重新踏上了重写代码之路。

这个突发事件让我懂得了在以后的工作,或者生活中,在做一件事情之前都要好好规划思考一下,防止起到事倍功半的效果,经过这几个月做毕业设计的时间,我发现学习是不能停止的,尤其是在做程序员这种工作岗位,每一年都有新的技术在诞生,也有老的技术被废弃,不学习新的技术就会原地踏步,甚至往后退步。

在做设计的时候,遇到了很多问题,每当遇到问题的时候,我都会XX查找有没有解决的办法,当解决不了问题的时候就去问指导老师,指导老师每次都很细心的给我解答问题。

 

附录

 

附录A:

用户设置功能关键代码

if(ac.equals("mlogin")){

Stringusername=request.getParameter("uname");

Stringpassword=request.getParameter("upass");

Listlist=dao

.select("select*fromuserswhereusername='"+username+"'");

if(list.size()==1){

HashMapmap=list.get(0);

Listulist=dao

.select("select*fromuserswhereusername='"+username+"'andusertype='会员'andsfjy='0'anduserpass='"+password+"'");

if(ulist.size()==1&&password.equals(map.get("userpass").toString())){

request.getSession().setAttribute("admin",map);

gor("/xianzhi/index.jsp",request,response);

}else{

request.setAttribute("error","");

go("/index.jsp",request,response);}

}else{

request.setAttribute("error","");

go("/index.jsp",request,response);

}

}

 

附录B:

发布信息功能关键代码

Stringstr="";

if(!

reflush)

str+="

DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0Transitional//EN\"\"http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";

str+="\n";

if(alert){

str+="alert('操作成功');\n";

}

if(reflush){

str+="parent.location=parent.location;\n";

}

str+="";

PrintWriterwrt=null;

try{

wrt=response.getWriter();

}catch(IOExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

wrt.write(str);

}

return"";

}

 

附录C:

信息管理功能关键代码

for(Stringstr:

collist){

f(names.indexOf(","+str+",")>-1){

String[]values=request.getParameterValues(str);

Stringvalue="";

for(Stringvstr:

values){

if(vstr==null)vstr="";

if(vstr.equals("null"))vstr="";

if(vstr.trim().equals(""))continue;

if(request.getParameter(vstr)!

=null&&!

"".equals(request.getParameter(vstr))&&request.getParameter("dk-"+str+"-value")!

=null){

Stringdkv=request.getParameter(vstr);Stringdknamevalue=request.getParameter("dk-"+str+"-value");

vstr+="-"+dknamevalue+":

"+dkv;}

value+=vstr+"~";}

if(value==null)value="";

if(value.equals("null"))value=""

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2