Java项目之机房预约系统的毕业设计(附源码+论文)

大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。

👇🏻 精彩博文推荐👇🏻 不然下次找不到哟

👉👉👉100个java毕业设计项目(附源码+论文+演示视频)

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

👉🎀 安卓app毕业设计
👉🌎微信小程序毕业设计

🍅文末获取源码🍅

一、项目简介

本文以JSP为开发技术,实现了一个机房预约系统。机房预约系统的主要使用者分为管理员;个人中心、学生管理、教师管理、机房号管理、机房信息管理、申请预约管理、取消预约管理、留言板管理、论坛管理、系统管理,学生;个人中心、机房信息管理、申请预约管理、取消预约管理、留言板管理,教师;个人中心、机房号管理、机房信息管理、申请预约管理、取消预约管理、留言板管理,前台首页;首页、机房信息、论坛信息、留言反馈、我的、跳转到后台等功能。通过这些功能模块的设计,基本上实现了整个机房预约系统的过程。
具体在系统设计上,采用了B/S的结构,同时,也使用JSP技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的机房预约系统。

二、系统设计

2.1软件功能模块设计

系统整体功能如下:
在这里插入图片描述

2.2数据库设计

本系统的E-R图如下图所示:
1、教师信息实体图如图4-3所示:在这里插入图片描述
2、申请预约信息实体图如图4-4所示:在这里插入图片描述
3、取消预约信息实体图如图4-5所示:在这里插入图片描述

三、系统项目部分截图

3.1前台首页功能模块

机房预约系统,在系统首页可以查看首页、机房信息、论坛信息、留言反馈、我的、跳转到后台等内容,如图5-1所示。![![在这里插入图片描述](https://img-blog.csdnimg.cn/5849744d01a247a4a7388569f316f3ae.png)

3.2教师功能模块

教师登录进入机房预约系统可以查看个人中心、机房号管理、机房信息管理、申请预约管理、取消预约管理、留言板管理等内容。
申请预约管理,在申请预约管理页面中通过查看编号、机房号、日期、时段、座位号、申请内容、学号、姓名、身份证、是否审核、审核回复等信息,还可以根据需要对申请预约管理进行修改,如图5-12所示。
在这里插入图片描述

3.3学生功能模块

学生登录进入机房预约系统可以查看个人中心、机房信息管理、申请预约管理、取消预约管理、留言板管理等内容。
申请预约管理,在申请预约管理页面中通过查看编号、机房号、日期、时段、座位号、申请内容、学号、姓名、身份证、是否审核、审核回复等信息,还可以根据需要对申请预约管理进行修改,如图5-14所示。
在这里插入图片描述

3.4管理员功能模块

管理员登录进入机房预约系统可以查看个人中心、学生管理、教师管理、机房号管理、机房信息管理、申请预约管理、取消预约管理、留言板管理、论坛管理、系统管理等信息。
学生管理,在学生管理页面中可以通过查看学号、姓名、性别、头像、专业、手机号、身份证等内容进行详情、修改、删除,如图5-6所示。还可以根据需要对教师管理进行详情,修改等详细操作,如图5-7所示。在这里插入图片描述

三、论文目录

1 概述 1
1.1课题背景及意义 1
1.2 国内外研究现状 1
1.3 本课题主要工作 2
2 系统开发环境 3
2.1 java简介 3
2.2 Mysql数据库 3
2.3 B/S结构 4
2.4 JSP技术介绍 4
3 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2操作可行性 5
3.1.3 经济可行性 5
3.1.4 法律可行性 6
3.2系统流程分析 6
3.2.1系统开发流程 6
3.2.2 用户登录流程 7
3.2.3 系统操作流程 7
3.2.4 添加信息流程 8
3.2.5 修改信息流程 9
3.2.6 删除信息流程 9
3.3系统用例分析 10
3.3.1管理员用例图 10
3.3.2学生用例图 10
4 系统设计 11
4.1 系统概述 11
4.2 系统结构设计 12
4.3数据库设计 13
4.3.1 数据库设计原则 13
4.3.2 数据库实体 13
4.3.3 数据库表设计 14
5统详细设计 17
5.1前台首页功能模块 17
5.2管理员功能模块 18
5.3教师功能模块 21
5.4学生功能模块 21
6系统测试 23
6.1系统测试的意义 23
6.2 测试方法 24
6.3测试分析 24
结 论 26
致 谢 27
参考文献 28

四、部分核心代码

4.1 用户部分


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(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);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody 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();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(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");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam 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);
    }

	/**
     * 列表
     */
    @RequestMapping("/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));
    }

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

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody 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();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

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

获取源码或论文

源码下载地址:

https://download.csdn.net/download/m0_46388260/87798468

如需对应的论文,可以联系我

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值