Java 实战项目锤炼之校园宿舍管理系统的实现流程

作者:qq_1334611189 时间:2023-10-15 07:00:58 

一、项目简述

功能:宿舍管理员,最高管理员,学生三个身份,包括学 生管理,宿舍管理员管理,考勤管理,宿舍楼管理,缺勤 记录管理,个人信息修改等等功能。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。

项目技术: JSP + Entity+ Servlert + html+ css + JavaScript + JQuery + Ajax 等等。

Java 实战项目锤炼之校园宿舍管理系统的实现流程

Java 实战项目锤炼之校园宿舍管理系统的实现流程

Java 实战项目锤炼之校园宿舍管理系统的实现流程

Java 实战项目锤炼之校园宿舍管理系统的实现流程

用户登录操作代码:


用户登录操作:

@Controller
public class LoginController {

@Autowired
   private UserService userService;
   @Autowired
   private TeacherService teacherService;
   @Autowired
   private StudentService studentService;

//跳转登录页面
   @GetMapping("/login")
   public String login() {
       return "login";
   }

//登录操作
   @PostMapping("/login")
   @ResponseBody
   public Map<String, Object> login(String userName, String password, String captcha, String type, HttpSession session) {
       //判断用户名、密码、用户类型、验证码是否为空
       if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password) || StringUtils.isEmpty(captcha) || StringUtils.isEmpty(type)) {
           return MapControl.getInstance().error("用户名或密码不能为空").getMap();
       }
       //获取系统生成的验证码
       String _captcha = (String) session.getAttribute("captcha");
       //先判断验证码是否正确
       if (!(captcha.toLowerCase()).equals(_captcha.toLowerCase())) {
           //验证码错误
           return MapControl.getInstance().error("验证码错误").getMap();
       }

//判断用户类型
       if ("1".equals(type)) { //管理员验证登录
           User user = userService.login(userName, MD5Utils.getMD5(password)); //对密码进行加密处理,因为数据库中存储的是加密后的密码
           if (user != null) {
               session.setAttribute("user", user);
               session.setAttribute("type", 1);
               return MapControl.getInstance().success().add("data", user).getMap();
           } else {
               return MapControl.getInstance().error("用户名或密码错误").getMap();
           }
       }
       if ("2".equals(type)) { //老师验证登录
           Teacher teacher = teacherService.login(userName, MD5Utils.getMD5(password));
           if (teacher != null) {
               session.setAttribute("user", teacher);
               session.setAttribute("type", "2");
               return MapControl.getInstance().success().add("data", teacher).getMap();
           } else {
               return MapControl.getInstance().error("用户名或密码错误").getMap();
           }
       }
       if ("3".equals(type)) { //学生验证登录
           Student student = studentService.login(userName, MD5Utils.getMD5(password));
           if (student != null) {
               session.setAttribute("user", student);
               session.setAttribute("type", "3");
               return MapControl.getInstance().success().add("data", student).getMap();
           } else {
               return MapControl.getInstance().error("用户名或密码错误").getMap();
           }
       }
       return MapControl.getInstance().getMap();
   }

}

用户登出操作代码:


用户登出操作:

@Controller
public class LogoutController {

//退出操作
   @RequestMapping("/logout")
   public String logout(HttpSession session) {
       //让session失效
       session.invalidate();
       //重定向到登录页
       return "redirect:login";
   }

}

来源:https://blog.csdn.net/m0_59687645/article/details/121223512

标签:Java,校园宿舍管理,管理系统,实战
0
投稿

猜你喜欢

  • JDK源码中一些实用的“小技巧”总结

    2022-10-21 08:17:50
  • Android实现圆形渐变加载进度条

    2021-07-17 18:38:06
  • Android 自定义底部上拉控件的实现方法

    2023-08-18 18:41:19
  • C# Socket 发送&接收&返回 简单应用实例

    2022-09-18 20:08:20
  • Java系统变量参数获取设置System.getProperties()的方法

    2021-07-22 04:52:47
  • pagehelper插件显示total为-1或1的问题

    2021-11-04 01:02:39
  • Java 由浅入深带你掌握图的遍历

    2022-05-21 07:21:44
  • java实现PDF转图片的方法

    2021-05-24 04:29:59
  • RxJava 触发流基本原理源码解析

    2023-06-24 06:02:57
  • JAVA JDK8 List获取属性列表

    2023-04-12 04:32:42
  • 简单了解Spring Framework5.0新特性

    2021-08-06 02:21:46
  • 浅谈如何在项目中使用Spring Cloud Alibaba Sentinel组件

    2022-07-12 14:32:17
  • 一文详解Reactor模型与实现示例

    2023-11-13 12:22:09
  • C++实现哈夫曼树编码解码

    2022-02-13 15:48:09
  • Android实现向Launcher添加快捷方式的方法

    2022-09-14 09:26:41
  • 如何自定义hibernate validation注解示例代码

    2021-08-31 12:05:51
  • Java反射机制在Spring IOC中的应用详解

    2023-11-10 14:09:32
  • MyBatis的SQL执行结果和客户端执行结果不一致问题排查

    2022-12-30 20:37:22
  • Android开发中自定义 editText下划线

    2023-03-30 13:40:35
  • 三种Android单击事件onclick的实现方法

    2022-05-21 16:54:03
  • asp之家 软件编程 m.aspxhome.com