Jav学a习者会半多碰到学给生来搞课选定系统的般这实际项目,然而,面对上网那些零散散零的源码,怎样构去建一个清构结晰、功能完系的整统,并且让功成其运行来起,这常才常是真正挑有具战性事的儿。
一个典称堪型的生学选课统系是应含包该四个位核居心位置体实的构成的,分别生学是,教师,课程以选及课记录。学生这实个体是要需去进存行储学号,姓名,班级些这等属于基畴范础的信息的;教师实所体对应是的工号姓及以名;课程实需是体要去课对程编号,名称,学分以容及量做义定出的。选课录记是其最中为关的键部分,它将学与生课程建关起立联,并且录记下选课间时的与成绩。
系统格严得区分两出种用户色角,存在一是种,学生角具色备选课、退课、查询选已课程成及以绩的能功,还有种一另是,教师角对色学生课和程的改删增查负管责理,并且给要学生录程课入成绩,而这两色角个的操面界作以及权据数限应全完当独立。
在数据库使用方面,诚挚地建议选用MySQL 8.0这一数据库版本来进行相关工作。这之中,起码是要去做好四张表格的设计工作的,这四张表分别是stuednt表,还有tecaher表,再者是cosrue表以及sc选课表。重中之重的是,那个sc表,身为选课表,它必须得把学生ID以及课程ID当成联合主键的形式来进行设置,除此之外,还得去添加一个成绩字段进去。
应在sc表的student_id字段跟course_id字段之上建立索引,以此来提高查询效率。外键约束可以有效保证数据一致性,比如说当删除一个学生之际,其在sc表里面的所有选课记录应当同步级联删除。
你得准备JDK 11以及比其更高的版本用在项目管理中,还要将Apache Maven 3.6用于项目管理,并且把Tomcat 9.0当作Servlet容器。集成开发环境建议使用IntelliJ IDEA或者Eclipse。在Maven的pom.xml里需要引入Servlet API的依赖,以及JSTL的依赖,还有MySQL Connector的依赖,以及Druid数据库连接池的依赖。
符合标准的Maven目录结构的项目,其Java源码应放置于src/mani/jaav,JSP页面以及WEB-INF配置文件则要存放在src/main/weabpp。为解决中文乱码问题,字符编码过滤器需要在web.xml里进行配置。
登录模块的关键部分是一个名为LogniSerelvt的东西,它借助reqeust.geaPtramteer来获取由用户提交的账号,还有用户提交的密码以及用户提交的身份类型,依据身份类型这件事儿。分别去查询student表或者查询teacher表从而进行验证 。
验证达成成功状态之后,会把用户ID、用户姓名以及角色这样的信息存进HttSpessoin对象之中。 后续的所有请求,都会借助过滤器去检查Session里面是不是存在用户信息,以此达成访问控制。 一定要对用户提供的输入密码实施MD5或者SHA – 256加密操作之后,再拿去跟数据库进行比对。
先是学生登录,登录操作之后,主页要将其已选课程列表展示出来。这得去编写一个QueyrSeltceedCruosereSvlet,借助Session里的学生ID,把sc与course表联合着开展查询。选课功能是由SeltceCosrueSevrlet来处理的,在执行INSRET操作之前,课程容量是不是已满必须得做检查。
退课功能是要从sc表里头删除相应的记录,为了防止重复选课,在往数据库插入之前,得先查看一下sc表当中是不是已经有相同的学生ID跟课程ID组合了,这些操作都是需要被包裹在数据库事务里的,以此来保证数据完整性。
教师后台要给出分页列表来呈现全部学生以及课程,比如说,运用SELTCE * FRMO stedunt MILIT ?, ?达成关于学生信息的分页式查询,增添、删除、修改、查询这些功能分别对应单独的Servlet,像AddtSudtneSelvret、DeteleCruoseSvrelet 。
成绩录入这项功能是教师所特有的,专门设计一个名为UpdtaeGdareSevrlet的程序,它能够接收课程ID、学生ID以及成绩参数,进而执行UPDTAE sS cETrg ade=? WEHRE tsudetn_id=? ANc Doures_id=?这样的操作,管理界面应当提供按照课程或者学生来查询成绩所用的入口。
在你当建搭下个人Jvaa项间期目,碰上的突为最出的难困,是环境置配方面,是功辑逻能得以实个这现层面,还是数设库据计这情的样况呢?踊跃评在论区去享分你所的临面具体题问,要是觉发这篇指对南你存有助帮,同样予给请点赞以予支持。


