javaweb学生成绩管理系统.docx
《javaweb学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《javaweb学生成绩管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
![javaweb学生成绩管理系统.docx](https://file1.bdocx.com/fileroot1/2023-2/7/b3a5df6c-5159-47bd-9997-48d1f3c92045/b3a5df6c-5159-47bd-9997-48d1f3c920451.gif)
javaweb学生成绩管理系统
信息学院
课程综合实训报告
课程名称
Javaweb程序设计
姓名
范浩
专业
计算机应用
班级
14-2
指导教师
王伟、宫明明
学期
2016-2017学年秋季学期
课时
40
学分
2
信息学院
二〇一六年十二月
一、实训目的
通过对Java语言、JavaWeb、Oracle数据库应用设计及SQL语言的复习和锻炼,并且通过使用MyEclipse开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。
同时掌握并实践软件项目设计规范及其开发流程:
需求分析、概要设计、详细设计、代码编写、系统测试及软件手册编写,以便提前适应软件公司开发流程、环境和工作要求
二、实训内容
1.描述
.用户输入服务器网址后,首先显示登录界面,用户输入用户名和密码登录,登录错误提示错误信息,登录成功根据不同类型用户进入不同的界面。
用户总共有三类:
学生、教师、管理员;学生账号是全部数字的学号,教师账号是qtc+数字,管理员的账号也是教师账号,但管理员有特殊权限。
2.管理员操作:
,主要是对学生、教师、课程的信息进行增删改查。
制定课程的任课教师、制定班级的开课课程等。
3.教师操作:
录入学生成绩,修改学生成绩
4.学生操作:
成绩查询
2.需求分析
在现代化的教育技术模式下,计算机已经广泛应用于学校的教育管理,给传统的教学方式带来了重大的革命。
如何有效管理学生成绩是摆在我们面前的一个新的课题。
本文在研究目前国内外作业管理情况的基础上,从学校的实际需求出发,采用当前较为流行的javaweb开发技术,SQLServer2000数据库,设计并实现了一个功能较为完善的CRP管理系统。
通过对系统进行一系列的需求分析、设计、编码、测试等工作
1).数据描述
SMSuser:
,userId(用户账号,用户类型不同,账号格式不同),userName,userPassword,userSex,userType(用户类型:
学生,老师,管理员)courseId(记录外键)classId(记录外键)
score:
Sid(记录主键),userId(学生Id),score(分数)courseId(记录外键)
course:
courseId(记录主键),courseName(课程名)
class1:
classId(记录主键),className(班级名称名)
出现一个bug应该把classid放到user里面
3.分工描述
姓名
完成模块
完成情况
备注
范浩
学生查询及添加学生查看全部课程,查看班级基本信息
好
李文哲
学生查询及添加学生查看全部课程,查看班级基本信息
好
王玮
学生查询及添加学生查看全部课程,查看班级基本信息
好
四.核心部分源代码
此处罗列设计中的核心类代码,列出类的成员变量和成员方法,类请加上如下注释
用户类:
privateStringuserId;
privateStringuserName;
privateStringuserPassword;
privateStringuserSex;
privateStringuserType;
privateStringcourseId;
privateStringclassId;
publicStringgetUserId(){
returnuserId;
}
publicvoidsetUserId(StringuserId){
this.userId=userId;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetUserPassword(){
returnuserPassword;
}
publicvoidsetUserPassword(StringuserPassword){
this.userPassword=userPassword;
}
publicStringgetUserSex(){
returnuserSex;
}
publicvoidsetUserSex(StringuserSex){
this.userSex=userSex;
}
publicStringgetUserType(){
returnuserType;
}
publicvoidsetUserType(StringuserType){
this.userType=userType;
}
publicStringgetCourseId(){
returncourseId;
}
publicvoidsetCourseId(StringcourseId){
this.courseId=courseId;
}
publicStringgetClassId(){
returnclassId;
}
publicvoidsetClassId(StringclassId){
this.classId=classId;
}
分数类privateStringSid;
privateStringuserId;
privateStringscore;
privateStringcourseId;
publicStringgetSid(){
returnSid;
}
publicvoidsetSid(Stringsid){
Sid=sid;
}
publicStringgetUserId(){
returnuserId;
}
publicvoidsetUserId(StringuserId){
this.userId=userId;
}
publicStringgetScore(){
returnscore;
}
publicvoidsetScore(Stringscore){
this.score=score;
}
publicStringgetCourseId(){
returncourseId;
}
publicvoidsetCourseId(StringcourseId){
this.courseId=courseId;
}:
课程类privateStringcourseId;
privateStringcourseName;
publicStringgetCourseId(){
returncourseId;
}
publicvoidsetCourseId(StringcourseId){
this.courseId=courseId;
}
publicStringgetCourseName(){
returncourseName;
}
publicvoidsetCourseName(StringcourseName){
this.courseName=courseName;
}
班级表:
privateStringclassId;
privateStringclassName;
publicStringgetClassId(){
returnclassId;
}
publicvoidsetClassId(StringclassId){
this.classId=classId;
}
publicStringgetClassName(){
returnclassName;
}
publicvoidsetClassName(StringclassName){
this.className=className;
}
登录处理:
Stringuserid=request.getParameter("userid");
Stringuserpassword=request.getParameter("userpassword");
Stringusertype=request.getParameter("usertype");
SMSuseruser=newSMSuser();
user.setUserId(userid);
user.setUserPassword(userpassword);
user.setUserType(usertype);
ResultSetrs=newSMSuserdaoImpl().LoginJudgmentType(user);
try{
if(rs.next()){
HttpSessionsession=request.getSession();
session.setAttribute("user",user);
Stringuseid=rs.getString("userId");
Stringpwd=rs.getString("userPassword");
StringuserType=rs.getString("userType");
if("1".equals(userType)){
request.getRequestDispatcher("students.jsp").forward(request,response);
}
else
if("2".equals(userType)){
response.sendRedirect("teacher.jsp");
}
else
if("3".equals(userType)){
response.sendRedirect("adminnistrator.jsp");
}
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
数据库:
publicResultSetLoginJudgmentType(SMSuseruser){
//TODOAuto-generatedmethodstub
con=db.getconnection();
Stringsql="select*fromSMSuserwhereuserId=?
anduserPassword=?
anduserType=?
";
try{
ps=con.prepareStatement(sql);
ps.setString(1,user.getUserId());
ps.setString(2,user.getUserPassword());
ps.setString(3,user.getUserType());
rs=ps.executeQuery();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnrs;
}
学生查分:
你好同学,请输入:
|
学号:
|
姓名:
|
课程:
|
|
查分处理:
StringscoreId=request.getParameter("scoreId");
StringuserId=request.getParameter("userId");
StringcoursecourseId=request.getParameter("coursecourseId");
Stringscore=request.getParameter("score");
Scoresc=newScore();
sc.setSid(scoreId);
sc.setUserId(userId);
sc.setCourseId(coursecourseId);
sc.setScore(score);
booleanflag=newScoreDaoImpl().TeacherTOInsertStudentScore(sc);
if(flag){
request.getRequestDispatcher("ScoreInsertSuccessfully.jsp").forward(request,response);
}
数据库
publicResultSetStudentsTosearchScore(SMSuseruser){
//TODOAuto-generatedmethodstub
con=db.getconnection();
Stringsql="selectSMSuser.userId,userName,courseName,scorefromSMSuser,course,scorewhereSMSuser.courseId=course.courseIdandcourse.courseId=score.courseIdandSMSuser.userId=?
";
try{
ps=con.prepareStatement(sql);
ps.setString(1,user.getUserId());
rs=ps.executeQuery();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
五、实训结果
、实训总结
经过这次实训,我们收获太多了,不仅仅是知识上的,还有团队配合方面,我们这次实训的目的是已明年考试为主,所以我们的界面没有太炫耀,只有代码,这不影响美观,经过两个星期实训,非常的开心,我们组写完了。
经历种种困难终于成功。
当中写程序的时候很多地方都是自己的薄弱地方,不会的都标记了下来,及时问老师,或者问同学,有时候一个知识点不会,需要半天甚至一天的时候去琢磨,深刻印象的是sql语句,我把数据库原理的书翻了一遍,终于掌握了,经过2周实训,对javaweb了解更深了一步,对JDBC链接数据库熟练程度更好了,在这谢谢老师的帮助,谢谢同学的支持,实训完毕,下次争取做的更好
七、指导教师评语
八、实训成绩
实训指导老师签名:
年月日