学生宿舍管理系统 Javaweb宿舍管理系统,web项目!

学生宿舍管理系统。
Javaweb宿舍管理系统,web项目!
分三个角色登录!分学生登录,管理员登录,宿管登录,不同用户功能不同!!

二、技术介绍
技术应用:
JSP、Servlet、mysql、tomcat。
开发环境:
1.IDEA/eclipse
2.mysql
3.JDK
4.tomcat

三、功能介绍
1.首页功能:
登录。分学生登录,宿管登录,管理员登录,不同用户功能不同!

2.学生用户功能:
查看缺勤记录,修改密码,查看主页。

3.管理员用户功能:
学生信息管理,宿舍楼管理,查看学生缺勤记录,修改密码。

4.宿管用户功能:
查看学生信息,增加学生缺勤记录,修改密码。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以下是一个基于 Java Web 的学生宿舍管理系统的简单实现。这个项目使用了 Spring Boot 作为后端框架,Thymeleaf 作为前端模板引擎,MySQL 作为数据库。


1. 系统功能

  • 学生信息管理(增删改查)。
  • 宿舍信息管理(增删改查)。
  • 分配宿舍功能。
  • 查询宿舍分配情况。

2. 技术栈

  • 后端: Spring Boot, Spring MVC, Spring Data JPA
  • 前端: HTML, CSS, JavaScript (Bootstrap 框架)
  • 数据库: MySQL
  • 构建工具: Maven

3. 数据库设计

(1) 数据表结构
CREATE DATABASE dormitory_management;

USE dormitory_management;

-- 学生表
CREATE TABLE student (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    gender VARCHAR(10),
    phone VARCHAR(20),
    dormitory_id INT
);

-- 宿舍表
CREATE TABLE dormitory (
    id INT AUTO_INCREMENT PRIMARY KEY,
    room_number VARCHAR(20) NOT NULL,
    capacity INT NOT NULL,
    current_occupancy INT DEFAULT 0
);

4. 项目结构

dormitory-management/
├── src/
│   ├── main/
│   │   ├── java/com/example/dormitory/
│   │   │   ├── controller/
│   │   │   │   ├── StudentController.java
│   │   │   │   ├── DormitoryController.java
│   │   │   ├── model/
│   │   │   │   ├── Student.java
│   │   │   │   ├── Dormitory.java
│   │   │   ├── repository/
│   │   │   │   ├── StudentRepository.java
│   │   │   │   ├── DormitoryRepository.java
│   │   │   ├── DormitoryManagementApplication.java
│   │   ├── resources/
│   │   │   ├── templates/
│   │   │   │   ├── student.html
│   │   │   │   ├── dormitory.html
│   │   │   │   ├── index.html
│   │   │   ├── application.properties
│   │   │   ├── static/
│   │   │   │   ├── css/
│   │   │   │   │   ├── style.css
│   │   │   │   ├── js/
│   │   │   │   │   ├── script.js

5. 核心代码

(1) application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/dormitory_management?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
spring.thymeleaf.cache=false
(2) 实体类
Student.java
package com.example.dormitory.model;

import jakarta.persistence.*;

@Entity
public class Student {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String name;
    private String gender;
    private String phone;

    @ManyToOne
    @JoinColumn(name = "dormitory_id")
    private Dormitory dormitory;

    // Getters and Setters
}
Dormitory.java
package com.example.dormitory.model;

import jakarta.persistence.*;
import java.util.List;

@Entity
public class Dormitory {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String roomNumber;
    private Integer capacity;
    private Integer currentOccupancy;

    @OneToMany(mappedBy = "dormitory")
    private List<Student> students;

    // Getters and Setters
}
(3) 控制器
StudentController.java
package com.example.dormitory.controller;

import com.example.dormitory.model.Student;
import com.example.dormitory.repository.StudentRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

@Controller
@RequestMapping("/students")
public class StudentController {

    @Autowired
    private StudentRepository studentRepository;

    @GetMapping
    public String listStudents(Model model) {
        model.addAttribute("students", studentRepository.findAll());
        return "student";
    }

    @GetMapping("/add")
    public String addStudentForm(Model model) {
        model.addAttribute("student", new Student());
        return "add-student";
    }

    @PostMapping("/save")
    public String saveStudent(@ModelAttribute Student student) {
        studentRepository.save(student);
        return "redirect:/students";
    }

    @GetMapping("/delete/{id}")
    public String deleteStudent(@PathVariable Integer id) {
        studentRepository.deleteById(id);
        return "redirect:/students";
    }
}
DormitoryController.java
package com.example.dormitory.controller;

import com.example.dormitory.model.Dormitory;
import com.example.dormitory.repository.DormitoryRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

@Controller
@RequestMapping("/dormitories")
public class DormitoryController {

    @Autowired
    private DormitoryRepository dormitoryRepository;

    @GetMapping
    public String listDormitories(Model model) {
        model.addAttribute("dormitories", dormitoryRepository.findAll());
        return "dormitory";
    }

    @GetMapping("/add")
    public String addDormitoryForm(Model model) {
        model.addAttribute("dormitory", new Dormitory());
        return "add-dormitory";
    }

    @PostMapping("/save")
    public String saveDormitory(@ModelAttribute Dormitory dormitory) {
        dormitoryRepository.save(dormitory);
        return "redirect:/dormitories";
    }

    @GetMapping("/delete/{id}")
    public String deleteDormitory(@PathVariable Integer id) {
        dormitoryRepository.deleteById(id);
        return "redirect:/dormitories";
    }
}
(4) 前端页面
student.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>学生管理</title>
    <link rel="stylesheet" th:href="@{/css/style.css}">
</head>
<body>
<h1>学生列表</h1>
<a href="/students/add">添加学生</a>
<table border="1">
    <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>性别</th>
        <th>电话</th>
        <th>宿舍号</th>
        <th>操作</th>
    </tr>
    <tr th:each="student : ${students}">
        <td th:text="${student.id}"></td>
        <td th:text="${student.name}"></td>
        <td th:text="${student.gender}"></td>
        <td th:text="${student.phone}"></td>
        <td th:text="${student.dormitory.roomNumber}"></td>
        <td>
            <a th:href="@{/students/delete/{id}(id=${student.id})}">删除</a>
        </td>
    </tr>
</table>
</body>
</html>
dormitory.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>宿舍管理</title>
    <link rel="stylesheet" th:href="@{/css/style.css}">
</head>
<body>
<h1>宿舍列表</h1>
<a href="/dormitories/add">添加宿舍</a>
<table border="1">
    <tr>
        <th>ID</th>
        <th>房间号</th>
        <th>容量</th>
        <th>当前人数</th>
        <th>操作</th>
    </tr>
    <tr th:each="dormitory : ${dormitories}">
        <td th:text="${dormitory.id}"></td>
        <td th:text="${dormitory.roomNumber}"></td>
        <td th:text="${dormitory.capacity}"></td>
        <td th:text="${dormitory.currentOccupancy}"></td>
        <td>
            <a th:href="@{/dormitories/delete/{id}(id=${dormitory.id})}">删除</a>
        </td>
    </tr>
</table>
</body>
</html>

6. 运行步骤

  1. 创建 MySQL 数据库并导入 SQL 脚本。
  2. 配置 application.properties 中的数据库连接信息。
  3. 使用 Maven 构建项目:mvn clean install
  4. 启动 Spring Boot 应用:mvn spring-boot:run
  5. 打开浏览器访问 http://localhost:8080/studentshttp://localhost:8080/dormitories

7. 总结

这是一个基础的学生宿舍管理系统,涵盖了学生和宿舍的基本管理功能。你可以在此基础上扩展更多功能,例如用户权限管理、宿舍分配优化等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值