失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)

文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频

1 、功能描述

  失物招领信息管理系统1拥有两种角色,分别为管理员和用户,具体功能如下:

管理员:招领信息管理、寻物信息管理、留言信息管理、申请信息管理、物品类型管理、学生管理、管理员管理、公告管理

用户:招领信息查看与发布、寻物信息查看与发布、留言查看与发布,个人信息查看及修改

1.1 背景描述

  失物招领信息管理系统是一款方便用户报告丢失物品并帮助找回的在线工具,提供快速的信息发布、搜索和匹配功能。通过该系统,失主可及时登记丢失物品信息,而拾到者可主动上传所拾物品,提高失物归还率,助力社区互助与诚信建设。

2、项目技术

后端框架:JFinal、 Servlet、mvc模式

前端框架:FreeMarker、html、css、JavaScript、JQuery

2.1 JFinal

  JFinal是一个基于Java语言的轻量级Web框架,它可以帮助开发者快速搭建Web应用程序。JFinal将Servlet API、Spring和MyBatis等技术进行整合,使得开发者能够更加高效地开发Web应用。JFinal还提供了丰富的插件和工具类,简化了开发过程,提高了开发效率。同时,JFinal还支持多种数据库访问方式,包括ORM、SQL语句等,方便开发者根据需求选择合适的访问方式。

2.2 mysql

  MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。

3、开发环境

  • JAVA版本:JDK1.8,其它版本理论上可以
  • IDE类型:推荐IDEA
  • tomcat版本:Tomcat 7.x、8.x、9.x、10.x版本均可
  • 数据库版本:MySql 5.x、8.0都可
  • maven版本:无限制
  • 硬件环境:Windows 或者 Mac OS

4、功能截图+视频演示+文档目录

4.1 登录

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第1张图片

管理员和用户均可以通过此界面登录至系统,前端会自动校验信息

4.2用户 模块

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第2张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第3张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第4张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第5张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第6张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第7张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第8张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第9张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第10张图片

  • 招领信息查看预发布:用户可以发布招领信息,以及查看别人发布的招领信息和申请认领
  • 寻物信息查看与发布:用户可以发布寻物信息,以及查看别人发布的寻物信息
  • 留言查看与发布:用户可以查看留言墙,还可以发布留言
  • 个人信息查看及修改:用户可以修改个人信息

4.3 管理员模块

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第11张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第12张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第13张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第14张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第15张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第16张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第17张图片

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第18张图片

  • 招领信息管理:管理员可以通过物品类型筛选招领信息,还可以编辑和删除招领信息,已经找到丢失人的记录状态会被设置为“已找到失主”,且删除和编辑操作会被设置为无法执行。
  • 寻物信息管理:管理员可以通过物品类型筛选寻物信息,还可以编辑和删除寻物信息。其它同招领信息管理
  • 留言信息管理:管理员可以查看和删除留言
  • 申请信息管理:管理员可以查看和删除申请招领记录
  • 物品类型管理:管理员可以增删改查物品类型信息
  • 学生管理:管理员可以通过学号、姓名、专业查询学生,还可以增加、删除和修改学生信息
  • 管理员管理:管理员可以增删改查管理员信息
  • 公告管理:管理员可以查看和发布公告

4.4 文档目录

失物招领信息管理系统的设计与实现 (含源码+sql+视频导入教程+论文)_第19张图片

5 、核心代码实现

5.1 配置代码

jdbcUrl=jdbc:mysql://localhost:3306/lostandfound?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
user=root
password=root
devMode=true
showSql=true


5.2 其它核心代码

package controller;

import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.kit.Kv;
import com.jfinal.kit.LogKit;
import com.jfinal.plugin.activerecord.Db;
import interceptor.LoginValidator;
import model.*;

import java.util.List;


public class MainController extends Controller {


    public void index() {
        renderFreeMarker("login.ftl");

    }

    public void register() {

        renderFreeMarker("register.ftl");
    }

    public void Stu_Register() {
        String stuName = getPara("stuName");
        String password = getPara("password");
        String gender = getPara("gender");
        String email = getPara("email");
        String tel = getPara("tel");
        String QQ = getPara("QQ");
        String major = getPara("major");
        int stuId = getParaToInt("stuId");

        Student student = new Student();
        student.setStuId(stuId);
        student.setStuName(stuName);
        student.setGender(gender);
        student.setEmail(email);
        student.setQQ(QQ);
        student.setTel(tel);
        student.setMajor(major);
        student.setPassword(password);

        boolean success = false;
        try {
            student.save();
            success = true;
        } catch (Exception e) {
            LogKit.error("用户注册失败,原因是:" + e.getMessage());
        }
        String message = success ? "success" : "failed";
        Kv result = Kv.by("success", success).set("message", message);
        renderJson(result);
    }

    public void login() {
        renderFreeMarker("login.ftl");
    }


    @Before(LoginValidator.class)
    public void loginCheck() {
        String username = getPara("username");
        String password = getPara("password");
        String usertype = getPara("usertype");
        boolean success = false;
        int flag = 0;
        if (usertype.equals("1")){
            String sql_stu = Db.getSql("check_login_stu");
            List students = Student.dao.find(sql_stu, username, password);
            System.out.println("1");
            if (students.size() != 0) {
                System.out.println("2");
                setSessionAttr("user", students.get(0));
                success = true;
                flag = 1;
            } else {

                    setAttr("errmsg", "用户名或密码错误");
                }
        }else if(usertype.equals("2")){
            String check_login_admin = Db.getSql("check_login_admin");
            List admin = Admin.dao.find(check_login_admin, username, password);
            System.out.println("size"+admin.size());
            if (admin.size() != 0) {
                setSessionAttr("user", admin.get(0));
                success = true;
                flag = 2;
            } else {
                setAttr("errmsg", "用户名或密码错误");
            }

        }

        String message = success ? "登录成功" : "登录失败,密码或者用户名错误";
        Kv result = Kv.by("success", success).set("message", message).set("flag", flag);
        renderJson(result);
    }

    public void logout() {
        removeSessionAttr("users");
        redirect("/login");
    }


}

6 、功能视频演示

点击这里播放视频

7 、 获取方式

大家点赞、收藏、关注、评论啦 获取联系方式,后台回复关键词:失物招领

在这里插入图片描述

你可能感兴趣的:(sql,数据库)