基于JavaWeb的二手交易平台的设计与安全分析

摘 要

随着信息互联网技术的飞速发展,网络互联已经成为社会各行各业的重要变革力量,它具有信息传输速度快、信息覆盖面广且成本低等特点。因此,利用网络来进行电子商务活动已经成为这个经济信息互联时代中的典范。随着二手交易市场的扩大,二手交易平台已经成为了商家和消费者之间进行二手交易的重要媒介,同时也带来了很多问题。

本文设计了一款基于spring
boot框架的二手交易平台管理系统。该系统采用MySQL数据库作为存储介质,以方便数据的管理。同时,系统还针对用户和管理员两大角色进行设计,其中用户可进行个人中心、求购商品管理和二手商品管理等操作;而管理员则可进行个人中心、用户管理、订单管理、系统管理和二手商品管理等方面的功能操作。值得一提的是,该软件不仅操作简单易用,还拥有良好的界面设计以及安全性能,为用户带来优质的使用体验。

关键词: 二手交易平台 网站设计 ;springboot;Java

1.4研究内容

(1)本文就二手交易平台管理系统的实现方案,根据总体的软件研发过程进行了初步调查和研究,以决定该软件是否能够正常实现,技术是否可行,以及系统各功能组件的设计与开发,最终选定所采用的技术及实现方案。

(2)框架是一种由编程人员所提供的一组函数,它可以帮助开发者迅速建立起一个软件体系结构和重用能力,这个平台采用了一个开放源码的框架,可以让开发者更快地建立起一个基础的开发框架,从而降低了开发的困难,提高了网站的安全性和可靠性,并且可以协助开发者进行系统的开发和数据的分析。

(3)管理员对二手交易平台管理系统资料的运作与管理,不但要有架构规格的限制,还要有特定的基本准则。

3.2系统需求分析

需求分析在系统开发中有着十分重要的作用[1]。软件需求工程是一门分析并记录软件需求的学科[3]。有了前期详尽的需求分析,可以有效的提升开发效率,使开发周期大幅缩短。同时有效的需求分析也是软件开发质量的保证。因此需求分析这一步骤是必不可少的。需求分析简单的来说就是用户需要什么,系统需要什么,对此进行问题的列举,等级的排列,需要缜密的心思分析和大量的调研[4]。

二手交易平台管理系统在国内有很多值得借鉴的例子,功能也都趋于完善,因此此次二手交易平台管理系统将轻量化开发,要完成以下功能:

  1. 用户端:该端具备登录、登记和修改等操作功能。用户登录后,可访问首页、二手商品管理、求购商品管理、订单管理和个人信息等页面。

(2)
后端管理:管理员可通过单独的登录模块,访问后台管理页面对系统进行管理。系统管理员可对二手物品、用户等相关信息进行管理,包括增加和删除旧货、求购等功能。

3.3 系统用例分析

二手交易平台管理系统综合网络空间开发设计要求。目的是将二手交易平台管理系统将传统管理方式转换为在网上管理,完成计算机类商品学习管理的方便快捷、安全性高、交易规范做了保障,目标明确。二手交易平台管理系统可以将功能划分为管理员功能和用户功能。主要用例如下:

图3.1 系统用例图

用例描述:

(1)注册用例

用户进行系统注册,申请系统使用权限。注册用例描述如表3.1所示。

表3.1 注册用例

用例标识

|

1

—|—

用例名称

|

用户进行系统注册,申请系统使用权限

参与者

|

普通用户或管理员

前置条件

|

新用户

用例概述

|

用户可以在系统中获取用户相关信息

基本事件流

|

  1. 用户在登录页面点击注册用户
  2. 输入用户名等信息
  3. 点击注册
  4. 注册成功
  5. 登录

备选事件流

|

备注

|

(2)二手商品管理

普通用户可以通过二手商品管理。二手商品管理用例描述如表3.2所示。

表3.2 二手商品管理用例

用例标识

|

2

—|—

用例名称

|

二手商品管理

参与者

|

普通用户或管理员

前置条件

|

已经以普通用户或管理员身份登录

用例概述

|

用户可以在系统中查看二手商品相关信息

基本事件流

|

  1. 用户在登录页面成功登录账号
  2. 用户点击二手商品

备选事件流

|

备注

|

(3)个人中心用例

用户可以通过系统更改自己的相关信息。个人中心用例图如图如图3.2所示。

图3.2 修改个人信息用例图

个人中心用例描述如表3.3所示。

表3.3 个人中心用例

用例标识

|

3

—|—

用例名称

|

查看通知消息

参与者

|

普通用户或管理员

前置条件

|

已经以普通用户或管理员身份登录

用例概述

|

用户可以通过平台更改自己的登录密码

基本事件流

|

  1. 用户在登录页面成功登录账号
  2. 用户点击个人中心
  3. 成功显示个人中心页面
  4. 用户点击修改密码按钮
  5. 显示修改密码页面
  6. 用户输入原密码和新密码
  7. 用户点击提交按钮
  8. 系统提示修改成功

备注事件流

|

备注

|

备注事件流

|

备注

|

(4)用户管理用例

用户管理用例描述如表3.4所示。

表3.4 用户管理用例

用例标识

|

4

—|—

用例名称

|

用户管理

参与者

|

管理员

前置条件

|

管理员身份登录

用例概述

|

管理员通过系统管理用户

基本事件流

|

  1. 管理员在登录页面成功登录账号
  2. 管理员点击用户管理
  3. 成功显示用户列表页面
  4. 管理员点击修改按钮
  5. 修改用户
  6. 管理员点击提交按钮
  7. 系统提示修改成功

备注事件流

|

  1. 管理员点击删除按钮
  2. 管理员点击确定
  3. 系统提示删除成功

备注

|

(5)管理信息用例

管理员可以管理全部信息。管理用例描述如表3.5所示。

表3.5 管理用例

用例标识

|

5

—|—

用例名称

|

管理

参与者

|

管理员

前置条件

|

已经以管理员身份登录

用例概述

|

管理员可以在系统管理全部信息

基本事件流

|

  1. 管理员在登录页面成功登录
  2. 管理员可以点击任何项目进行查询、新增、修改、删除

备注事件流

|

备注

|

(6)订单管理

普通用户可以通过订单管理。订单管理用例描述如表3.6所示。

表3.6 订单管理用例

用例标识

|

6

—|—

用例名称

|

订单管理

参与者

|

普通用户或管理员

前置条件

|

已经以普通用户或管理员身份登录

用例概述

|

用户可以在系统中查看订单相关信息

基本事件流

|

  1. 用户在登录页面成功登录账号
  2. 用户点击订单

备选事件流

|

备注

|

本系统主要是为二手交易平台管理系统管理者提供高效的信息管理服务。主要功能模块分为:二手商品管理、商品类型管理、求购商品管理、订单管理等。管理员通过系统系统去访问服务器和程序。
系统总体功能如下图所示:

图 4.1 系统总体功能图

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E.R图可以清楚地描述系统涉及到的实体之间的相互关系。ER图如图4.2所示。

图4.2 系统E-R图

5.2系统登录实现

无论是系统中的管理者,还是一般的用户,都必须要以帐号和密码为基础,才能在登陆过程中进行登陆操作;如图5.2所示。

图5.2 系统登录界面

5.3管理员模块实现

管理员进入主页面,主要功能包括对个人中心、用户管理、商品类型管理、商品类型、二手商品管理、求购商品管理、系统管理、订单管理等进行操作。管理员主页面如图5.3所示:

图5.3 管理员主界面

管理员点击用户管理。在用户页面输入账号、姓名是否通过进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5.4所示:

图5.4 用户管理界面

核心代码:

@RequestMapping(“/session”)

public R getCurrUser(HttpServletRequest request){

Long id = (Long)request.getSession().getAttribute(“userId”);

YonghuEntity user = yonghuService.selectById(id);

return R.ok().put(“data”, user);

/**

  • 后端列表

*/

@RequestMapping(“/page”)

public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,

HttpServletRequest request){

EntityWrapper ew = new EntityWrapper();

PageUtils page = yonghuService.queryPage(params,
MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

return R.ok().put(“data”, page);

}

/**

  • 前端列表

*/

@IgnoreAuth

@RequestMapping(“/list”)

public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu,

HttpServletRequest request){

EntityWrapper ew = new EntityWrapper();

PageUtils page = yonghuService.queryPage(params,
MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

return R.ok().put(“data”, page);

}

管理员点击订单管理。在订单页面输入标题和简介进行查询、新增或删除订单列表,并根据需要对订单详情信息进行详情、修改或删除操作;如图5.5所示:

图5.5 订单管理界面

参考文献

[1] 周国军,张茂胜,冯震.Java EE 应用开发课程教学改革研究[J].电脑知识与技术,2019,15(7):116-118.

[2] 朱雪琴,常建功.Java Web 项目开发案例导航[M].北京:电子工业出版社,2018.

[3] 罗国庆, 陈良萍. 网站建设案例分析[M]. 北京: 电子工业出版社,2018.

[4] 张玲玲.深入体验Java Web 项目开发[M].北京:清华大学出版社,2018.

[5] (美)惠滕, 本特利.系统分析与设计方法[M].北京:机械工业出版社,2017.

[6] 刘光然.基于 J2EE 结构的宠物管理系统[J].天津师范大学学报,2018, 25(1):88-89.

[7] 王越.JAVA 编程语言在计算机软件开发中的应用[J].电子技术工程,2019(01):35.

[8] 赵恒.Java Web 应用程序安全技术[J]. 电子技术与软件工程,2019(04):194.

[9] 倪海顺.计算机软件开发的 Java 编程语言应用探讨[J].信息与电脑(理论版),2019(02):60-61.

[10] 代飞, 艾迪. Web 前端开发项目案例教程[M], 北京理工大学出版社, 2020.08.

[11] 陈漫红. 数据库原理与应用教程 SQL Server 2012[M]. 北京理工大学出版社, 2021.01.

[12] 周继松, 陈伟. Java 面向对象程序设计[M]. 重庆大学电子音像出版社, 2020.08.

[13] 曾尧. 基于模型的 JavaScript Web 应用的自动化测试研究[D]. 上海:华东师范大学,2018.

[14] 李燕.JAVA 编程语言在计算机软件开发中的应用[J].计算机产品与流通,2020(06):13+27.

[15] Issue Information: European Financial Management 2/2022[J]. European
Financial Management, 2022, 28(2) : 325-325.

[16] Lai Maotao and Ning Xin. Smart Financial Management System Based on Data
Ming and Man-Machine Management[J]. Wireless Communications and Mobile
Computing, 2022, 2022.

目 录

摘 要

Abstract

第1章 绪 论

1.1课题背景

1.2 国内外相关研究

1.3课题研究目的

1.4研究内容

1.5论文结构

第2章 开发环境及技术介绍

2.1 开发环境

2.2 Java介绍

2.3 MySQL数据库

2.4 Spring Boot框架

2.5 B/S架构

2.6 IDEA开发环境

2.7 本章小结

第3章 需求分析

3.1系统的可行性分析

3.1.1经济可行性分析

3.1.3社会影响分析

3.1.5操作可行性分析

3.1.6安全性分析

3.2系统需求分析

3.3 系统用例分析

3.4系统流程设计

3.4.1 用户登录流程

3.4.2 系统操作流程

3.5非功能需求

3.6本章小结

第4章 系统总体设计

4.1系统功能结构设计图

4.2 数据库设计

4.2.1 数据库概念设计

4.2.2 数据库逻辑设计

4.3本章小结

第5章 系统实现

5.1用户注册模块

5.2系统登录实现

5.3管理员模块实现

5.4本章小结

第6章 系统测试

6.1软件测试的定义

6.2测试方法

6.3测试过程

6.4测试结果

6.5本章小结

结 论

参考文献

致谢

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值