基于Jsp和MySQL实现的简单选课系统

基于Jsp和MySQL实现的简单选课系统 一,需求说明 网站的使用者 :某学校的学生,老师和管理员使用 网站的主要目的 : 用于学生选课

本文包含相关资料包-----> 点击直达获取<-------

基于Jsp和MySQL实现的简单选课系统

一、需求说明

  • 网站的使用者 :某学校的学生,老师和管理员使用

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

  • 网站的功能 (根据不同的使用者设定的权限):如下表所示

使用者 权限
学生 选择课程;退出课程(在有效的退出时间内);修改个人信息(除学号);查看个人成绩
老师 创建,查看和修改课程信息;删除课程;从课程里增加和删除学生;给选课的学生成绩
管理员 创建用户(学生,老师,管理员);查看,修改用户个人信息;删除用户;删除留言簿的信息
学生,老师,管理员 改变自己的登陆密码,查看个人信息;进入留言簿
  • 网站创建内容
  • 设计,创建关系数据库
  • 根据管理员的权限完成网站功能
  • 根据老师的权限完成网站功能
  • 根据学生的权限完成网站功能
  • 设计网页
  • 整合各部分功能成一完整网站

二、系统实现说明

2.1 数据库说明

数据库表的ER图

数据库名是: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中不能正常显示。

2.2 网页文件说明

  • 网站的唯一入口 :index.jsp

  • 所有用户的密码是 :123

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

  • 管理员 :adai
  • 老师 : teacher
  • 学生 :student

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

2.3 查询使用的SQL语句

这个作业,我做了四天。前两天是边学边做,就是把自己的理论实践一下!后两天,有前两天的感触和体会,所以实现了模型、视图、控制器的分离,感觉做的快多了!除了编程思路的提升之外,并没有学到什么东西!

但是感觉这几个SQL查询语句很经典!可以说是后两天工作的精华,所以也贴出来“显摆”一下。(我仔细排了一下序列,个人认为前三个做经典!)

查询没有选过的课程。选过之后的就不在这里显示了!(这个应该是最耗脑筋的一个查询语句了!)

sql Select csName, realName, csID From courseTB, userTB Where csTeacher=uID And csID Not In (Select enCourseID From enrollmentTB Where enUserID=? )

查询自己选课的信息(所选课程,以及本课程相关的信息)(这个应该是最麻烦的SQL查询语句!我曾经在工具里测试了很多次才成功!)

sql Select csName, teachTB.realName As tRealName, csID, enID From userTB usTB, userTB teachTB, courseTB, enrollmentTB Where usTB.uID=enUserID And encourseID=csID And csTeacher=teachTB.uID And usTB.uID=?

根据老师uID的查询选这个老师课程的学生信息(个人感觉这个也不错,用到了嵌套查询。)

sql Select userName, realName, csName, enGrade, enID From enrollmentTB, userTB, courseTB Where enCourseID=csID And enUserID=uID And csID in (Select csID From courseTB Where csTeacher=?)

查询学生课程成绩

sql Select realName, csName, enGrade, enID From enrollmentTB, userTB, courseTB Where enCourseID=csID And enUserID=uID And enUserID=?

查询某老师所讲授的课程

sql select * from coursetb where csTeacher=?

查询所有信息

sql Select csName, userName, mgTitle, mgContent, mgID From userTB, courseTB, messageTB Where uID=userID And csID=courseID

获取所有留言

sql Select csName, userName, mgTitle, mgContent, mgID From userTB, courseTB, messageTB Where uID=userID And csID=courseID

获取关于某个课程的留言

sql Select csName, realName, mgTitle, mgContent From userTB, courseTB, messageTB Where csID=courseID And userID=uID And csID=?

三、程序截图

3.1 数据库

3.2 公共界面

修改个人信息

针对课程添加留言

查看课程留言

3.3 学生界面

去选课

查看成绩

3.4 老师界面

创建课程

老师本人讲授课程

打分

3.5 管理员界面

用户信息

所有课程信息

所有留言信息

参考文献

  • 基于WEB的网络教学系统的设计与实现(东北大学·周海斌)
  • 基于web的高职院校学生综合管理系统设计与开发(电子科技大学·杨轩)
  • 基于SSH架构的高校选课系统的设计与实现(黑龙江大学·于虹博)
  • 基于J2EE的高校学生选课管理系统的设计与实现(电子科技大学·刘雯)
  • 基于Web的高校选课系统的设计与实现(电子科技大学·谢慧萍)
  • 基于J2EE与组件技术的WEB应用研究(哈尔滨理工大学·杭瑛)
  • 基于JSP技术动态教学管理系统设计与实现(电子科技大学·董豪)
  • 基于Internet的学生选课信息管理系统的设计与实现(电子科技大学·李智)
  • 基于J2EE的网上选课系统的研究与实现(华东师范大学·罗海勇)
  • 基于J2EE的高校学生选课管理系统的设计与实现(电子科技大学·刘雯)
  • 基于SSH架构的高校选课系统的设计与实现(黑龙江大学·于虹博)
  • 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
  • 高校网上选课系统的设计与实现(河北科技大学·马乾乾)
  • 少年宫课外学习选课系统软件的设计与实现(电子科技大学·黄涛)
  • 基于B/S模式的高职院校选课系统的设计与实现(电子科技大学·左炳才)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计工坊 ,原文地址:https://bishedaima.com/yuanma/35405.html

相关推荐

发表回复

登录后才能评论