基于JSP的校园互助配送快递平台的设计与实现{源码+报告+演示视频+调试}

本文主要是介绍基于JSP的校园互助配送快递平台的设计与实现{源码+报告+演示视频+调试},希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

近年来,高校校园网购发展迅速,成为我国电子商务中一股不可小觑的消费力量。然则,校园快递的配送却并非总尽如人意。如校内的快递营业网店繁多且偏远,取件环节存在很多问题,校内快递不能送货上门等。很多调查也发现,学生对校内快递的满意度并不高。对快递公司而言,校园配送的效率也偏低。校内的最后一段路也留下很大的麻烦。为解决这一问题,提出了通过学生互助配送快递,并建立校园互助配送快递平台来管理校内快递的配送。

本文详细说明了互助配送快递平台的开发过程,首先进行了系统的需求分析,网站和数据库的设计,最后介绍了网站的实现。本系统采用SSM框架和MySQL数据库进行开发实现。本系统实现了三大模块:管理员模块具备快递人员管理、物流订单管理、取件发件管理以及系统其他配置功能;用户模块具备发布代取件、送件信息管理、评价功能和查询订单功能等;快递模块具备物流订单管理功能和公告功能。

本系统参考顺风车模式实现学生互助配送快递平台,同学可以互助式收寄快递,有同学在平台上发布代收快递订单,别的同学看到该订单后可以签收订单代收快递、顺路送上门。即充分利用了社会资源,又提高了快递员的工作效率,可一定程度减少快递积压,具有较强的可操作性和应用价值。

关键词:校园快递;互助配送;共享经济;物流管理


Design and Implementation of Campus Mutual Help Delivery Express Platform Based on JSP

ABSTRACT

In recent years, online shopping online shopping in colleges and universities has developed rapidly and has become an indispensable consumer power in China's e-commerce. However, the delivery of campus express delivery is not always satisfactory. For example, the express delivery network store in the school is numerous and remote, and there are many problems in the pickup process. The school express delivery cannot be delivered to the door. Many surveys also found that students' satisfaction with intramural delivery is not high. For express delivery companies, the efficiency of campus distribution is also low. The last section of the school also left a lot of trouble. In order to solve this problem, it is proposed to distribute express delivery through student mutual assistance and establish a campus mutual aid delivery express platform to manage the delivery of intramural express delivery.

This paper describes in detail the development process of the campus express management website, first of all the system needs analysis, the design of the website and database, and finally the implementation of the website. The system is developed using SSM framework and MySQL database. The system implements three modules: the administrator module has the functions of courier management, logistics order management, pickup and delivery management, and other configuration functions of the system; the user module has the functions of publishing the retrieval, sending the information management, evaluating the function and querying the order. Etc.; the express module has logistics order management functions and announcement functions.

This system refers to the shuttle mode to realize the student mutual aid delivery express platform. Students can send and receive courier by mutual assistance. Some students post the express delivery order on the platform. Other students can sign the order and collect the courier after delivery. . That is to make full use of social resources, and improve the work efficiency of the courier, can reduce the backlog of express delivery to a certain extent, with strong operability and application value.

Keywords: campus express; mutual aid distribution; sharing economy; logistics management.

目  录

1 概述

1.1 课题背景

1.2 课题意义

1.3 课题现状及存在问题

1.4 本文的主要内容及组织结构

2 系统设计

2.1 业务分析

2.1.1 系统用户分析

2.1.2 系统业务分析

2.2 需求分析

2.3 系统设计

2.4 开发环境分析

2.5 E-R图设计

2.6 数据库设计

3 系统详细设计

3.1 对象设计

3.2 交互设计

3.3 流程设计

3.3.1 登录模块

3.3.2 订单管理模块

3.3.3 代取件模块

4 系统实现

4.1 环境搭建

4.2 用户登录模块

4.3 用户信息管理模块

4.4 快递订单信息管理模块

4.5 快递用户管理模块

4.6 代取件信息管理

4.7 公告管理模块

4.8 分页插件的使用

5 系统测试

5.1 测试目的

5.2 测试概述

5.3 功能测试

5.4 性能测试

5.5 测试结果

5.6 测试结果

结论

5.7 后续开发

5.8 总结

参考文献

6 附录

6.1 附录1

6.2 附录2

6.3 附录3

致 谢

  1. 概述
    1. 课题背景

进入二十一世纪以来,电子购物飞速发展的,网上零售市场增长迅猛,已经成为国民经济重要组成部分,去年我国内地高校包裹数约占全国总量的6%,直接带动7万个就业机会。大学生人均年收快递16个,全国2000多所高校人均网购1100元。高校消费特征主要体现在消费频率高,人均网购额度低于社会平均[1]。

然则,校园快递的配送却并非总尽如人意。如校内的快递营业网店繁多且偏远,取件环节存在很多问题,校内快递不能送货上门等。很多调查[2][3]也发现,学生对校内快递的满意度并不高。对快递公司而言,校园配送的效率也偏低。校内的最后一段路也留下很大的麻烦。

目前快递物流公司在校园中主要有三种模式,一种是建立如菜鸟驿站的校内营业网点,在校园中有合适的场地,作为营业地点,快递集中到营业网点后,向学生发信息,由学生自己去拿;一种是没有在校内设立营业网点,而是在校园门口或附近进行集散,要求学生在固定时间段前来取件,快递服务只能止步于校门口,将师生的快件堆在地上,等待取件人领取,这样的服务使得师生不得不从教室、宿舍、饭堂赶到校门口领快件,这无疑既增加了取件人的时间,又降低了派件人的工作效率,甚至造成二次配送[4]。

最后一种为购买人数较少的网站,如亚马逊的自营快递,则没有固定送货的时间段,虽然如亚马逊的自营快递,用户可以自由选择配送时间,但是学生依旧要走出校门才能拿到快递。

    1. 课题意义

本文详细说明了互助配送快递平台的开发过程,首先进行了系统的需求分析,网站和数据库的设计,最后介绍了网站的实现。本系统采用SSM框架和MySQL数据库进行开发实现。本系统实现了三大模块:管理员模块具备快递人员管理、物流订单管理、取件发件管理以及系统其他配置功能;用户模块具备发布代取件、送件信息管理、评价功能和查询订单功能等;快递模块具备物流订单管理功能和公告功能。

本系统参考顺风车模式实现学生互助配送快递平台,同学可以互助式收寄快递,有同学在平台上发布代收快递订单,别的同学看到该订单后可以签收订单代收快递、顺路送上门。即充分利用了社会资源,又提高了快递员的工作效率,可一定程度减少快递积压,具有较强的可操作性和应用价值。

    1. 课题现状及存在问题

(1)快递物流公司繁多,营业网点杂乱且偏远

以我校某学院为例,顺丰快递需要到南区快递点领取,“三通一达”的快递需要到北区快递点领取,邮政EMS则是在邮局领取,天猫、当当等需要出校领取,这造成了新生要很久才能了解快递的寄取地点,全校师生寄取快递,尤其是寄取重物时,非常不方便。

而且无固定营业网点的快递,由于快递数量众多,导致快递员在配送过程中需要将大量快件摆放在地上,导致快件受损,在雨雪天气中,问题尤为严重[5]。

(2)取件环节问题严重

由于校园快递量过大,用户过多,往往是由学生自己去寻找快件,快则几分钟,慢则可能达到几十分钟,取件后排队出库,自己取件需出示身份信息证明,而代取件一般只需要报出快递上的手机号,校外取件的天猫、当当等由于时间过于仓促,有时甚至无需验证信息可直接拿走快递,而快递上的手机号为明文标识,非常容易出现冒领、错拿现象。

(3)快递公司效率较低

由于学校快递相对封闭,快递员无法进入学校,除在校内有营业网点的公司外,其他快递公司往往是让学生在特定时间取件,而学生经常在上课或参加其他活动,经常出现快递配送失败,需多次配送的情况。

而高校校区一般在偏离市中心的近郊区域, 同样的快件在派送到校区代理点, 要比市中心区域的运输成本略高, 遇上师生不能及时取件的情况, 快件会被退回市中心的快递本部, 耗费更多的成本, 同时也给师生带来诸多不便[6]。

为解决以上校园快递存在的问题,本课题将研究基于SSM的校园互助配送快递平台,构建可靠的校园快递管理平台,统筹管理校园快递营业网点多且管理难、快递间数据共享能力弱以及缺乏自提能力的问题。

    1. 本文的主要内容及组织结构

本文详细说明了互助配送快递平台的开发过程,首先进行了系统的需求分析,网站和数据库的设计,最后介绍了网站的实现。本系统采用SSM框架和MySQL数据库进行开发实现。本系统实现了三大模块:管理员模块具备快递人员管理、物流订单管理、取件发件管理以及系统其他配置功能;用户模块具备发布代取件、送件信息管理、评价功能和查询订单功能等;快递模块具备物流订单管理功能和公告功能。

本文研究校园互助配送快递平台,将遵循软件系统的研究流程,分为七个章节,逐步展开各章节研究的内容,具体如下所示:

第一章为概述,主要介绍了论文选题的研究背景和意义,对校园快递当前的情况进行了分析,同时介绍了校园快递行业如今存在的缺点,确立研究的课题以及研究内容。

第二章为相关技术介绍,主要介绍了本课题涉及的相关技术。

第三章是系统设计,对该网站的需求分析与设计,包含了业务分析、需求分析、性能分析、开发环境和可行性分析等内容,完成系统的整体需求分析工作。另外,结合系统需求内容,对数据库和系统接口内容进行设计。

第四章是系统详细设计,立足于总体设计内容,展开详细系统设计工作,包括对象设计、交互设计以及流程设计内容。

第五章是系统实现,搭建系统开发环境,并结合系统设计内容,利用开发技术完成各功能模块的开发实现。

第六章是系统测试,遵循系统测试的规范,展开详细的功能测试和性能测试,完成系统测试工作。

第七章为总结和展望,展位了网站未来的发展和应用,并做了毕业设计的总结。

  1. 系统设计
    1. 业务分析 

校园互助配送快递平台构建是为了满足用户在校园快递物流管理的需求,为更有效合理地构建系统,需要结合用户深入分析各业务,从而完成系统功能建模,初步确定系统各功能内容。本节先对系统用户进行分析,然后结合用户通过用例图,完成业务功能建模。

      1. 系统用户分析

信息化系统存在不同的用户类型,不同的用户类型的权限不同,系统各功能需要站在用户角度进行分析,所以需要完成系统各用户类型及权限梳理,为后续功能建模做用户类型支撑。基于SSM架构的校园互助配送快递平台可分为四类角色,本节将大致分析各角色类型以及相关权限内容,详细如表所示:

表 21系统角色类型及权限明细表

序号

角色类型

角色说明

角色权限

备注

1

学生用户

本网站主要的使用对象和服务对象

浏览和查看快递公告、提交快件信息、查看订单信息等内容

2

快递用户

负责快递物流传输以及数据提交执行用户

执行快件出入库和配送,查看快递,创建以及处理快递订单

3

龙门镖局用户

负责对快递物流进行统筹整合的管理用户

对快递配送情况进行统筹管控,查看订单及配送情况

4

管理员用户

对系统进行系统级别的管理操作

对用户进行管理,发布编辑系统公告信息

最高权限

      1. 系统业务分析

校园互助配送快递平台系统需要深入了解各用户的应用场景,合理化梳理各用户在不同的业务场景下的需求内容,本节结合各用户类型梳理各业务,完成系统各用户功能建模。

(1)注册登录模块

校园快递物流网站面向的用户较多,尤其面向较大数量的学生用户,其实系统的重要的使用对象,而学生本身具有较高流动性,为更有效地提供相关快递物流信息化服务,本网站为学生用户提供注册功能,学生用户通过注册模块即可完成用户注册。而龙门镖局用户以及快递员用户相对固定,在系统运行过程中会涉及到订单处理内容,因此,不能进行注册,由系统用户进行添加管理。

登录功能则是信息化系统的基本功能模块之一,对用户进行鉴权,并实现用户信息关联以及用户操作关联,为用户提供信息化服务。

注册登录模块的用例图如下图所示:

图 21注册登录模块用例图

(2)用户信息管理模块

校园互助配送快递平台的用户数量较多,用户类型和权限不同,为方便学生用户使用,提升体验感,增加用户粘性,学生用户注册时不需要审核,但在实际的运行过程中,为更更有效对用户进行管控,需要对违反用户管理要求的用户或者冗余无效用户进行删除管理。另一方面,用户管理模块还可以协助用户进行密码重置等操作。

用户管理用户面向系统管理用户进行设计,实现本系统的用户的有效管控,其用例图如下图所示:

图 22用户管理模块用例图

(3)快递订单信息管理模块

订单是校园快递物流管理的基本载体,每个订单对应着一个快件,记录着每个快件的流转情况以及收发情况。订单管理是本系统网站的重要功能模块。

订单管理模块面向系统各用户设计,不同用户的在订单管理模块中处理的业务不同。学生用户在订单管理模块中进行订单查询、订单下单创建等操作,而快递员用户则可以进行订单查询、订单处理、订单创建操作,龙门镖局用户则可以进行订单查询操作,系统管理用户可进行订单查询操作。

订单管理模块用例图如下图所示:

图 23订单管理模块用例图

(4)代取件信息管理模块

针对校园快递物流中,存在代取件的情况,本校园互助配送快递平台系统为用户创建代取件模块,支撑代取件信息化管控需求。学生用户可进行代取件管理操作,包括送货管理、代取件信息管理、代取件信息添加以及代取件在线接单等操作。代取件的用户范围较广,为了进一步提升代取件的服务效率和服务质量,代取件还为用户提供评价的功能,用户可以对代取件的用户进行评价,完成对代取件服务评价闭环。代取件信息管理模块面向学生用户进行设计,代取件模块用例图如下图所示:

图 24代取件模块用例图

(5)快递用户管理模块

快递用户在本系统应用中占据重要地位,其使用频次较高,角色和用户相对稳定,在现实的快递物流管理过程中,直接接触到大量的快递物流内容,为确保快递用户的信息真实可靠,实现快递用户有效管控,快递用户信息由系统管理用户进行添加以及编辑。

快递用户管理针对系统管理用户进行设计,实现对快递用户管控,快递用户管理模块的用例图如下图所示:

图 25快递用户管理模块用例图

(6)公告管理模块

为了更高效通知系统内各用户重要信息,校园快递物流网站需要构建起相关公告管理平台,及时推送重要的公告消息。公告消息涵盖了重要的快递变动情况、快递异常情况以及重要公告内容。

公告管理模块主要针对系统管理用户进行公告信息发布,包括公告编辑、公告查询,而其他用户可进行公告浏览。

公告管理模块用例图如下图所示:

图 26公告管理模块用例图

(7)龙门镖局信息管理模块

龙门镖局与快递用户存在着一定差异,龙门镖局是校园内的专属快递配送机构,接收学生用户订单及配送。在详细的信息管理内容上存在着不同,为了有效区分,构建龙门镖局信息管理模块,专门进行相关信息管理。

龙门镖局信息管理模块用例图如下图所示:

图 27龙门镖局信息管理模块用例图

(8)龙门镖局代取件管理模块

龙门镖局作为校园专门的配送机构,负责接收和处理用户配送请求以及代收取件请求,其自身具有一定专业性,在代取件场景下发挥更重要的作用。在龙门镖局代取件管理模块中,龙门镖局用户可进行代取件送货管理以及我的代取件信息管理两部分内容,本模块针对龙门镖局用户进行设计,其模块用例图如下图所示:

图 28龙门镖局代取件管理模块用例图

(9)反馈管理模块

校园互助配送快递平台系统运行过程中,可能存在一些关于系统运行情况以及快递流转情况的疑问,作为最高权限的管理用户可对全局运行拥有更深的了解。为了提高系统内各用户的使用感知,本系统构建反馈管理功能模块,构建起用户与系统管理用户沟通反馈的桥梁。用户可通过本模块进行信息反馈,而管理用户则可通过本模块进行回复。

反馈管理模块的用例图如下图所示:

图 29反馈管理模块的用例图

(10)管理员用户管理模块

管理员用户同样存在着相关用户管理的需求,在此不展开赘述,系统管理用户模块用例图如图2-10所示:

图 210系统管理用户模块用例图

    1. 需求分析

管理员

1用户,管理员,快递员管理。

1.1查看:分页查看所有信息

1.2基本操作:涉及信息的增,删,改等基本操作

1.3查询:根据ID搜索。

2订单,代取件订单管理

1.1查看:分页查看所有信息

1.2基本操作:增,删,改等基本操作

1.3查询:根据ID搜索订单

3公告信息管理

3.1查看公告:分页查看所有公告

3.2发布公告:发布新的公告,所有人可见

4反馈管理

3.1查看反馈:分页查看所有反馈信息

快递员

1创建订单:创建新入库的订单,用户可见

2基本操作:涉及订单的删、改等基本操作

3查看公告:查看公告的详细信息

龙门镖局

1 查看订单:分页查看所有订单信息

2 配送订单:点击配送按钮,完成配送

3查看公告:查看公告的详细信息

用户

1  代取件订单

1.1查看信息:分页查看自己的代取件订单。

1.2发布代取件订单:创建新的代取件订单

1.3接单:接取他人发布的代取件

1.4打分:对完成的代取件订单进行打分,评分过低

1.5评价:对完成的代取件订单进行评价

2其他

2.1查看订单:分页查看自己的代取件订单。

2.2查看公告:查看公告的详细信息

2.3发布反馈:发布仅有管理员可见的反馈

    1. 系统设计

校园物流网站主要是针对校园快递最后一公里的配送问题研发的,实现了取件快速认证身份,校内快递送货上门快速下单等,方便学生取快递的过程。

本系统的用户类型较多,不同用户的功能操作业务不同,为了提升用户体验,在用户访问时,通过CAS权限控制技术,实现不同用户访问的不同的用户界面,避免用户超越权限访问内容,减少用户误操作。因此,本系统将分为三个用户界面,分别为管理员模块界面,快递模块界面和用户模块界面。管理员可以对其他用户和订单进行管理。管理员和用户可以进行登录后并使用网站。

功能模块结构图如图所示。

图 211模块结构图

    1. 开发环境分析

数据库:MySQL

服务器:Tomcat6.0

开发软件:MyEclipse8.6

Jdk:Java1.6

    1. E-R图设计

在该系统中,管理员管理快递员与用户,发布公告。快递员配送订单后,用户接受订单后可以发布代取件订单,一个用户可以发布或接取多个订单。具体E-R图如下图所示。

图 212 E-R图 

上面的E-R图中,1:1和1:n代表了数据库表之间1对1和1对多的关系。展示了管理员可以对各个用户进行管理,快递员可以配送订单,用户收到订单后可以发布代取件订单也可以进行向龙门镖局下单。管理员可以发布公告,而用户可以发布反馈。

    1. 数据库设计

根据系统需求和各模块功能设计,在数据库设计中,设计了张数据表,分别为权限系统8张,分别为管理员、快递员、用户和龙门镖局。设计订单、代取件订单表和龙门镖局订单各1张,以及公告表、反馈表各1张。由于该互助配送快递平台后续还会有更多功能和模块,因此在表的设计中还需要保证它的可扩展性。

数据库的E-R图设计后,就可以将上面的数据库概念转化为实际数据模型,及数据库的逻辑结构。

数据库实体属性和字段属性如下图所示。

(1)管理员表存放管理员信息,如下表所示。

表 22管理员表

名称

类型

长度

是否允许空

是否主键

id

int

11

username

varchar

50

userpwd

varchar

50

identity

varchar

50

(2)快递员表存放各站点的工作人员信息,如下表所示。

表 23快递员表

名称

类型

长度

是否允许空

是否主键

id

int

11

loginname

varchar

50

pwd

varchar

50

realname

varchar

50

address

varchar

50

sex

varchar

50

tel

varchar

50

age

int

11

zhiwei

varchar

50

xueli

varchar

50

bumen

varchar

50

status

varchar

50

(3)用户表存放使用该网站系统的用户信息,如下表所示。

表 24用户表

名称

类型

长度

是否允许空

是否主键

id

int

11

loginname

varchar

50

pwd

varchar

50

realname

varchar

50

address

varchar

50

sex

varchar

50

tel

varchar

50

age

int

11

(4)代取件订单表存放代取件订单信息,如下表所示。

表 25代取件订单表

名称

类型

长度

是否允许空

是否主键

id

int

11

orderno

varchar

50

content

varchar

500

userid

int

11

content

varchar

500

username

varchar

50

userphone

varchar

50

shijian

varchar

50

status

int

11

yname

varchar

50

yphone

varchar

50

yid

int

11

pingjia

varchar

50

pingjia2

varchar

50

pingfen

int

11

pingfen

int

11

(5)公告表存放公告内容标题等信息,如下表所示。

表3- 1公告表

名称

类型

长度

是否允许空

是否主键

id

int

11

biaoti

varchar

255

neirong

varchar

8000

shijian

varchar

50

type

int

11

(6)快递订单表存放用户收到的订单信息,如下表所示。

表 26快递订单表

名称

类型

长度

是否允许空

是否主键

id

int

11

orderno

varchar

50

userid

int

11

content

varchar

500

username

varchar

50

userphone

varchar

50

shijian

varchar

50

status

int

11

(7)反馈表用来存放用户发布的反馈信息,如下表所示。

表 27反馈表

名称

类型

长度

是否允许空

是否主键

id

int

11

biaoti

varchar

255

neirong

varchar

8000

shijian

varchar

50

userid

int

11

(8)龙门镖局表用来存放龙门镖局工作人员的信息,如下表所示。

表 28龙门镖局表

名称

类型

长度

是否允许空

是否主键

id

int

11

loginname

varchar

50

pwd

varchar

50

tel

varchar

50

zhiwei

varchar

50

status

varchar

50

  1. 系统详细设计
    1. 对象设计

系统进行详细设计时,需要结合各功能模块内容,进行相关类设计,包括了控制类、接口类和实体类等内容。本系统的整体类图如下图4-1所示:

图 31校园快递物流管理系统整体类图

本系统模块设计了管理员管理AdminUserAddit、学生用户信息管理StudentUserAddit、龙门镖局信息管理LongmenEscortUserAddit和快递用户管理CourierUserAddit四个针对不同用户的管理模块,在实际类设计上,通过继承成员编辑类,实现对相关用户管理类的快速设计和实现,而不同的用户编辑类由于用户的编辑的内容不同,有相应的私有类支撑相关编辑,用户基本信息数据由用户数据实体类UserMessage进行保存,在完成用户编辑后,通过用户数据库的数据接口UserDatabaseInterface,实现对用户数据编辑后的数据进行更新同步。

系统整体的控制由主控制类CampusExpressmain实现对系统各功能模块控制,其检测用户输入的操作指令以及数据,调用及触发各功能模块,实现其功能的调用实现。公告管理类由NoticeCotrol进行控制,与公告实体类以及公告编辑接口,共同完成对系统公告的处理。在此各类就不一一展开论述。

    1. 交互设计

用户登录,涉及到界面和数据库操作。用户登录时需到数据库中进行匹配,成功则可以进入网站页面。

用户登录时序图如下图所示。

图 32用户登录时序图

用户发布代取件订单时序图。用户代取件列表,页面会自动加载出用户已发布的代取件订单。用户可以搜索自己的代取件订单,如果尚未发布,可以点击添加,进入代取件页面,填写完成后,出现新的代取件订单信息。用户发布代取件订单时序图如图4.3所示。

图 33用户查看代取件订单时序图

快递员添加订单后,用户可以看到自己的订单。用户取件后,快递员和用户都可以看到订单状态变为已取件。取件时序图如下图所示。

图 34订单查看时序图

用户发布订单后,其他用户可以查看并接单,接单后该订单变成已接单状态。发布订单的用户做收货评价后,另一方也可评价。接单时序图如下图所示。

图 35接单时序图

    1. 流程设计
      1. 登录模块

由于该系统为互助配送快递平台,为保证系统的安全性,用户需登录后方可进行操作。未注册用户需进行注册,用户的登陆流程图如下图所示。

用户时需选择用户身份,如未注册则需注册后则登录,用户登录后可以进行代取件、订单模块的操作。

图 36用户登陆流程图

管理员无需且不能注册,只能由其他管理员添加。管理员需对用户进行管理,添加快递员以及其他管理员,并发布公告。其登录流程图如下图所示。

图 37管理员登录流程图

      1. 订单管理模块

各校园快递站点需要对订单进行管理,需要检查订单并与实际比对。

快递员配送快递到站点后,站点收到快递,确认订单后,快递入库以方便取件,然后创建并发布订单。如果在发现订单出现问题,可以对订单进行修改。同时会向用户发送信息通知。用户可以登录查看自己的订单,并前去取件。在每晚工作结束后,会再次检查所有的订单,尤其是未完成的订单,对需要调整编号及描述的订单进行调整。

其管理流程图如下图所示。

图 38站点管理流程图

      1. 代取件模块

由于校园快递中快递员不可以送货上门,所以所有快递都会先配送至校园取件点,再由学生前去取件。取件点如菜鸟驿站等接受快递,编号入库,并在快递架上归置整齐。学生收到快递信息后前去取件点验证身份后收取快递并确认收货。进行评价后流程结束。流程图如下图所示。

图 39普通用户取件流程图

代取件用户前往菜鸟驿站取件的流程同上图,完整代取件流程如图4-10所示。

图 310用户代取件流程图

  1. 系统实现
    1. 环境搭建

搭建基于SSM的互助配送快递平台首先需要搭建SSM环境。Spring MVC 用于 Web 层,相当于 Controller,处理请求并作出响应;MyBatis 作为持久层的框架,可以自由的控制 SQL,更加简捷地完成数据库操作;Spring 的依赖注入可以减少代码的耦合,可以装配 Bean,另外其 AOP、事务管理尤其方便,同时,Spring 可以将各层进行整合。SSM框架相比于SSH更轻量灵活,也更符合敏捷开发的需求。[13]

在设计并建立数据库后,首先建立了所需的包并导入了项目所用的jar包。框架结构图如下图所示。

图 41项目结构图

首先需要下载相应的jar包,除了这三大框架所需的jar包外,还需要一些框架中jar包依赖的jar包,以及一些插件所需要的jar包。

在com.gssm.entity中建立了所需的实体类,并自建get和set方法,以及构造方法。接下来配置mybatis文件。

Mybatis的XML映射文件在com.gssm.sqlmap包中,以UserMapper.xml为例,其中的

<!--

 1.方法描述:删除数据

 2.参数:主键id

-->

<delete id="delete" parameterType="java.lang.String">

 delete from t_user where id=#{id}

</delete>

这个语句被称为delete,接受一个java.lang.String类型的参数,无返回值。MyBatis的强大特性之一便是动态MySQL,在UserMapper中同样提供了可以根据不同条件搜索的语句,这使得管理员通过不同关键字来搜索用户。

<!-- 查询时条件 -->

<sql id="User_where">

         <if test="id != null" >

         and id =  #{id}

         </if>

         <if test="loginname != null" >

         and loginname =  #{loginname}

         </if>

         <if test="pwd != null" >

         and pwd =  #{pwd}

         </if>

         <if test="realname != null" >

         and realname =  #{realname}

         </if>

……

</sql>

在mybatis配置文件中,指定了com.gssm.Entity的别名。且为了方便, 使用了PageHelper插件,并在mybatis-config.xml中进行配置。

接下来进行spring的配置。

<!-- 自动扫描 -->  

    <context:component-scan base-package="com.gssm.dao" />  

    <context:property-placeholder location="classpath:jdbc.properties"/>

配置数据库链接核心代码如附录1所示,数据库的名字是db_ssmwuliumm_g。

进行Spring和Mybatis的整合。配置SqlSessionFactory的代码如下。

<!-- 创建SqlSessionFactory,同时指定数据源 -->

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <property name="dataSource" ref="dataSource" />

</bean>

日志文件

log4j.properties

# Direct log messages to console

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.Target=System.out

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Root logger option

log4j.rootLogger=debug,console

下面整合SpringMVC。

<context:component-scan base-package="com.gssm.controller" />

在xml中配置后,spring可以自动去扫扫描base-package指定下的有@Controller下的java类,并注册成bean。

开启了SpringMVC的注解模式。

<!-- 扩充了注解驱动,可以将请求参数绑定到控制器参数 -->

<mvc:annotation-driven/>

加入对静态资源的处理。

 <!-- 当在web.xml 中   DispatcherServlet使用 <url-pattern>/</url-pattern> 映射时,能映射静态资源 -->

    <mvc:default-servlet-han

这篇关于基于JSP的校园互助配送快递平台的设计与实现{源码+报告+演示视频+调试}的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/814822

相关文章

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主