java基于ssm+jsp的高校失物招领系统 (代码+数据库+LW+调试)

随着我国教育制度的不断改革,高校的人数也越来越多,如此多的人难免会有物品丢失的事情发展,尤其是在高校这种学习高度紧张的环境下。通常的校园失物招领都是通过张贴广告等当时进行的,这明显和当下大学生的要求不符,为了能够更加方便的对失物招领进行管理,我们开发了基于微信小程序的失物招领管理系统的设计与实现。
本高校失物招领管理平台是根据实际情况开发的,高校失物招领管理平台使用SSM框架,Java语言和MySQL数据库来进行开发,通过本系统可以让失物招领管理变的更加的方便快捷。
请添加图片描述
随着我国教育的不断改革,大学生的数量也在不断的增加,如此多的学生在快节奏的学习和生活已经工作中难免会有一些物品丢失等情况的发生。传统的招领一般有2中模式,一种是丢失物品的人打印或者手写一些失物招领信息张贴在教学楼宿舍门口一方面找回丢失的物品,这种模式一方面会造成环境的污染,另一方面因为大家的学习都非常的紧张,很可能没有时间去看看,尤其是这些广告张贴的多了以后大家更会有一种麻木的心态;另外一种模式就是通过校园广播的方式进行播报,这种模式也有它的缺点,一方面校园广播是在中午或者晚上没有课程的时候进行播放,这有一定的滞后性,另一方面也会影响大家的休息。随着时代的发展尤其是移动设备的迅速普及的情况下开发一套高校失物招领管理平台是非常完美的一个解决失物招领的方案[1]。请添加图片描述
环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui
请添加图片描述
随着我国今年来信息化技术的发展,很多领域都拥有了属于自己行业的专用系统。这也为高校失物招领管理平台的诞生奠定了很好的信息基础。通过计算机来对失物招领管理,一方面当用户拾取到了某些物品之后可以在小程序端对这些物品进行上传,并留下自己的联系方式。另一方面当丢失物品的主人想要寻找自己的物品的时候可以直接通过搜索和分类等方式快速的找到自己的物品。这和传统的张贴广告等方式更加的环保,同时效率也更加的高效[2]。
请添加图片描述
请添加图片描述
高校失物招领管理平台是一个可以极大的方便失物管理的系统。高校失物招领管理平台分为前台部分和后台管理两部分的前台部分主要功能包含:用户注册登录,首页,系统公告,失物信息,招领信息,感谢信,论坛信息,我的,跳转到后台等功能。后台管理部分主要包括个人中心,系统公告管理,用户管理,物品类别管理,失物信息管理,招领信息管理,感谢信管理,论坛管理,系统管理等功能。高校失物招领管理平台主要使用MySQL作为数据库管理系统,开发环境是IDEA工具和MySQL数据库,本系统的开发基本满足了高校失物招领的需要。

请添加图片描述
高校失物招领管理平台的管理人员要可以登录到系统对系统各类功能进行管理,在管理员登录的时候输入自己的用户名+密码,然后点击[登录]按钮系统会根据用户提交的用户名+密码到数据库表user中进行验证,如果验证通过则登录成功,否则提示“用户名或密码错误”直到输入正确的用户名+密码方可登录成功。高校失物招领管理平台管理员登陆界面如图5-10所示
请添加图片描述
高校失物招领管理平台的管理员用户可以管理失物信息,在失物信息管理中输入对应的物品名称,图片,物品类别,丢失地点,丢失时间,详细描述,用户名,姓名,手机等基本信息后点击失物信息管理中的[提交]按钮,系统会将用户输入的信息添加到高校失物招领管理平台的shiwuxinxi表中去,在也页面设计的时候我们创建一个表格,表格的头部设置为失物信息管理, 然后加入几行其他的信息分别用来存放对应的物品名称,图片,物品类别,丢失地点,丢失时间,详细描述,用户名,姓名,手机等信息,然后在加入几个对应的input用来存放对物品名称,图片,物品类别,丢失地点,丢失时间,详细描述,用户名,姓名,手机等信息,失物信息管理页面如图
请添加图片描述
高校失物招领管理平台的管理员用户可以管理招领信息,在招领信息管理中输入对应的物品名称,图片,物品类别,捡拾地点,捡拾时间,详细描述,用户名,姓名,手机等基本信息后点击招领信息管理中的[提交]按钮,系统会将用户输入的信息添加到高校失物招领管理平台的zhaolingxinxi表中去,在也页面设计的时候我们创建一个表格,表格的头部设置为招领信息管理, 然后加入几行其他的信息分别用来存放对应的物品名称,图片,物品类别,捡拾地点,捡拾时间,详细描述,用户名,姓名,手机等信息,然后在加入几个对应的input用来存放对物品名称,图片,物品类别,捡拾地点,捡拾时间,详细描述,用户名,姓名,手机等信息,招领信息管理页面如图


/**
 * 登录相关
 */
("users")

public class UserController{
	
	
	private UserService userService;
	
	
	private TokenService tokenService;

	/**
	 * 登录
	 */
	
	(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	
	(value = "/register")
	public R register( UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    
	(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    ("/page")
    public R page( Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    ("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    ("/info/{id}")
    public R info(("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    ("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    ("/save")
    public R save( UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    ("/update")
    public R update( UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    ("/delete")
    public R delete( Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值