基于Java的校园二手物品交易系统(+程序源代码+数据库)

摘  要

摘要:本文通过对校园二手物品交易系统进行了功能性需求分析,详细阐述了系统的安全性和可扩展性等非功能性需求。在充分的需求分析基础上,按照功能设计确定了数据库结构,完成了完整的代码编写。校园二手交易网站采用 JAVA语言、Eclipse代码编辑器、Tomcat服务器等开发工具,实现了系统主要模块的页面设计和功能开发。文中呈现了首页页面的效果图,通过代码和页面介绍了学生注册、商品搜索、购物车管理、订单生成与查看、在线付款,以及发货发布等功能的实现过程。

关键词二手交易;JAVA;Web


Abstract

Abstract:This article analyzes the functional requirements of the campus second-hand goods trading system and elaborates on the non functional requirements such as security and scalability of the system. On the basis of sufficient requirement analysis, the database structure was determined according to functional design, and complete code writing was completed. The campus second-hand trading website uses Java language, Eclipse code editor, Tomcat server and other development tools to achieve page design and functional development of the main modules of the system. The article presents a rendering of the homepage, introducing the implementation process of functions such as student registration, product search, shopping cart management, order generation and viewing, online payment, and shipment publishing through code and page.

Key words:Second hand transactions; JAVA; Web

目  录

一、绪论

(一)研究背景与意义

(二)研究现状

二、开发工具及相关技术介绍

(一)Java开发语言

(二)JSP开发语言

(三)MySQL数据库

(四)AJAX技术

三、系统分析

(一)可行性分析

(二)功能性需求分析

(三)业务流程分析

四、系统设计

(一)系统架构设计

(二)功能模块设计

(三)数据库设计

五、系统实现

(一)学生登录的实现

(二)系统前台主要功能实现

(三)系统后台主要功能实现

六、系统测试

(一)系统可靠性测试

(二)系统功能性测试

(三)系统合格性测试

(四)测试结果

七、结论

一、绪论

(一)研究背景与意义

随着大学生活的日益丰富,校园内的二手物品交易需求逐渐增加。为了更好地满足这一需求,基于Web的校园二手物品交易系统成为了一个备受关注的研究领域。该系统的设计旨在提供一个便捷、高效的平台,使学生能够方便地买卖二手物品,促进资源共享和循环利用。研究的背景包括校园生活中频繁发生的二手市场交易,以及传统交易方式存在的信息不对称和交易效率低下等问题。通过引入Web技术,研究旨在构建一个开放、透明的平台,提高交易效率,减少信息不对称,同时促进社区合作和友谊。这项研究的意义在于推动数字化校园管理,促进可持续发展理念在校园中的实践,培养学生分享与合作的精神。通过实现该系统,不仅可以提升校园内二手物品交易的便利性,还有助于塑造学生社区的良好氛围,促进资源的有效利用,为校园生活注入更多活力。

(二)研究现状

目前,基于Web的校园二手物品交易系统的设计与实现已成为教育科研领域备受关注的焦点。众多研究者致力于利用先进的Web技术构建更智能、高效的平台,以满足日益增长的校园二手市场需求。现有的研究涵盖了用户界面设计、交易安全性、推荐系统等方面,不断提升系统的可用性和用户体验。同时,一些研究致力于利用人工智能算法优化匹配机制,提高信息匹配的精准度。总体而言,当前的研究呈现出多样化和创新性,旨在为校园二手物品交易提供更便捷、安全的数字平台,进一步促进校园资源的共享和可持续发展。


二、开发工具及相关技术介绍

(一)Java开发语言

在本研究中,Java作为主要的开发语言,为校园二手交易网站的构建提供了坚实的基础。Java以其跨平台性、面向对象的特性以及强大的生态系统而闻名,使其成为大型应用程序和系统的首选语言之一。通过使用Java,我们能够实现系统的模块化设计,提高代码的可维护性和可扩展性。同时,Java的广泛应用也为后续的系统集成和拓展提供了更为便利的条件。

(二)JSP开发语言

JSP(JavaServer Pages)作为一种动态网页开发技术,被广泛用于构建基于Java的Web应用程序。本研究中采用JSP作为前端页面的开发语言,通过其灵活的标签和嵌入式Java代码,实现了前端页面与后端Java逻辑的高效交互。JSP的特点在于其能够与JavaBean等后端组件结合,从而实现动态生成HTML页面,为用户提供更为友好和交互性强的界面。

(三)MySQL数据库

数据库是支撑系统数据存储和管理的核心组件,而在本研究中,我们选择使用MySQL作为后端数据库。MySQL以其高性能、高可靠性和开源特性而备受青睐。通过MySQL,我们能够有效地组织和管理系统中的大量数据,实现对用户信息、商品信息等关键数据的安全存储和快速检索,为系统的稳定运行提供了有力保障。

(四)AJAX技术

为了提升用户体验和系统的实时性,本研究引入了AJAX(Asynchronous JavaScript and XML)技术。通过AJAX,我们能够在不刷新整个页面的情况下,异步地向服务器请求数据,并将数据动态更新到页面中。这不仅减轻了服务器的负担,提高了系统的响应速度,同时也为用户提供了更为流畅和即时的交互体验。AJAX的应用使得校园二手交易网站更具吸引力和竞争力。


三、系统分析

(一)可行性分析

1、经济可行性

经济可行性分析是对校园二手物品交易系统的投资回报进行评估。通过研究市场需求和竞争状况,以及系统建设和运维成本,我们能够全面了解项目的经济可行性。在论文中,我们将详细探讨系统建设所需的经济资源,并通过成本效益分析评估项目的可行性,确保投资与收益之间的平衡。

2、技术可行性

技术可行性分析旨在评估所选择的技术和工具是否适用于校园二手物品交易系统的设计与实现。在这一章节中,我们将深入探讨选用的Java、JSP、MySQL和AJAX等技术在实际开发中的应用性能,以及其是否满足系统的需求。通过技术可行性分析,我们能够确保系统在技术上能够稳定可靠地运行,满足用户的需求。

3、操作可行性

操作可行性分析关注的是系统在实际操作和维护中的可行性。在论文中,我们将详细讨论校园二手物品交易系统的日常运营和维护过程,包括系统更新、故障排除和用户支持等方面。通过操作可行性的评估,我们能够确保系统在实际应用中具有良好的稳定性和可维护性,提高系统的可操作性和用户满意度。

(二)功能性需求分析

前端需求包括学生模块、商品模块、购物车模块和订单模块。学生模块涵盖学生注册、登陆、个人信息管理和帐单查询等功能。商品模块包括商品浏览、信息展示、搜索和购买等功能。购物车模块包括添加、查看和删除购物车等功能。订单模块包括生成订单、我的订单、查看详细信息、在线支付和确认收货等功能。

后端需求涵盖学生管理、商品管理和订单管理。学生管理包括学生列表和等级管理。商品管理包括商品列表、类目管理、添加和信息管理等功能。订单管理包括支付管理和订单审核等功能。

系统用例图如下所示。无论网上还是门店销售,最终都要通过物流配送来实现,通过售后服务来保证,这是家电渠道商得天独厚的优势所在。毕竟,消费者最终认可的还是性价比更高的产品和服务。对于已具备完善的销售、服务体系和配送资源的家电渠道商而言,其优势十分明显。要真正做到为消费者服务,为厂家、为自己找到利益上的共存共生。

图1:系统用例图

商品添加用例描述如下表所示。

表1:商品添加用例描述

用例名称

添加新商品

参与者

卖家

用例概述

本用例用于卖家进行添加新商品操作

前置条件

卖家添加新商品前必须登录系统

后置条件

系统中添加一个新商品

基本事件流

参与者动作

系统响应

卖家在后台主界面选择“新商品”。

4、卖家填写新商品信息,点击“添加”按钮。

2、系统打开添加新商品界面。

3、系统检查卖家输入的商品信息是正确有效的。

5、系统将商品添加到数据库中。

6、系统提示“操作成功”。

7、系统跳转到商品管理界面。

其他事件流

1、系统验证卖家输入的商品名为空,则提示“*请填写商品名称!”。

2、系统验证卖家输入的价格不是货币格式,则提示“*价格必须是货币格式!”

商品删除用例描述如下表所示。

2:商品删除用例描述

用例名称

删除商品

参与者

卖家

用例概述

本用例用于卖家进行删除商品操作

前置条件

卖家删除商品前必须登录系统

后置条件

系统中删除一个商品

基本事件流

参与者动作

系统响应

1、卖家在后台主界面选择“商品管理”。

4、卖家选择一个商品,点击“删除”按钮。

6、卖家点击“确定”按钮。

2、系统从数据库中获取商品信息列表

3、系统打开商品列表界面。

5、系统提示“你确定要删除吗?”。

7、系统将商品从数据库中删除。

8、系统提示“删除成功”。

9、系统跳转到商品管理界面。

其他事件流

学生编辑用例描述如下表所示。

3:学生编辑用例描述

用例名称

修改学生

参与者

管理员

用例概述

本用例用于管理员进行修改学生信息操作

前置条件

管理员已经登录系统

后置条件

系统中更新一条学生记录

基本事件流

参与者动作

系统响应

1、管理员在后台主界面选择“学生管理”。

4、管理员在学生列表中选择一个学生,点击“编辑”按钮。

6、管理员填写学生信息,点击“保存修改”按钮。

2、系统从数据库中获取学生信息。

3、系统打开学生列表界面。

5、系统打开修改学生信息界面。

7、系统将更改后的添加到数据库中。

8、系统提示“操作成功”。

9、系统跳转到学生管理界面。

其他事件流

商品购买用例描述如下表所示。

4:商品购买用例描述

用例名称

商品购买

参与者

学生

用例概述

本用例用于学生进行对商品购买操作

前置条件

学生已经登录系统

后置条件

系统中增加一条学生购物车

基本事件流

参与者动作

系统响应

1、学生在前台首页选择任意一个商品分类。

4、管理员在学生列表中选择一个商品。

7、学生填写购买订单,点击“购买”按钮。

2、系统从数据库中获取商品列表信息。

3、系统打开商品列表界面。

5、系统从数据库中获取商品信息。

6、系统打开商品信息及购买界面。

8、系统检查学生输入的信息是正确有效的。

9、系统将购物车添加到数据库中。

其他事件流

1、系统验证学生输入的字段为空,则提示“*购买数量不能为空!”。

(三)业务流程分析

在校园二手交易网站的前台,学生模块和商品模块实现了数据交互,使购买功能得以实现。前台的功能涵盖学生模块、商品模块、购物车模块和订单模块。

而在校园二手交易网站的后台,管理员对前台学生提交的申请数据进行处理,以满足学生的需求。前台系统和后台系统之间进行数据交互,整个系统的各个部分既相互独立又紧密相连。后台的功能主要包括学生管理、商品管理和订单管理。

系统的业务流程图如下所示。

2:系统业务流程图


四、系统设计

(一)系统架构设计

在软件设计过程中,充分考虑软件系统的多样功能,分层思维显得尤为关键。这种思维方式在软件开发中能够显著减少各层之间的耦合度,符合“低耦合、高内聚”的设计原则。因此,可以将校园二手交易网站划分为显示层、数据层和业务层。在整个系统的架构中,为了便于上层调用完成相应功能,每个层次均提供对应上层的接口。

系统的架构图如下所示。

图3:系统架构图

显示层:

此层主要为学生提供计算机交互的 UI 界面,根据学生的操作提供相应的逻辑处理。

数据库层:

数据库不仅对软件涉及的实体进行映射,也是系统读取和处理数据的关键。整个系统的操作流程设计围绕着数据库中的数据展开。

业务层:

通过系统的业务层业务逻辑来实现业务需求,根据相应需求分析实现的策略和对应的业务逻辑。其优劣在很大程度上决定了软件的质量,因此,整个系统成败的主要原因在于业务逻辑的实现。

(二)功能模块设计

通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。

图4:系统功能结构图

注册/登录

未注册或未登录的学生可浏览、搜索商品,但不能购买。注册需先进行表单验证,验证学号和手机号的合法性,再验证其是否已存在。验证通过即可完成注册。

成功注册后,学生可输入学号登录系统,再验证密码。登录成功后,学生可使用商品购买、查看订单、发布求购、个人信息管理等功能。

个人信息管理

登录系统后,学生可在账户设置中修改昵称、头像、手机号、登录密码、收货地址等个人基本信息。

商品搜索

系统首页提供商品搜索框,学生在其中输入与商品名称相关的关键字,系统通过模糊查询展示相关商品。

商品信息展示

学生浏览商品时,点击商品跳转到商品信息页。该页展示商品详情,包括介绍、详情、销量等,供学生了解商品主要功能和评价,从而决定是否购买。

商品购买

在商品信息页,学生可点击“购买”进行购物,跳转至订单生成页。确认信息无误后点击“提交”生成订单,随后跳转至支付页面,支付完成即购买成功。

加入购物车

商品展示页中提供添加购物车功能,学生可通过按钮将商品加入购物车,商品直接存入数据库。学生可点击“我的购物车”查看其中商品。

查看订单详情

学生在订单列表中点击某订单可查看详细信息,包括订单编号、状态、日期、商品、交易金额等。订单详情还显示商品物流信息,帮助学生了解购买商品的发货状态。

商品列表

卖家可在“商品列表”中展示待销售商品,包含商品名称、属性和类目等信息。卖家可通过分类查询和搜索商品。

商品添加

添加商品需输入基本信息,如名称、数量、分类;然后编辑详细信息,如规格、描述、图片。卖家也可删除已添加商品。

商品管理

购买商品需选择规格,卖家可设置规格名称和展示顺序,添加或删除属性值。卖家可编辑商品信息,如介绍、展示图片等,以方便学生浏览。

(三)数据库设计

1、概念模型设计

概念设计包括实体和联系两部分,如该系统中,学生是一个实体,其属性包括学生 ID 标识、学号、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。

系统E-R图如下所示。

图5:系统E-R图

在图中,学生购买商品,关系为1:N,学生发布商品,关系为1:N,学生和购物车的关系为1:1,学生和订单的关系为1:N。

2、数据库逻辑设计

针对系统的实体和属性,结合数据设计思想,对系统的逻辑设计的内容进行如下描述。

商品(商品编号、发布人、价格、类别、联系方式、商品介绍、图片、物品编号、物品名称、新旧程度、状态)。

订单(订单编号、发布人、价格、类别、联系方式、评价、手机号、物品编号、物品名称、姓名、学号)。

售后投诉(售后投诉编号、发布人、价格、类别、联系方式、手机号、投诉内容、物品编号、物品名称、学号)

商品类目(商品类目编号、添加时间、名称)。

3、数据库表设计

数据库表是设计和实现系统的一个重要基础。以下列出了该购物系统几个重要的数据库表。

表5:置发布

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1、

ID

int

4

8

主键ID

2、

wupinbianhao

varchar

50

50

物品编号

3、

wupinmingcheng

varchar

50

50

物品名称

4、

leibie

varchar

50

50

类别

5、

jiage

float

10

10

价格

6、

tupian

varchar

50

50

图片

7、

xinjiuchengdu

varchar

50

50

新旧程度

8、

shangpinjieshao

text

8

8

商品介绍

9、

faburen

varchar

50

50

发布人

10、

lianxifangshi

varchar

50

50

联系方式

11、

zhuangtai

varchar

50

50

状态

12、

addtime

datetime

8

8

添加时间

6:购物车

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1、

ID

int

4

8

主键ID

2、

wupinbianhao

varchar

50

50

物品编号

3、

wupinmingcheng

varchar

50

50

物品名称

4、

leibie

varchar

50

50

类别

5、

jiage

varchar

50

50

价格

6、

faburen

varchar

50

50

发布人

7、

lianxifangshi

varchar

50

50

联系方式

8、

xuehao

varchar

50

50

学号

9、

xingming

varchar

50

50

姓名

10、

shoujihao

varchar

50

50

手机号

11、

pingjia

varchar

50

50

评价

12、

addtime

datetime

8

8

添加时间

7:物品类别

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1、

ID

int

4

8

主键ID

2、

leibie

varchar

50

50

类别

3、

addtime

datetime

8

8

添加时间

8:售后投诉

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1、

ID

int

4

8

主键ID

2、

leibie

varchar

50

50

类别

3、

jiage

varchar

50

50

价格

4、

faburen

varchar

50

50

发布人

5、

lianxifangshi

varchar

50

50

联系方式

6、

xuehao

varchar

50

50

学号

7、

shoujihao

varchar

50

50

手机号

8、

tousuneirong

text

8

8

投诉内容

9、

wupinbianhao

varchar

50

50

物品编号

10、

wupinmingcheng

varchar

50

50

物品名称

11、

addtime

datetime

8

8

添加时间

表9:学生

序号

字段名称

字段类型

大小

允许为空

最大长度

备注

1、

ID

int

4

8

主键ID

2、

xuehao

varchar

50

50

学号

3、

mima

varchar

50

50

密码

4、

xingming

varchar

50

50

姓名

5、

shoujihao

varchar

50

50

手机号

6、

addtime

datetime

8

8

添加时间


五、系统实现

(一)学生登录的实现

完成注册后,学生点击“登录”进入登录页面。在页面中输入用户名和密码,随后点击“登录”按钮。系统对用户名和密码进行验证,检查数据库中是否存在匹配的学生信息。若未查询到对应学生信息,登录失败,页面将提示用户名或密码错误。

登录界面参见下图。

图6:登录界面

登录系统主要代码如下。

if(ac.equals("login"))

{

String username = request.getParameter("username");

String password = request.getParameter("pwd1");

String utype = request.getParameter("cx");

if(!pagerandom.equals(random)&&request.getParameter("a")!=null)

{

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

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

}

else{

String sql1="";

if (utype.equals("注册学生"))

{

sql1 = "select * from yonghuzhuce where yonghuming='"+username+"' and mima='"+password+"' and issh='是'";

}

(二)系统前台主要功能实现 

1、首页的实现

学生界面的设计应简洁大方,以方便学生找到所需功能入口,轻松浏览和购买商品。同时,设计要易于修改和维护,并确保学生合法使用和系统安全。

具体首页界面请参见下图。

图7:首页界面

首页关键代码如下。

首页导入qttop、qtdown、qtleft等页面。

<td><%@ include file="qttop.jsp"%></td>

<td><%@ include file="qtleft.jsp"%></td>

<td><%@ include file="qtdown.jsp"%></td>

2、学生注册的实现

学生首次访问系统首页后,可通过点击“注册”链接进入注册页面。在该页面按照提示输入学号、密码以及手机号。经过表单验证,系统会检查输入的学号和手机号的合法性。验证通过后,点击“立即注册”按钮。借助 Ajax 技术,系统能够在不刷新页面的情况下验证学号和手机号的合法性,检索数据库以确认是否已存在相同的学号或手机号。若数据库中未记录此学号或手机号,则注册成功。注册成功后,系统自动跳转至登录页面。

具体学生注册界面请参见下图。

图8:学生注册界面

3、商品展示的实现

商品展示页是系统中用于呈现商品的界面,通过以下 SQL 语句实现商品的展示:"select shangpinxinximingcheng, id, tupian, jiage, addtime from shangpinxinxi order by addtime desc",按照商品编号降序排列呈现所有商品。

具体商品展示页面,请见下图。

图9:商品展示页面

商品展示主要代码如下。

public String shangpinxinxiList()

{

    HttpServletRequest request=ServletActionContext.getRequest();

int index=0;

if(request.getParameter("index")==null)

{

index=1;

}

int hsgpagesize=20;

String sql = "from TShangpinxinxi where 1=1 ";

if(shangpinbianhao!=null){sql=sql+" and shangpinbianhao like '%"+shangpinbianhao.trim()+"%'";}

if(shangjia!=null){sql=sql+" and shangjia like '%"+shangjia.trim()+"%'";}

if(mingcheng!=null){sql=sql+" and mingcheng like '%"+mingcheng.trim()+"%'";}

if(jiage!=null){sql=sql+" and jiage like '%"+jiage.trim()+"%'";}

if(kucun!=null){sql=sql+" and kucun like '%"+kucun.trim()+"%'";}

if(xiaoliang!=null){sql=sql+" and xiaoliang like '%"+xiaoliang.trim()+"%'";}

if(tupian!=null){sql=sql+" and tupian like '%"+tupian.trim()+"%'";}

if(shangpinxiangqing!=null){sql=sql+" and shangpinxiangqing like '%"+shangpinxiangqing.trim()+"%'";}

sql=sql+" order by id desc";

List shangpinxinxiList=shangpinxinxiDAO.getHibernateTemplate().find(sql);

int fromIndex = (index - 1) * hsgpagesize;

int toIndex = Math.min(fromIndex + hsgpagesize, shangpinxinxiList.size());

List shangpinxinxiList1 = shangpinxinxiList.subList(fromIndex, toIndex);

p.setPageSize(hsgpagesize);

       p.setData(shangpinxinxiList1);//设置数据

request.setAttribute("page", p);

return ActionSupport.SUCCESS;

}

4、商品搜索的实现

系统首页提供了一个用于搜索商品的输入框,学生可以在输入框中输入欲查找商品的关键字。随后,点击搜索按钮,系统将学生输入的关键字传递至后台。在这过程中,首先创建一个实体类 PageBean,该实体类包含属性:页码 pageCode、每页记录数 pageSize、总记录数 totalRecord,以及一个 List 集合 beanList。通过输入的关键字对数据库进行模糊查询,将得到的结果存入 PageBean 中,然后返回 PageBean 并跳转到 goodList.jsp 页面。在 goodList.jsp 页面,通过循环将搜索到的结果进行分页展示。

具体商品搜索页面请参见下图。

图10:商品搜索界面

5、商品购买的实现

学生在浏览商品时,对于心仪欲购的商品,可将其添加至购物车。点击“添加购物车”按钮,页面传递该商品数据至后台,首先查询购物车表中是否已存在该商品,如存在则直接增加商品数量,如不存在则创建新的购物车对象。添加购物车成功后,数据库购物车表新增一条记录。学生还可点击“我的购物车”查看已添加的商品,系统通过读取 session 获取学生 ID,将其传递至后台,在购物车表中查询该学生的所有购物车信息,并将数据返回至“我的购物车”页面。

具体商品购买页面请见下图。

图11:商品购买界面

个人购物车界面如下图所示。

图12:个人购物车界面

商品购买主要代码如下:

<%

HashMap ext = new HashMap();

if(request.getParameter("f")!=null){

//wxfladd

ext.put("issh","否");

//youzhifu

ext.put("zongjine",zongjinej);

new CommDAO().commOper(sql);

 }

new CommDAO().insert(request,response,"goumaijilu",ext,true,false,"product.jsp");

%>

6、售后投诉的实现

若学生对购买的二手物品存在质量不满意或其他问题,可向卖家提出售后投诉。学生填写投诉内容后,提交投诉申请,卖家即可收到该投诉并对售后问题进行处理。

具体售后投诉界面请参见下图。

图13:售后投诉界面

售后投诉接收界面如下图所示。

图14:售后投诉接收界面

售后投诉申请主要代码如下:

@RequestMapping("addShouhoutousu.do")

public String addShouhoutousu(HttpServletRequest request,Shouhoutousu shouhoutousu,HttpSession session) throws SQLException{

Timestamp time=new Timestamp(System.currentTimeMillis());

shouhoutousu.setAddtime(time.toString().substring(0, 19));

shouhoutousuService.add(shouhoutousu);

session.setAttribute("backxx", "添加成功");

session.setAttribute("backurl", request.getHeader("Referer"));

//session.setAttribute("backurl", "shouhoutousuList.do");

return "redirect:postback.jsp";

//return "redirect:shouhoutousuList.do";

}

7、论坛交流的实现

论坛交流功能允许系统用户发布、回复、浏览帖子。管理员可在论坛中发布特定话题的版块,而用户则可在相应话题版块下发布与该话题相关的帖子。一个版块可包含多个帖子,用户可根据需求发布不同类型的帖子,如加急、普通、推荐、求助等。

首先,管理员通过 bankuai_add.jsp 请求新增话题版块,该请求将响应到 DAO 层的 insert() 方法,完成版块的新增操作。用户发布帖子时,通过 tieziadd.jsp 请求新增帖子信息,该请求将响应到逻辑层的添加方法,再同步至数据库完成相关操作。

具体版块管理界面请见下图。

图15:版块管理界面

帖子发布界面如下图所示。

图16:帖子发布界面

(三)系统后台主要功能实现 

1、学生管理的实现

管理员通过 yhzhgl.jsp 实现对系统学生的管理,包括录入、删除、修改。密码修改时,通过 SESSION 获取学号,然后输入新密码并提交至 mod.jsp,利用 SQL 命令更新密码。

具体学生管理界面请见下图。

图16:学生管理界面

登录密码修改界面如下图所示。

图17:登录密码修改界面

登录密码修改的逻辑代码如下。

if(ac.equals("adminlogin"))

{

String username = request.getParameter("username");

String password = request.getParameter("pwd");

String utype = request.getParameter("cx");

String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");

String random = (String)request.getSession().getAttribute("random");

if(!pagerandom.equals(random)&&request.getParameter("a")!=null)

{

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

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

}

else{

String sql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"'  ";

List<HashMap> userlist1 = dao.select(sql1);

if(userlist1.size()==1)

{

request.getSession(). setAttribute("username", userlist1.get(0).get("username"));  

request.getSession(). setAttribute("cx",  userlist1.get(0).get("cx"));  

gor("main.jsp", request, response);

}else{

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

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

}

}

}

2、商品管理的实现

卖家可以获取系统中所有商品的列表并进行编辑。在添加商品时,卖家需输入商品的基本信息,包括名称、价格、规格等,同时也要提供商品的详细描述,包括对商品功能的说明以及相关展示图片等。添加商品完成后,将向数据库商品表添加一条信息。卖家可以进行商品的搜索,并对已添加的商品进行进一步的编辑。

具体商品管理界面请见下图。

图18:商品管理界面

商品管理主要代码如下。

<%

   //difengysfiqfgieuheze

//youzuiping1

int kucuntx=0;

    new CommDAO().delete(request,"shangpinxinxi");

    String url = "shangpinxinxi_list.jsp?1=1";

    String sql =  "select * from shangpinxinxi where 1=1";

if(request.getParameter("shangpinxinxibianhao")=="" ||request.getParameter("shangpinxinxibianhao")==null ){}else{sql=sql+" and shangpinxinxibianhao like '%"+request.getParameter("shangpinxinxibianhao")+"%'";}

if(request.getParameter("shangpinxinximingcheng")=="" ||request.getParameter("shangpinxinximingcheng")==null ){}else{sql=sql+" and shangpinxinximingcheng like '%"+request.getParameter("shangpinxinximingcheng")+"%'";}

if(request.getParameter("shangpinxinxileibie")=="" ||request.getParameter("shangpinxinxileibie")==null ){}else{sql=sql+" and shangpinxinxileibie like '%"+request.getParameter("shangpinxinxileibie")+"%'";}

    sql+=" order by id desc";

ArrayList<HashMap> list = PageManager.getPages(url,15,sql, request);

int i=0;

for(HashMap map:list){

i++;

//wxflzhistri

//zoxngxetxoxngjxvi

if(Float.valueOf((String)map.get("kucun")).floatValue()<30){kucuntx=kucuntx+1;}

//txixgihxngjs

//youzuiping2

     %>

3、订单管理的实现

卖家通过后台管理界面点击进入所有订单页面 dingdan_list.jsp,并向控制层 dingdanAction 发送请求以搜索当前的全部订单信息。dingdanAction 通过调用 dingdanDAOImp 发送搜索全部订单的请求,从数据库订单表中获取当前的全部订单,并将订单信息以对象形式逐层返回至 dingdan_list.jsp 界面,从而展示当前的所有订单信息。卖家还可在此界面执行删除过期订单和确认已有订单的操作。

具体订单管理界面请见下图。

图19:订单管理界面

订单管理主要代码如下。

<%

   double zongjinez=0;

//youzuiping1

//txixixngdy

    new CommDAO().delete(request,"goumaijilu");

    String url = "goumaijilu_list.jsp?1=1";

    String sql =  "select * from goumaijilu where 1=1";

if(request.getParameter("shangpinxinxibianhao")=="" ||request.getParameter("shangpinxinxibianhao")==null ){}else{sql=sql+" and shangpinxinxibianhao like '%"+request.getParameter("shangpinxinxibianhao")+"%'";}

if(request.getParameter("shangpinxinximingcheng")=="" ||request.getParameter("shangpinxinximingcheng")==null ){}else{sql=sql+" and shangpinxinximingcheng like '%"+request.getParameter("shangpinxinximingcheng")+"%'";}

if(request.getParameter("shangpinxinxileibie")=="" ||request.getParameter("shangpinxinxileibie")==null ){}else{sql=sql+" and shangpinxinxileibie like '%"+request.getParameter("shangpinxinxileibie")+"%'";}

if(request.getParameter("goumairen")=="" ||request.getParameter("goumairen")==null ){}else{sql=sql+" and goumairen like '%"+request.getParameter("goumairen")+"%'";}

    sql+=" order by id desc";

ArrayList<HashMap> list = PageManager.getPages(url,15,sql, request);

int i=0;

for(HashMap map:list){

i++;

//wxflzhistri

zongjinez=zongjinez+Float.valueOf((String)map.get("zongjine")).floatValue();

//txixgihxngjs

//youzuiping2

     %>


六、系统测试

(一)系统可靠性测试

以进入系统首页的访问速度为例展示系统的性能测试;系统的主要学生群体是购物理念较为先进的消费者,系统要在3秒钟内响应;需要完成页面的菜单栏、首页轮播图片、类目及商品列表、商品评价以及各功能模块入口等元素的显示。

(二)系统功能性测试

功能性测试是指执行指定的工作流程,通过对一个系统的所有特性和功能都进行测试确保符合需求和规范。

系统功能性测试表如下表所示。

表10:系统功能性测试表

编号

测试功能

测试内容

测试结果

1

学生登录

1.验证学号与密码的正确性。

2.验证密码是否可见。

通过

2

首页展示

1.首页数据是否成功加载。

2.验证搜索功能的准确性。

3.验证是否可以异步加载。

4.验证导航栏按钮。

通过

3

个人信息修改

1.验证登录名是否可以正常更改。

2.验证联系方式是否可以更改。

3.验证收货地址可以正常修改。

4.验证密码是否可以修改。

通过

4

购物车管理

1.购物车清单是否可以生成。

2.验证消费信息是否准确。

通过

5

评价添加

1.验证评价数据准确性与完整性。

2.验证评价提交是否能成功展示。

通过

7

商品类目管理

1.验证类目新增是否可以成功。

2.验证类目删除是否可以成功。

通过

8

商品管理

1.商品信息是否与上传一致。

2.是否能完成价格修改。

3.验证库存信息修改。

通过

9

订单处理

1.能否正常完成订单审核和支付

2.验证数据准确性。

通过

10

添加商品

1.上传商品是否添加验证。

2.图片是否成功上传。

3.验证表单是否提交成功。

通过

11

学生管理

1.验证学生录入功能。

2.验证学生违规清理功能。

通过

(三)系统合格性测试

集成测试后,所有的模块已经全部连接完毕,形成了一个完整的系统。合格性测试是在集成测试完毕后,进一步对系统进行综合性的检测。经过合格性测试,可以检查出系统是否符合系统的设计,能够完成需求的所有功能。本系统经过最后的测试,所有模块功能都能按预定要求工作。

(四)测试结果

在实际测试中,经过一系列系统性的测试,使我们能够及时发现一些系统在设计中出现的疏忽和漏洞。经过严密的测试,不仅发现了模块内部的错误,也查找到模块连接后产生的错误。经过测试,对系统产生错误的地方进行优化、修改和完善,使得系统能够实现最初设计的基本功能。


七、结论

本文分析了校园二手交易网站的特点和学生需求,采用Java技术、JavaWeb开发技术,以及MVC模式构建了一款校园二手交易网站。系统设计中,使用JSP标签库、JQuery和CSS技术进行前台(学生、商品、购物车、订单)和后台(学生管理、商品管理、订单管理)系统页面设计。注重数据安全和推荐商品模块设计,实施了学生的访问控制,确保了网站的完整、稳定和安全。系统特点包括简单大方、易操作的Web页面,采用Ajax技术实现无刷新更新,根据学生浏览和购物车向其推荐感兴趣的商品,提供商品搜索和评论功能,增强了系统的安全性、可扩展性和可靠性,确保了网站的持久生命力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值