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

 更新时间:2021年11月12日 08:51:39   作者:qq_1334611189  
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+jsp+javaweb+mysql+ajax实现一个校园宿舍管理系统,大家可以在过程中查缺补漏,提升水平

一、项目简述

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

二、项目运行

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

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

用户登录操作代码:

用户登录操作:
 
@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";
    }
 
}

以上就是Java 实战项目锤炼之校园宿舍管理系统的实现流程的详细内容,更多关于Java 校园宿舍管理系统的资料请关注脚本之家其它相关文章!

相关文章

  • Java自定义标签用法实例分析

    Java自定义标签用法实例分析

    这篇文章主要介绍了Java自定义标签用法,结合实例形式分析了java自定义标签的定义、使用方法与相关注意事项,需要的朋友可以参考下
    2017-11-11
  • SpringCloud Tencent 全套解决方案源码分析

    SpringCloud Tencent 全套解决方案源码分析

    Spring Cloud Tencent实现Spring Cloud标准微服务SPI,开发者可以基于Spring Cloud Tencent开发Spring Cloud微服务架构应用,Spring Cloud Tencent 的核心依托腾讯开源的一站式服务发现与治理平台 Polarismesh,实现各种分布式微服务场景,感兴趣的朋友一起看看吧
    2022-07-07
  • Struts2拦截器登录验证实例

    Struts2拦截器登录验证实例

    本篇文章主要介绍了Struts2拦截器登录验证实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • SpringSecurity实现多种身份验证方式

    SpringSecurity实现多种身份验证方式

    本文主要介绍了SpringSecurity实现多种身份验证方式,包括表单的认证、HTTP基本认证、HTTP摘要认证、证书认证、OpenIDConnect或OAuth2.0的认证、记住我功能和LDAP认证,感兴趣的可以了解一下
    2025-03-03
  • Jmeter如何添加循环控制器

    Jmeter如何添加循环控制器

    这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 详解SpringBoot中如何使用布隆过滤器

    详解SpringBoot中如何使用布隆过滤器

    这篇文章主要为大家详细介绍了在SpringBoot中如何简单在代码中使用布隆过滤器,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-09-09
  • Java格式化输出详细讲解(printf、print、println、format等)

    Java格式化输出详细讲解(printf、print、println、format等)

    Java的格式化输出等同于String.Format,与C有很大的相似,下面这篇文章主要给大家介绍了关于Java格式化输出(printf、print、println、format等)的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • java 实现链栈存储的方法

    java 实现链栈存储的方法

    下面小编就为大家带来一篇java 实现链栈存储的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • SpringBoot自动配置的8个技巧分享

    SpringBoot自动配置的8个技巧分享

    在 SpringBoot 2.x中,一个很核心的功能是自动配置机制,这篇文章主要为大家详细介绍了Spring Boot 2.x 实现自动配置的8个技巧,希望对大家有所帮助
    2025-01-01
  • Java 多线程Synchronized和Lock的区别

    Java 多线程Synchronized和Lock的区别

    这篇文章主要介绍了Java 多线程Synchronized和Lock的区别,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-01-01

最新评论