学生选课系统基于javaweb开发

该实验运用Java、Web前后端技术及数据库,开发基于Web的在线课程申请系统。系统包含学生申请、教师审批等功能,采用MVC架构,前端引入Bootstrap框架。实验展示了项目开发流程,强调架构模式对代码管理维护的重要性,提升了开发者的知识和技能。

实验目的

在实验中,熟练运用 Java 语言、Web前端技术(HTML、JavaScript、CSS)、Web后端技术(Servlet、JSP、Listener、Filter、JDBC等)、数据库,开发一套基本完善的基于Web的业务系统。通过实验,学生能够掌握Web开发的基本原理、开发方法及开发流程,掌握运用Web基本技术解决实际问题的开发能力。

实验内容

在线课程申请模块功能:

学生登录功能

已有账号学生可以在线登录到申请系统中。

用户账户数据可预先存储到数据库中。

在线申请功能

学生登录后,在可选课程列表中,选择要申请的课程。

每次申请只能选择一门课程,不可重复申请。

申请课程时,应填写必要的申请信息,如:申请原因、上传证明等。

课程详细数据可预先存储到数据库中。

已申请课程,审批进度查询功能

审批过程中的申请可以进行进度查询。

审批状态有:申请已提交、课程主讲教师审批中、课程主管教师审批中、审批成功、申请驳回。

审批结束后,也就是审批状态为成功或者驳回,学生可以点击确认,完成本次申请。

结束本次申请后,在进度查询功能中不能再看到该条申请信息。

被驳回申请的课程,可线下沟通后,再次重新提交新的申请。

已申请课程审批记录查询功能

学生可查询本人已申请的全部记录,包括审批通过和驳回的记录。

申请记录可使用分页显示,可使用多条件查询。

在线审批模块功能:

课程申请审批功能

已有教师角色账号的教师可登录审批功能。

教师角色用户细分为:课程主讲教师和主管教师,主讲教师为该门课程的第一审批人,主管教师为第二审批人。

具体课程的主讲和主管教师对应关系数据,可预先存储到数据库中。

如果已提交的申请不符合申请条件,可以驳回,但驳回必须填写具体的原因,以便学生再次提交新的申请。

已审批申请查询功能

教师可查询已审批的申请,查询结果可使用分页显示,可使用多条件查询。

额外功能:

在系统基本功能(实验内容1、2)基础之上,实现额外功能,使系统功能更加完善。

系统后台

系统用户管理、课申请课程管理、用户审批权限管理(课程与审批教师关系)、审批记录查询、导出已审批通过记录等功能。

创建审批流

可根据具体要求,动态创建课程审批流程,可动态指定不同类别课程的审批步骤及审批人。

拓展需求:

系统设计时需考虑系统的延展性、兼容性、可用性、通用性、健壮性、跨平台及持续集成,不仅能满足现有需要,也要适应未来发展的能力。

适应兼容性,系统应使用持久化层框架(MyBatis)

适应通用性,系统应采用MVC设计模式

适应持续集成,系统应采用容器部署(Docker)

适应可用性,系统界面需布局合理,用户使用方便快捷,用户体验好

适应健壮性,系统应充分考虑运行期间的各种异常情况并加以处理,保证运行时不出现异常或业务逻辑错误等重大问题

实验环境

集成开发工具:IDEA

数据库:MySQL

操作系统:windows10

Web服务器:Tomcat

实验过程与分析

该项目采用MVC架构实现,分为dao层,实体类,filiter过滤器,service层,servelet层,util层

 

该项目的前端由以下几个文件组成

 

如图所示为html登录界面,首先导入css的全面样式,全局样式是指适用于整个网站的样式表,可以在每个页面的header中使用标记将其导入。全局样式可以定义全站通用的字体、颜色、布局等样式,使网站风格统一,提高用户体验。其次导入jQuery,jQuery是一种JavaScript库,旨在简化处理HTML文档、事件处理、动画处理、AJAX等常见任务的编程。可以通过在head中引用jQuery的CDN或本地库来导入jQuery。导入jQuery后可以使用$()或jQuery()语法来选择页面元素、修改样式、绑定事件、发送AJAX请求等。Bootstrap是一种流行的前端开发框架,提供大量的CSS样式和JavaScript组件。通过在head中引用Bootstrap的CDN或本地库,可以使用Bootstrap提供的JavaScript组件,例如导航栏、弹出框、轮播图等,可以使网站开发更加高效,同时提供了一致的UI界面和用户体验。

如图所示为登录界面。

采用eclipse和MySQL开发学生在线选课系统。功能如下: 1、权限控制:采用过滤器实现用户登录和权限的控制。同时,每个学生一个账户(学号)可以登录系统进行个人信息的管理,并完成选课操作;管理员(固定为admin用户)可以管理全部学生信息,查看每个学生选课情况,并生成统计表。 2、数据库要求:包括学生基本信息表、课程信息表、学生选课信息表。 3、学生信息管理要求 (1)信息项:学号、姓名、身份证号码、班级、性别(男、女)、登录密码(加密存储,加密方法网上找一个)、籍贯(省份选择)、家庭住址、联系电话、兴趣爱好(运动、读书、音乐、旅游、社交); (2)学生信息管理:有显示学生基本信息的界面,每个学生只可以打开自己的信息界面;界面中,如果是学生身份,可以修改除了学号、姓名之外的全部信息。如果是管理员身份,可以全部管理,并提供学生信息的添加、修改和删除功能。 (3)学生信息列表:有列表显示学生信息的界面;如果是学生身份,列表只有本人一条信息;如果是管理员,列表可以有全部学生。可以按照学号、姓名快速查询功能。 4、选课中心要求: (1). 二级菜单:选课操作、选课列表 (2). 课程的信息项:课程编号、课程名称; (3). 学生选课操作:只有学生可用,管理员不可用。列表显示当前学生没有选中的课程名称,一次可以选取1个或者多个课程,点击保存即可完成选课。 (4). 学生选课列表:列表显示学生已经选中课程的信息;如果是学生身份,列表只有本人已经选中课程的列表;如果是管理员,列表可以已经有选课记录的学生。点击学生学号后,可以查看该学生选课记录。 5、统计分析要求 (1). 二级菜单:学生信息统计、选课情况统计; (2).学生信息统计:统计每个学生的基本信息,包括学生籍贯统计(籍贯、学生数量)、爱好统计(爱好、学生数量)两个统计。 (3).选课情况统计:统计每个学生选课数量,注意:没有选课学生也要显示,按照选课数量倒序排列。 这个是我的JavaWeb课程设计作业,由于能力有限,这个系统的一些细节还不够完善,比如没有密码加密和分页,页面不够美观,以后会完善的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值