jsp mysql实验选课系统下载_课内资源 - 基于jsp与mysql的选课系统

2023-11-11 10:50

本文主要是介绍jsp mysql实验选课系统下载_课内资源 - 基于jsp与mysql的选课系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、需求说明(Jsp动态网站应用)网站的使用者:某学校的学生,老师和管理员使用

网站的主要目的: 用于学生选课,以及老师和学生之间的交流。

网站的功能(根据不同的使用者设定的权限)

使用者

权限

学生

选择课程 /退出课程(在有效的退出时间内) /修改个人信息(除学号) / 查看个人成绩

老师

创建,查看和修改课程信息 /删除课程/从课程里增加和删除学生/ 给选课的学生成绩

管理员

创建用户(学生,老师,管理员) / 查看,修改用户个人信息 / 删除用户 / 删除留言簿的信息

学生,老师,管理员

改变自己的登陆密码 / 查看个人信息 / 进入留言簿

二、系统实现说明

2.1 数据库设计说明

fbaf41f84bb5eaa8720831543ab20b9e.png

数据库名是:JoyStudy。

userTB 是存放用户信息的

属性说明:

uID :该表的主键。是一个自动增加的int 型数据。

userName :是用户名。就是登录,标示用户一个标示。(其实这样说,别不准确,里面大多数是靠主键 uID 来唯一标示的。)

password :是存储用户的密码。(不过没有经过处理的原始数据,很不符号实际应用。)

realName : 是存储用户的实际姓名。这个只是我模仿其他的一个属性。

Email、sex :就是存储的用户Email 和 sex。

特别指出一点:

属性:type是代表用户的类型!

1 代表管理员

2 代表老师

3 代表学生

courseTB 存放课程信息

属性说明:

csID 是主键, 是一个自动增加的int 型数据。

csTeacher是引用userTB主键uID的外键

messageTB 存放留言信息。

mgID 是主键, 是一个自动增加的int 型数据。

userID是引用userTB主键uID的外键。

courseID是引用courseTB主键csID的外键。

mgTitle、mgContent 分别存放留言的标题和内容。

注:这里需要说明一下,这里的逻辑:userID 是存放的留言者的uID,courseID是存放的本条留言所针对的课程。就是说一条留言针对一个课程!或者说,只能针对某科课程发布留言!

enrollmentTB 是存放选课信息的表。 enID 是主键, 是一个自动增加的int 型数据。

enUserID是引用userTB主键uID的外键。即选课的学生。

enCourseID是引用至courseTB主键csID的外键。

enGrade 存放成绩。

注:JoyStudy文件夹下面的“joystudy.mer”是从MyEclipse里面导出来的数据库ER视图。但是在Eclipse中不能正常显示。所以有截了个图:“JoyStudy_DB_ER.jpg”(也就是上图所示)。

2.2 网页文件说明

网站的唯一入口是 index.jsp 。

所有用户的密码是:123。

三类典型用户的用户名分别是:

1,管理员:adai

2,老师: teacher

3,学生:student

网页文件的命名都是“见文知意”。另外,文件我是按“权限”分类的,(公共的就放到顶层文件夹下。管理员用到的就放到“admin”文件夹下。依次类推。)就不过多解释了!

2.3 备注

文件夹databaseSQL中放的是SQL脚本文件。(请用记事本打开,在Eclipse中打开是乱码!)我是用MySQL的一个图形界面工具(Navicat 8 for MySQL)导出的!我在我电脑上面换了个数据库名实验了一下可以!不知在其他机器上是否可以!

这篇关于jsp mysql实验选课系统下载_课内资源 - 基于jsp与mysql的选课系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/389519

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp