学生选课系统(一个JavaWeb必掌握项目)

您所在的位置:网站首页 javaweb实训项目有哪些 学生选课系统(一个JavaWeb必掌握项目)

学生选课系统(一个JavaWeb必掌握项目)

2024-04-10 01:08| 来源: 网络整理| 查看: 265

学生选课系统(一个JavaWeb入门级项目)

链接: https://pan.baidu.com/s/1Cl9GH_rawlwxWLA1ITosug

提取码: vter

要求具备如下知识: Java基础前端基础(Html、css、JavaScript、Jquery)mysql数据库Web容器(Tomcat)Jsp/Servlet 通过该项目可以掌握哪些知识: 掌握整个项目的流程掌握开发中的简单权限控制掌握前端页面如何与后端整合宏观把握一个项目掌握echarts图表技术 技术选型 Web容器:Apache Tomcat8.5编程语言:Java8数据库:MySQL5.6开发IDE:Eclipse数据库连接池:DBCP数据库操作:DBUtils动态网页:JSP/Servlet3.1静态网页:HTML+CSS+Jquery数据库设计软件:Power Designer操作系统:Window/Linux 需求描述

角色:学生、老师、管理员

1)学生:基本信息+课程信息

操作流程

学生登录系统选择课程并提交确认(确认之后则不能修改了)考试系统各种查询(查询各科成绩、查询总成绩、查询排名等

操作功能 

各科成绩查询总成绩查询成绩排名、各科成绩排名  

2) 老师:基本信息+所教课程

登录系统课程管理考试成绩录入各种查询(学生的单科成绩、总成绩、排名)各种统计(统计及格率、统计>80分以上的同学等)

3) 管理员:维护学生和老师信息、查询统计

登录系统实现对学生的CURD实现对老师的CURD实现各种查询、统计 数据库设计

详情查看pdm图

项目搭建 创建项目(dynamic Web project)sct建包 com.hua.entity(model\vo):student实体、课程实体等com.hua.dao(Data Access Object 数据访问对象)操作数据库com.hua.utils:工具包com.hua.servlet(web\action\controller):存放servlet项目的文件com.hua.service(biz):存放业务逻辑的配置数据库连接文件db.properties

driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql://127.0.0.1:3306/sct?useUnicode=true&characterEncoding=UTF-8

username=root

password=123456

    4.加载db.properties配置文件

     5.建立数据库连接

项目界面 登录页面login.html首页:index.html列表页面:list.html新增或修改页面:add.html/edit.html 项目界面与代码整合

项目界面与代码整合(详见视频)

登录 管理员角色登录老师角色登录学生角色登录:

1、假设:后端设计数据库中账号字段的时候,有规律可循: 管理员:1001开头 1001001、1001002 老师:2001开头 2001001、2001002 老师:3001开头 3001001、3001002 2、假设:后端设计数据库中账号字段没有规律,此时需要添加一个登录类型:

登录权限过滤

PermissionFilter可以过滤是否登录的权限

权限的功能设置

管理员:

学生管理:CURD老师管理:CURD、(老师课程设置)课程管理:CURD统计查询:(及格率、每个科目等等统计)

老师:

登录录入分数 先查询自己所教的课程(管理员已经设置过了)查询所教课程下的学生(学生角色选课的过程,学生登录后做选课)最后录入评分,提交即可(老师角色评分即可)查询统计(统计及格率、所教科目统计等等)

学生:

登录选课 查询所有的课程选课其实就是选择老师(因为课程关联老师)考试(考试系统…),老师录入分数后查询考试成绩、查询排名等 学生管理 列表查询新增修改 先查询,跳转到待修改页面修改信息,然后提交完成组合条件查询分页

解决乱码问题采用过滤器

分页技术实现

分页:数据库分页查询语句+掌握jsp+java等综合技术

常见第一种

常用分页技术:

内存分页:一次性将数据查询出来放入内存,然后进行分页,每页的数据都是在内存中存储,所以查询效率高。适用于小数据量,要求查询效率较高。

数据库分页:每次从数据库中查询出来一次的数据,然后放入内存,如果点击下一页,则重新从数据库查询下一页数据放入内存,上一页内存数据就被GC回收。适用于数据量较大的,查询效率较低。

分页技术特点

页面大小(PageSize):已知设置的10;

总记录条数(TotalCount)数据库查询而来;

总页数(totalPage):TotalCount /pageSize = 85;

如果:totalCount%pageSize!=0  +1

如果:totalCount%pageSize==0  +0

页码数(PageNo):默认为1,

下一页 pageNo+1(尾页的时候,不加1了),

上一页pageNo-1(首页的时候不减1)

尾页:pageNo = totalPage

首页:pageNo = 1

组合条件查询

组合条件:一个条件、两个条件、三个及其以上

输入几个条件,按照条件查询结果(满足查询的条件与)。

组合条件查询出来的结果是&&的关系

-- 按照ID查询 select * from student  where stuId = 1 -- 当前端录入学生姓名的时候 select * from student  where stuName like '%2%' -- 当前端录入姓名与学号的时候 ,执行的如下SQL select * from student  where stuName like '%2%' and stuNO like '%1%' -- 通常情况下:字符串都按照like 模糊查询较多,数字:(=或者范围居多) 老师管理 列表查询新增修改 先查询,跳转到待修改页面修改信息,然后提交完成组合条件查询分页 课程管理 列表查询新增修改 先查询,跳转到待修改页面修改信息,然后提交完成组合条件查询分页 查询统计 统计图表 数据录入查询统计 管理员-成绩区间统计

科目



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3