IDEA+Java+Servlet+JSP+Bootstrap+Mysql实现Web学生宿舍管理系统(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: IDEA+Java+Servlet+JSP+Bootstrap+Mysql实现Web学生宿舍管理系统

一、系统介绍


1.开发环境


开发工具:IDEA2018.2


JDK版本:jdk1.8


Mysql版本:8.0.13



2.技术选型


1.后端:使用Java+Servlet进行开发,使用过滤器来验证用户是否登录,使用MVC进行分层。


2.数据库:使用JDBC连接数据库,使用getResourceAsStream获取数据库配置文件的信息。


3.前端:使用Bootstrap作为前端框架来开发,使用到jstl来遍历数据。jsp来展示页面。


3.系统功能


1.学生


1.登录系统


2.缺勤记录


缺勤记录查询


3.修改密码


4.退出系统


2.宿舍管理员


1.登录系统


2.学生查看


查看学生信息


3.缺勤记录管理


缺勤记录的增删改查。


4.修改密码


5.退出系统


3.系统管理员


1.登录系统


2.宿舍管理员管理


宿舍管理员信息的增删改查。


3.学生信息管理


学生信息的增删改查。


4.宿舍楼信息管理


宿舍楼信息的增删改查。


5.缺勤记录管理


缺勤记录删除


6.修改密码


7.退出系统


4.数据库

/*
 Navicat Premium Data Transfer
 Source Server         : Mysql
 Source Server Type    : MySQL
 Source Server Version : 80013
 Source Host           : localhost:3306
 Source Schema         : jsp_servlet_drom
 Target Server Type    : MySQL
 Target Server Version : 80013
 File Encoding         : 65001
 Date: 22/07/2021 20:46:38
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for t_admin
-- ----------------------------
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin`  (
  `adminId` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`adminId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_admin
-- ----------------------------
INSERT INTO `t_admin` VALUES (1, 'admin', 'admin', '管理员', '男', '1828888888');
-- ----------------------------
-- Table structure for t_dorm
-- ----------------------------
DROP TABLE IF EXISTS `t_dorm`;
CREATE TABLE `t_dorm`  (
  `dormId` int(11) NOT NULL AUTO_INCREMENT,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `dormName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormType` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormNumber` int(11) NULL DEFAULT NULL,
  `dormTel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`dormId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_dorm
-- ----------------------------
INSERT INTO `t_dorm` VALUES (1, 1, '220', '男', 4, '110');
-- ----------------------------
-- Table structure for t_dormbuild
-- ----------------------------
DROP TABLE IF EXISTS `t_dormbuild`;
CREATE TABLE `t_dormbuild`  (
  `dormBuildId` int(11) NOT NULL AUTO_INCREMENT,
  `dormBuildName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildDetail` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`dormBuildId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_dormbuild
-- ----------------------------
INSERT INTO `t_dormbuild` VALUES (1, '1栋', '一栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (2, '2栋', '二栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (3, '3栋', '三栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (4, '4栋', '四栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (5, '5栋', '五栋信息介绍');
-- ----------------------------
-- Table structure for t_dormmanager
-- ----------------------------
DROP TABLE IF EXISTS `t_dormmanager`;
CREATE TABLE `t_dormmanager`  (
  `dormManId` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`dormManId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_dormmanager
-- ----------------------------
INSERT INTO `t_dormmanager` VALUES (1, 'dromadmin', '123456', 4, '宿舍管理员', '男', '18212346589');
-- ----------------------------
-- Table structure for t_record
-- ----------------------------
DROP TABLE IF EXISTS `t_record`;
CREATE TABLE `t_record`  (
  `recordId` int(11) NOT NULL AUTO_INCREMENT,
  `studentNumber` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `studentName` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `dormName` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `date` date NULL DEFAULT NULL,
  `detail` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`recordId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_record
-- ----------------------------
INSERT INTO `t_record` VALUES (1, '001', '李四', 4, '120', '2014-01-01', '回家');
-- ----------------------------
-- Table structure for t_student
-- ----------------------------
DROP TABLE IF EXISTS `t_student`;
CREATE TABLE `t_student`  (
  `studentId` int(11) NOT NULL AUTO_INCREMENT,
  `stuNum` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `dormName` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `tel` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`studentId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_student
-- ----------------------------
INSERT INTO `t_student` VALUES (1, '001', '123456', '李四', 4, '120', '男', '123456');
INSERT INTO `t_student` VALUES (2, '002', '123456', '王五', 5, '201', '男', '123456');
SET FOREIGN_KEY_CHECKS = 1;


5.工程截图


20210722210549398.jpg


二、系统展示


1.登录界面


20210722211620409.jpg


2.学生-主页面


20210722211630713.jpg

3.学生-缺勤记录


20210722211703306.jpg


4.学生-修改密码


20210722211713945.jpg

5.宿舍管理员-主页面


20210722211724530.jpg

6.宿舍管理员-学生查看


20210722211734173.jpg

7.宿舍管理员-缺勤记录


20210722211743939.jpg

8.宿舍管理员-修改密码


20210722211754684.jpg

9.系统管理员-主页面



10.系统管理员-宿舍管理员管理


20210722211804382.jpg

11.系统管理员-学生管理


20210722211825152.jpg

12.系统管理员-宿舍楼管理


20210722211835496.jpg

13.系统管理员-缺勤记录


20210722211849499.jpg

14.系统管理员-修改密码


20210722211903133.jpg

三、部分代码


DormBuildDao

package com.lero.dao;
import com.lero.model.DormBuild;
import com.lero.model.DormManager;
import com.lero.model.PageBean;
import com.lero.util.StringUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class DormBuildDao {
    public static String dormBuildName(Connection con, int dormBuildId) throws Exception {
        String sql = "select * from t_dormBuild where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setInt(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getString("dormBuildName");
        }
        return null;
    }
    public List<DormBuild> dormBuildList(Connection con, PageBean pageBean, DormBuild s_dormBuild) throws Exception {
        List<DormBuild> dormBuildList = new ArrayList<DormBuild>();
        StringBuffer sb = new StringBuffer("select * from t_dormBuild t1");
        if (StringUtil.isNotEmpty(s_dormBuild.getDormBuildName())) {
            sb.append(" where t1.dormBuildName like '%" + s_dormBuild.getDormBuildName() + "%'");
        }
        if (pageBean != null) {
            sb.append(" limit " + pageBean.getStart() + "," + pageBean.getPageSize());
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormBuild dormBuild = new DormBuild();
            dormBuild.setDormBuildId(rs.getInt("dormBuildId"));
            dormBuild.setDormBuildName(rs.getString("dormBuildName"));
            dormBuild.setDetail(rs.getString("dormBuildDetail"));
            dormBuildList.add(dormBuild);
        }
        return dormBuildList;
    }
    public int dormBuildCount(Connection con, DormBuild s_dormBuild) throws Exception {
        StringBuffer sb = new StringBuffer("select count(*) as total from t_dormBuild t1");
        if (StringUtil.isNotEmpty(s_dormBuild.getDormBuildName())) {
            sb.append(" where t1.dormBuildName like '%" + s_dormBuild.getDormBuildName() + "%'");
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getInt("total");
        } else {
            return 0;
        }
    }
    public DormBuild dormBuildShow(Connection con, String dormBuildId) throws Exception {
        String sql = "select * from t_dormBuild t1 where t1.dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        DormBuild dormBuild = new DormBuild();
        if (rs.next()) {
            dormBuild.setDormBuildId(rs.getInt("dormBuildId"));
            dormBuild.setDormBuildName(rs.getString("dormBuildName"));
            dormBuild.setDetail(rs.getString("dormBuildDetail"));
        }
        return dormBuild;
    }
    public int dormBuildAdd(Connection con, DormBuild dormBuild) throws Exception {
        String sql = "insert into t_dormBuild values(null,?,?)";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuild.getDormBuildName());
        pstmt.setString(2, dormBuild.getDetail());
        return pstmt.executeUpdate();
    }
    public int dormBuildDelete(Connection con, String dormBuildId) throws Exception {
        String sql = "delete from t_dormBuild where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        return pstmt.executeUpdate();
    }
    public int dormBuildUpdate(Connection con, DormBuild dormBuild) throws Exception {
        String sql = "update t_dormBuild set dormBuildName=?,dormBuildDetail=? where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuild.getDormBuildName());
        pstmt.setString(2, dormBuild.getDetail());
        pstmt.setInt(3, dormBuild.getDormBuildId());
        return pstmt.executeUpdate();
    }
    public boolean existManOrDormWithId(Connection con, String dormBuildId) throws Exception {
        boolean isExist = false;
//    String sql="select * from t_dormBuild,t_dormManager,t_connection where dormManId=managerId and dormBuildId=buildId and dormBuildId=?";
        String sql = "select *from t_dormManager where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            isExist = true;
        } else {
            isExist = false;
        }
        String sql1 = "select * from t_dormBuild t1,t_dorm t2 where t1.dormBuildId=t2.dormBuildId and t1.dormBuildId=?";
        PreparedStatement p = con.prepareStatement(sql1);
        p.setString(1, dormBuildId);
        ResultSet r = pstmt.executeQuery();
        if (r.next()) {
            return isExist;
        } else {
            return false;
        }
    }
    public List<DormManager> dormManWithoutBuild(Connection con) throws Exception {
        List<DormManager> dormManagerList = new ArrayList<DormManager>();
        String sql = "SELECT * FROM t_dormManager WHERE dormBuildId IS NULL OR dormBuildId=0";
        PreparedStatement pstmt = con.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormManager dormManager = new DormManager();
            dormManager.setDormBuildId(rs.getInt("dormBuildId"));
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            dormManager.setName(rs.getString("name"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setTel(rs.getString("tel"));
            dormManagerList.add(dormManager);
        }
        return dormManagerList;
    }
    public List<DormManager> dormManWithBuildId(Connection con, String dormBuildId) throws Exception {
        List<DormManager> dormManagerList = new ArrayList<DormManager>();
        String sql = "select *from t_dormManager where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormManager dormManager = new DormManager();
            dormManager.setDormBuildId(rs.getInt("dormBuildId"));
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            dormManager.setName(rs.getString("name"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setTel(rs.getString("tel"));
            dormManagerList.add(dormManager);
        }
        return dormManagerList;
    }
    public int managerUpdateWithId(Connection con, String dormManagerId, String dormBuildId) throws Exception {
        String sql = "update t_dormManager set dormBuildId=? where dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        pstmt.setString(2, dormManagerId);
        return pstmt.executeUpdate();
    }
}

DormManagerDao

package com.lero.dao;
import com.lero.model.DormManager;
import com.lero.model.PageBean;
import com.lero.util.StringUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class DormManagerDao {
    public List<DormManager> dormManagerList(Connection con, PageBean pageBean, DormManager s_dormManager) throws Exception {
        List<DormManager> dormManagerList = new ArrayList<DormManager>();
        StringBuffer sb = new StringBuffer("SELECT * FROM t_dormManager t1 ORDER BY t1.userName");
        if (StringUtil.isNotEmpty(s_dormManager.getName())) {
            sb.append(" where t1.name like '%" + s_dormManager.getName() + "%'");
        } else if (StringUtil.isNotEmpty(s_dormManager.getUserName())) {
            sb.append(" where t1.userName like '%" + s_dormManager.getUserName() + "%'");
        }
        if (pageBean != null) {
            sb.append(" limit " + pageBean.getStart() + "," + pageBean.getPageSize());
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormManager dormManager = new DormManager();
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            int dormBuildId = rs.getInt("dormBuildId");
            dormManager.setDormBuildId(dormBuildId);
            dormManager.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId));
            dormManager.setName(rs.getString("name"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setTel(rs.getString("tel"));
            dormManager.setPassword(rs.getString("password"));
            dormManagerList.add(dormManager);
        }
        return dormManagerList;
    }
    public int dormManagerCount(Connection con, DormManager s_dormManager) throws Exception {
        StringBuffer sb = new StringBuffer("select count(*) as total from t_dormManager t1");
        if (StringUtil.isNotEmpty(s_dormManager.getName())) {
            sb.append(" where t1.name like '%" + s_dormManager.getName() + "%'");
        } else if (StringUtil.isNotEmpty(s_dormManager.getUserName())) {
            sb.append(" where t1.userName like '%" + s_dormManager.getUserName() + "%'");
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getInt("total");
        } else {
            return 0;
        }
    }
    public DormManager dormManagerShow(Connection con, String dormManagerId) throws Exception {
        String sql = "select * from t_dormManager t1 where t1.dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManagerId);
        ResultSet rs = pstmt.executeQuery();
        DormManager dormManager = new DormManager();
        if (rs.next()) {
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            dormManager.setDormBuildId(rs.getInt("dormBuildId"));
            dormManager.setName(rs.getString("name"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setTel(rs.getString("tel"));
            dormManager.setPassword(rs.getString("password"));
        }
        return dormManager;
    }
    public int dormManagerAdd(Connection con, DormManager dormManager) throws Exception {
        String sql = "insert into t_dormManager values(null,?,?,null,?,?,?)";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManager.getUserName());
        pstmt.setString(2, dormManager.getPassword());
        pstmt.setString(3, dormManager.getName());
        pstmt.setString(4, dormManager.getSex());
        pstmt.setString(5, dormManager.getTel());
        return pstmt.executeUpdate();
    }
    public int dormManagerDelete(Connection con, String dormManagerId) throws Exception {
        String sql = "delete from t_dormManager where dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManagerId);
        return pstmt.executeUpdate();
    }
    public int dormManagerUpdate(Connection con, DormManager dormManager) throws Exception {
        String sql = "update t_dormManager set userName=?,password=?,name=?,sex=?,tel=? where dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManager.getUserName());
        pstmt.setString(2, dormManager.getPassword());
        pstmt.setString(3, dormManager.getName());
        pstmt.setString(4, dormManager.getSex());
        pstmt.setString(5, dormManager.getTel());
        pstmt.setInt(6, dormManager.getDormManagerId());
        return pstmt.executeUpdate();
    }
    public boolean haveManagerByUser(Connection con, String userName) throws Exception {
        String sql = "select * from t_dormmanager t1 where t1.userName=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, userName);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return true;
        }
        return false;
    }
}
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
1686 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
963 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
195 1
|
JavaScript Java 测试技术
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
基于Java的人事管理系统设计和实现(源码+LW+部署讲解)
207 7
|
JavaScript Java 测试技术
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
基于Java的儿童福利院管理系统设计和实现(源码+LW+部署讲解)
257 7
|
JavaScript 前端开发 Java
Java数字化产科管理系统源码,多家医院应用案例,可直接上项目
Java开发的数字化产科管理系统,已在多家医院实施,支持直接部署。系统涵盖孕产全程,包括门诊、住院、统计和移动服务,整合高危管理、智能提醒、档案追踪等功能,与HIS等系统对接。采用前后端分离架构,Java语言,Vue前端,若依框架,MySQL数据库。优势在于提升就诊效率,降低漏检率,自动报表生成,减少重复工作,支持数据研究,并实现医院与卫计委平台的数据互通,打造全生育周期健康服务。
228 4
|
Java 关系型数据库 MySQL
班级通讯录管理系统(Java+MySQL)
构建了一个Java Swing应用,搭配MySQL,实现班级通讯录管理。系统具备管理员登录、班级与学生信息的增删改查功能,每个班级窗口独立且自适应布局。利用GBK编码处理中文,JDBC连接数据库,优化窗口复用和代码结构,数据变更实时同步。示例截图展示详细界面。
班级通讯录管理系统(Java+MySQL)
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
416 0
|
消息中间件 安全 Java
使用Java实现智能物流管理系统的关键技术
使用Java实现智能物流管理系统的关键技术
|
监控 Java 决策智能
使用Java实现智能物流管理系统
使用Java实现智能物流管理系统

推荐镜像

更多