0001Java程序设计-SSM校园快递系统的设计与实现

发布时间 2023-09-08 10:44:12作者: 花-花

摘 要

21世纪之后,全球信息化逐渐加快,尤其表现在近几年来电商行业的飞速发展,人们足不出户就可以买到自己想要的商品,尤其是青年大学生,追求新颖,更加乐忠于网络购物。网络购物的增加,就导致物流快递的激增。学校作为大学生生活的主要场所,每天接受到的快递成百上千,在加上学生封闭集中式管理制度的局限性使的学生如何快速高效的领取快递成了一件急需解决的事情。

本系统主要为了解决校园快递领取问题,使的校园快递管理规范化而设计的。研究主要从学生和管理员两个方面来开展,采用B/S架构。功能主要有:人员管理、快递管理、私信管理、好友管理、快递签收等几个模块。希望通过信息化的手段来推动校园快递管理高效有序的进行。

目前校园快递管理这一方面发展还比较缓慢,很多学校甚至还没有开始起步,但是我们相信,随着网络信息化的深入发展,建立起一套高效的校园快递管理系统一定是大势所趋。

关键字****:校园快递;B/S架构;网络信息化

目录

第一章 前言........................................................ 4

1.1 系统开发背景和意义......................................... 4

1.2 国内外研究现状............................................. 4

1.3 系统开发的任务............................................. 4

第二章 系统分析.................................................... 5

2.1 可行性分析................................................. 5

2.1.1 市场可行性........................................... 5

2.1.2 经济可行性........................................... 5

2.1.3 技术可行性........................................... 5

2.2 需求分析................................................... 5

2.3 系统架构层次分析........................................... 6

第三章 数据库设计.................................................. 8

3.1 数据库分析................................................. 8

3.2 数据库概念设计............................................. 8

3.3 数据库逻辑结构设计........................................ 12

第四章 系统详细设计............................................... 14

4.1 系统整体功能设计.......................................... 14

4.2 系统用例关系图............................................ 15

4.3 系统各模块详细设计........................................ 16

4.3.1 登录模块设计........................................ 16

4.3.2人员管理模块设计..................................... 17

4.3.3 快递管理模块设计.................................... 18

4.3.4 好友模块设计........................................ 20

4.3.5 私信模块设计........................................ 21

4.3.6 快递签收模块设计.................................... 21

第五章 系统实现................................................... 23

5.1 系统登录实现.............................................. 23

5.2 人员管理实现.............................................. 24

5.3 快递管理实现.............................................. 25

5.4 好友模块实现.............................................. 27

5.5 私信模块实现.............................................. 29

5.6 快递签收实现.............................................. 32

第六章 系统测试................................................... 34

第七章 总结与展望................................................. 37

参考文献.......................................................... 38

系统实现

系统登录实现

img

private void login() throws ServletException, IOException {
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String code = (String) session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
		String reqCode = request.getParameter("checkcode");
		if (reqCode == null || !reqCode.equalsIgnoreCase(code)) {
			session.setAttribute("loginErrorMessage", "验证码错误");
			response.sendRedirect("index.jsp");
			return;
		}

		User user = null;
		try {
			password = LsdUtils.getMd5String(password);
			user = dao.findUser(username, password);
		} catch (Exception e) {
			e.printStackTrace();
		}
		if (user != null) {
			session.setAttribute("SessionUser", user);
			response.sendRedirect("main.jsp");
			return;
		} else {
			session.setAttribute("loginErrorMessage", "用户名或者密码错误");
			response.sendRedirect("index.jsp");
			return;
		}
	}

人员管理实现

img

用户点击保存人员信息后,前台先对人员信息作校验,校验通过后,在调用服务器端代码保存数据到用户信息表。

人员添加保存核心代码如下:

@SuppressWarnings({ "unchecked", "rawtypes" })

   **private** **void** userAdd() **throws** ServletException, IOException {

​       Map map = **new** HashMap();

​       **try** {

​           map.put("loginId", request.getParameter("loginId"));

​           map.put("password", LsdUtils.*getMd5String*(request.getParameter("password")));

​           map.put("name", request.getParameter("name"));

​           map.put("userRole", request.getParameter("userRole"));

​           dao.save(User.**class**, map);

​           MessageUtil.*addMessage*(request, "成功");

​           f("/success.jsp");

​           **return**;

​       } **catch** (Exception e) {

​           e.printStackTrace();

​           MessageUtil.*addMessage*(request, "操作失败,账号重复");

​           f("/error.jsp");

​           **return**;

​       }

   }

快递管理实现

快递管理主要包括快递的添加、删除、修改等功能。

img

快递添加时,前台会先对快递信息进行非空等合法性校验,校验通过的话,在由后台对快递单号进行唯一性校验,校验通过,数据入库。

快递信息保存核心代码如下所示:

@SuppressWarnings({ "unchecked", "rawtypes" })

   **private** **void** expressAdd() **throws** ServletException, IOException {

​       Map map = **new** HashMap();

​       **try** {

​           map.put("phone", request.getParameter("phone"));

​           map.put("name", request.getParameter("name"));

​           map.put("area", request.getParameter("area"));

​           map.put("sid", request.getParameter("sid"));

​           map.put("status", "未签收");

 

​           Express e = (Express) hdao.unique("from Express where sid=?", map.get("sid"));

​           **if** (e != **null**) {

​               MessageUtil.*addMessage*(request, "操作失败,快递单号重复");

​               f("/error.jsp");

​               **return**;

​           }

 

​           dao.save(Express.**class**, map);

​           MessageUtil.*addMessage*(request, "成功");

​           f("/success.jsp");

​           **return**;

​       } **catch** (Exception e) {

​           e.printStackTrace();

​           MessageUtil.*addMessage*(request, "操作失败");

​           f("/error.jsp");

​           **return**;

​       }

​    }

好友模块实现

img

私信模块

img

快递签收

img

总结与展望

本系统采用B/S架构,MVC的设计模块,包含学生和管理员连个角色,主要功能有人员管理、快递管理、私信收发、我的好友、快递签收等模块。主要是为了满足校园快递管理的需要。之所以选择Java作为开发语言,主要是因为Java具有跨平台的特性,程序可移植性比较强。校园快递管理系统经过本人一个多月的开发和调试,现在程序所有功能基本可以正常运行。但是不排除还存在一些潜在的问题,这需要我们在后续的实践中去检验并且完善。

由于本人能力有限,系统有些方面考虑的不是很全面,比如用户在没有得到好友的允许的情况下也可以签收好友的快递。这些方面的欠缺都可以在后续的工作中去改善。在这次设计中,我学到了很多东西,从最开始的百度搜索资料,再到后面的实际开发遇到了很多的问题并最终解决了,提高了自己的动手能力。

最后感谢指导老师以及同学们的帮助。

开发环境:

开发工具:idea、Navicat

数据库:MySQL8.0

环境配置:jdk1.8 、Tomcat8.5

开发人员:IT012201