java 学生成绩管理系统.docx

上传人:b****6 文档编号:7103100 上传时间:2023-01-17 格式:DOCX 页数:25 大小:660.47KB
下载 相关 举报
java 学生成绩管理系统.docx_第1页
第1页 / 共25页
java 学生成绩管理系统.docx_第2页
第2页 / 共25页
java 学生成绩管理系统.docx_第3页
第3页 / 共25页
java 学生成绩管理系统.docx_第4页
第4页 / 共25页
java 学生成绩管理系统.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

java 学生成绩管理系统.docx

《java 学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《java 学生成绩管理系统.docx(25页珍藏版)》请在冰豆网上搜索。

java 学生成绩管理系统.docx

java学生成绩管理系统学生成绩管理系统一、页面设计1.管理员页面设计(图1-1管理员登陆)(1-2管理员首页)(1-3管理员密码修改)(1-4添加学生账号)(1-5学生列表页面)(1-6编辑学生信息)(1-7删除学生)(1-8添加更新学生成绩)2.学生用户页面设计(2-1学生用户登录)(2-2学生用户首页)(2-3学生用户密码修改)(2-4学生用户成绩查询)(2-5学生成绩查询结果)二、数据库表设计表名ADMIN_USER关键字段中文表名(功能描述)管理员字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERUSER_NAME用户名VARCHAR2PASSWORD密码VARCHAR2(管理员表)表名COURSE关键字段中文表名(功能描述)课程表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERCOURSE_NAME课程名VARCHAR2TERM学期NUMBER(课程表)表名SCORE关键字段中文表名(功能描述)成绩表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERSTUDENT_NUM学号VARCHAR220SCORE成绩NUMBERCOURSE_ID课程号NUMBERTERM_ID学期号NUMBER(成绩表)表名STUDENT关键字段中文表名(功能描述)学生表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERNAME姓名VARCHAR220PASSWORD密码VARCHAR220STUDENT_NUM学号VARCHAR220UPDATE_DATE更新日期DATE(学生表)表名TERM关键字段中文表名(功能描述)学期表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERTERM_NAME学期名VARCHAR220三、三、系统技术以及运行环境的需求分析系统技术以及运行环境的需求分析系统技术整体介绍系统技术整体介绍该系统框架主要使用Spring+Struts+Ibatis,其中Spring解决了DAO层(数据持久层)、service层(业务逻辑层)、model(模型层)、View(视图层)之间的耦合关系,Struts将程序分为DAO层、model层、View层,Ibatis是对象持久化框架。

通过三种技术的使用,提高了系统的灵活性和可扩展性。

SpringIOC和和SpringAOP技术简介技术简介该系统中主要使用了Spring中的最核心的两个模块,IOC和AOP。

核心容器提供Spring框架的基本功能。

核心容器的主要组件是BeanFactory,它是工厂模式的实现。

BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

SpringAOP模块则直接将面向方面的编程功能集成到了Spring框架中。

所以,可以很容易地使Spring框架管理的任何对象支持AOP。

SpringAOP模块为基于Spring的应用程序中的对象提供了事务管理服务。

通过使用SpringAOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。

STRUTS技术简介技术简介Struts技术的核心是MVC(ModelViewController),其目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。

同时也使得软件可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。

它通过把数据模式从各种可以被存取和控制的数据中分离出来可以改善分布式系统的设计。

MVC设计模式有三部分组成。

模型是应用对象,没有用户界面。

视图表示它在屏幕上的显示,代表流向用户的数据。

控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对Model的操作。

Model通过更新View的数据来反应数据的变化。

Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

其流程如下图所示:

图2.2.1AJAX技术简介技术简介在该系统中也是用了AJAX技术实现了学期和课程的二级联动,提高了系统的用户体验。

传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。

服务器接收并处理传来的表单,然後返回一个新的网页。

这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。

由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。

这导致了用户界面的响应比本地应用慢得多。

与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。

因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。

同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

IBATIS技术简介技术简介iBatis是一个O/RMapping解决方案,j2ee的O/R方案很多,和Hibernate相比,iBatis最大的特点就是小巧,上手很快。

如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。

四、数据库连接四、数据库连接该系统数据库的连接使用的是datasource配置的方式,使用datasource提高了连接数据库的性能。

配置在WebRoot/web-inf/config/config.propertis中,具体配置如下:

database.driver=oracle.jdbc.OracleDriverdatabase.url=jdbc:

oracle:

thin:

localhost:

1521:

orcldatabase.username=leiweiweidatabase.password=leiweiwei可根据不同的用户修改用户名和密码五、代码简介五、代码简介1.用户管理代码publicclassAdminUserActionextendsMappingDispatchActionpublicstaticfinalStringPASSWORD=123456;privateAdminUserServiceadminUserService;/*判断用户名密码是否正确*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardadminUserLogin(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/获取表单数据LoginFormloginForm=(LoginForm)form;StringuserName=loginForm.getUserName();Stringpassword=loginForm.getPassword();AdminUseradminUser=newAdminUser();adminUser.setUserName(userName);adminUser.setPassword(password);/判断用户名、密码是否正确booleanisRight=adminUserService.findAdminUser(adminUser);/如果不正确,返回登陆页面if(!

isRight)/将用户名放在request中,用于页面回显request.setAttribute(userName,userName);returnmapping.findForward(StrutsConstants.TO_FAIL);/登陆成功,将用户名存入session中HttpSessionsession=request.getSession();session.setAttribute(userName,userName);/转到管理员首页returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*得到添加学生页面*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardaddStudentPage(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/转到添加学生页面returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*添加学生用户*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardaddStudent(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/从表单中获取学生信息StudentFormstudentForm=(StudentForm)form;Stringname=studentForm.getName();StringstudentNum=studentForm.getStudentNum();Studentstudent=newStudent();student.setName(name);student.setPassword(PASSWORD);student.setStudentNum(studentNum);/将学生信息存入学生表中booleanisSuc=adminUserService.addStudent(student);if(!

isSuc)/如果失败,转到错误页面returnmapping.findForward(StrutsConstants.TO_FAIL);/成功转到列表页面returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*获得编辑页面*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardgetEditPage(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/获得学生编辑页面,将学生信息回显在页面上Longuid=Long.valueOf(request.getParameter(uid);Studentstudent=adminUserService.getStudentById(uid);request.setAttribute(student,student);returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*编辑学生信息*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardeditStudentInfo(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/从表单中获得学生信息StudentFormstudentForm=(StudentForm)form;Stringname=studentForm.getName();longid=Long.valueOf(request.getParameter(id);StringstudentNum=studentForm.getStudentNum();Studentstudent=newStudent();student.setName(name);student.setStudentNum(studentNum);student.setId(id);/更新学生信息booleanisSuc=adminUserService.updateStudentInfo(student);if(!

isSuc)/如果不正确转到错误页面returnmapping.findForward(StrutsConstants.TO_FAIL);/正确,转向列表页面returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*获得添加成绩页面*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardaddScorePage(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsExceptionLonguid=Long.valueOf(request.getParameter(uid);/获得学生列表Studentstudent=adminUserService.getStudentById(uid);ListstudentList=adminUserService.getStudentList();/将学生信息存在request中,用于页面显示request.setAttribute(student,student);request.setAttribute(studentList,studentList);returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*获得学生列表*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardgetStudentList(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/根据查询条件(姓名、学号)查询学生信息StudentFormstudentForm=(StudentForm)form;Stringname=studentForm.getName();StringstudentNum=studentForm.getStudentNum();/获取当前页IntegercurrentPage=studentForm.getCurrentPage();StudentPagestudent=newStudentPage();student.setName(name);student.setStudentNum(studentNum);student.setCurrentPage(currentPage);/根据条件,得到学生列表,在页面分页显示StudentPagestudentPage=adminUserService.findStudentList(student);request.setAttribute(page,studentPage);returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*通过ajax获得学期列表*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardgetTerm(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/*参数初始化*response.setCharacterEncoding(utf-8);/*参数初始化*Listlist=adminUserService.getTermList();/*返回信息分类json字符串*JSONArrayjsonArray=JSONArray.fromObject(list);PrintWriterout=response.getWriter();out.write(jsonArray.toString();/*返回信息分类json字符串*returnnull;/*根据ajax获得课程列表*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardgetCourse(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/*参数初始化*response.setCharacterEncoding(utf-8);/*参数初始化*longtermId=Long.parseLong(request.getParameter(termId);Listlist=adminUserService.getCourseList(termId);/*返回信息分类json字符串*JSONArrayjsonArray=JSONArray.fromObject(list);PrintWriterout=response.getWriter();out.write(jsonArray.toString();/*返回信息分类json字符串*returnnull;/*添加学生成绩*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardaddScore(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException/获得表单数据ScoreFormscoreForm=(ScoreForm)form;longcourseId=scoreForm.getCourseId();StringstudentNum=scoreForm.getStudentNum();longtermId=scoreForm.getTermId();Doublescore=Double.valueOf(scoreForm.getScore();Scorescr=newScore();scr.setCourseId(courseId);scr.setStudentNum(studentNum);scr.setTermId(termId);scr.setScore(score);/将表单中的成绩更新至数据库booleanisSuc=adminUserService.addScore(scr);if(!

isSuc)returnmapping.findForward(StrutsConstants.TO_FAIL);returnmapping.findForward(StrutsConstants.TO_SUCCESS);/*删除学生信息*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwarddeleteStudent(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsExceptionlonguid=Long.valueOf(request.getParameter(uid);/根据学生id删除该学生信息booleanisSuc=adminUserService.deleteStudent(uid);if(!

isSuc)returnmapping.findForward(StrutsConstants.TO_FAIL);returnmapping.findForward(StrutsConstants.TO_SUCCESS);/获得密码编辑页面publicActionForwardgetEditPwPage(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsExceptionreturnmapping.findForward(StrutsConstants.TO_SUCCESS);2.学生成绩查询代码publicclassStudentUserActionextendsMappingDispatchActionprivateAdminUserServiceadminUserService;/*学生用户登录*parammapping*paramform*paramrequest*paramresponse*return*throwsException*/publicActionForwardstudentLogin(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)th

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1