基于web的学生成绩管理系统_第1页
基于web的学生成绩管理系统_第2页
基于web的学生成绩管理系统_第3页
基于web的学生成绩管理系统_第4页
基于web的学生成绩管理系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE\*ROMANIVPAGE\*ROMANIV摘要管理系统对于学校实现办公自动化化将起到重要作用。WebSSH(Struts+Spring+Hibernate)作为网MySQLMyEclipse,能关键词:成绩管理,Web,数据库,SSHAbstractAsInformationtechnologyhavebeenusedworldwidely,ComputerNetworkanpowerfultoolbothforourlifeandwork.Forinstance,officeautomationmaximumshool’sworkingefficiency.Scoremanagementsystemisofgreatimportancetotheachievementofofficeautomation.ThistextoftheperformancemanagementsystembasedonappliesSSHitsnetworkprogammingframe,selectMySQLasitstoolofdesigningdatabaseMyEclipseasitsdevelopmenttool.Thissystemisinchargeofscoremanagementincludingusermanagement,scoreinput,scoreinquiry,scoreaddingamending.Systemdevelopmentfallsintotwoaspects:1.establishandmaintainbackenddatabase.2.developfrontendapplicationprograms.Thisdissertationmainlylaysitsemphasisonthefeasibilityanalysis,demandanalysis,systemdesignandsystemrealizationofscoremanagementsystem.Keywords :scoremanagement,Web,database,SSH目录摘要 IABSTRACT II目录 III第一章引言 1课程背景 1目的和意义 1第二章开发工具简介 3MVC设计模式 3SSH架构 3Struts2. 3Spring. 4Hibernate3. 5MYSQL数据库 6第三章系统分析 8可行性分析 8经济可行性 8技术可行性 8运行和操作可行性 8法律可行性 9需求分析 93.3E-R图 10第四章系统设计 11总体设计 11功能模块设计 11数据库设计 13第五章系统实现 15登录模块 15登录界面 15系统首页 16菜单模块 16用户信息模块 18公共信息 18课程信息 19教师信息 20学生信息 20班级信息 21成绩管理模块 22成绩录入 22成绩查询 22第六章总结 28参考文献 29致 谢 31PAGE3PAGE31概论课程背景对集中的办公自动化,开发本系统就成了当务之急。InternetWebWeb一种新兴的技术—WebWebJSP目的和意义着很多困难。如果高校对学生各种信息的管理通过手工整理等方式来处理完成开发工具简介MVC设计模式MVC[1]Model-View-Controller的简称,即模型-视图-控制器。MVCWeb改和扩展简化程序,有利于代码重复使用。模型:用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。模型用来封装和显示数据对象。从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。个视图具有一个控制器。使用MVC的优点:用户在视图界面上发出请求;可以很容易地用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;有利于各层逻辑的复用。总的来说,MVC标准定义。SSH架构Struts2ApacheStruts2是一个优雅的,可扩展的JAVAEEweb框架。它采用MVCjavaJ2EEWebJava架构一样,Struts[2]MVCPAGEPAGE4务逻辑”的能力发挥得淋漓尽致。Web应用都是请求-响应的程序结构。程序是由客户端 client发出http请求开始的,客户端请求被ActionServletActionServlet处,通常有种情况:要求逻辑控制器处理的请求以及单转发的请求。系统主要以第一种请求为主,即ActionServlet需要调用对应的Action。因此,ActionServlet将请求转发到Action,如果请求还配置了响应的 FormBean,则ActionServlet还负责用请求参数填充ActionForm。此时的Action无须从HTTPRequest中获取请求参数而是从ActionForm中或得请求参数Action或得请求参数后调用Model对象由JavaBean处理用户请求。Action处理完用户请求之后,将处理结果包装秤ActionForward,再回送给ActionServlet。Struts2框架的大概处理流程如下:(1)加载类(FilterDispatcher)(2)读取配置(struts(3)派发请求(客户端发送请求)Action(FilterDispatcher)struts配置文件中读取与之相对应的Action启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证(6)处理业务(Actionexecute()方法)返回响应(executeFilterDispatcher)查找响应(FilterDispatcher 根据配置查找响应的是什么信息如SUCCESSERROER,将跳转到哪个jsp页面)响应用户(jsp>客户浏览器端显示)SpringSpring]RodJohnson创建。它视为了解决企业应用开SpringJavaBeanEJB完成的事情。然而,的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益.简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。容器框架。轻量-从大小和开销两个方面而言Sprin都是轻量的Spring应用中的对象不依赖于Sprin的特定类。制反转-Spring通过IoC技术促进了松耦合。当应用其的时候,一个对相反。找依赖对象。可以理解成为Io和JNDI相反。面向切面-Spring务逻辑-仅此而已。它们不负责其他的系统级关注点,例如日志或事务支持。务逻辑-仅此而已。它们不负责其他的系统级关注点,例如日志或事务支持。容器-Spring容器。然而,Spring不应该被混同于传统的重量级EJB容器,它们经常是大与笨重的,难以使用。框架Spring可以将简单的组建配置组合成为复杂的应用在Sprin中,应用对象被声明式地组合典型地是在一个XML文件中Sprin也提供了很多基础功能(事务管理、持久化框架集成等,将应用逻辑的开发留给了你。Hibernate3Hibernate[4]JDBC进行了轻量JavaJava类到数据表之间的映射,也提供了数据查询和恢复机制。JDBCSQL可以大大减少操作数据HibernateHibernateQLHibernateWebHibernate技术本质上是一个提供数据库服务的中间件。它的架构如图所示:图2-1Hibernate架构2-1HibernateHpertiesMapping的。Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTAAPI都被抽象了,Hibernate会替你照管所有的细节。MySQL数据库MySQLABMySQLABMySQLMySQL是MySQLABAB的注册商标。MySQLSQL“结构化查询语言”。SQL是用于访问数据库的MySQL通用公共许可证)体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQLSQLMySQLPAGE8PAGE8服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。MySQL是一个数据库管理系统MySQL据库系统在计算机处理中和独立应用程序或其他部分应用程序一样扮演着重要的角色。MySQL是一个关系数据库管理系统中要好得多,这样做将增加你的速度和灵活性。“MySQL中的SQL代表“StructuredQueryLanguage”(结构化查询语言)。SQL是用于访问数据库的最ANSI/ISOSQLSQL1986SQL-8SQL-9SQL:1999SQL:2003是该标准的当前版本。MySQL是开源的开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下MySQLMySQLGPL(GNUGeneralPublicLicense,通用公共许可),在\hhpt:///licenses中定义了你在不同的场合对软件可以或不GPLMySQL的源代码集成到一个商业MySQLAB购买一个商业许可版本。系统分析可行性分析经济可行性行和维护的费用,估计系统建成后取得的效益。目前,计算机价格已经十分低廉,计算机性能却有了质的飞跃。开发本系统为学校的工作效率带来了长足的进步,为此主要表现有以下几个方面:第二,运行本系统可以节省人力和物力;第四,本系统可以减少信息管理的错误率。所以,本系统的开发在经济上是可行的。技术可行性JSPMySQLMyEclipse7.5的插件,也是一款功能强大的的开发环境,MyEclipse是Eclipse的插件,也是一款功能强大的开发环境,支持代码编写、配置、测试以及除错。

JavaEE集成综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。运行和操作可行性和网络都能够满足条件,因此,本系统在运行上是可行的。本系统使用方便,界面简洁,直观易懂,无论是学生还是教师都可直接上手,管理员通过简单的培训操作本系统也没有问题。PAGEPAGE13法律可行性此具有法律可行性。综上所述,从经济上、技术上、运行操作上都是可行的,所以该开发该系统是可行的。需求分析21经过调研与可行性分析,出于对教师和学生需求的考虑,设计了这套系统,成绩管理系统主要包括:用户信息模块:①管理员可以对课程信息、教师信息、学生信息进行成绩录入:任课教师对本课程成绩进行录入和校验。成绩查询:学生只能对自己的学期各科成绩进行查询;教师能对自己进行查询;管理员可以对所有学生成绩进行查询。成绩管理:管理员可以对各科成绩包括补考成绩进行添加、修改、删除操作。E-R图根据学生成绩管理系统的分析得到系统的E-R图,如图3-1所示。图3-1成绩管理系统E-R图成绩管理系统中各实体之间的关系如下:学生信息与成绩信息:1∶M;班级信息与学生信息:1∶M;学生信息与课程信息:N∶M;教师信息与班级信息:N∶M;角色信息与学生信息:1∶M;角色信息与教师信息:1∶M;班级信息与班级课程信息:N∶M;课程信息与班级课程信息:N∶M。系统设计总体设计根据前面的需求分析,我们将系统划分为如下的三大功能模块。学生、教师、课程、班级的管理包括添加、修改、查看。教师模块包括对学生成绩的录入和查询,以及对自己联系信息的修改。学生成绩管理系统学生教师管理员学生成绩管理系统学生教师管理员成修成成修学教课班绩改绩绩改生师程级查信录查信管管管管看息入询息理理理理图4-1系统模块结构图功能模块设计流程主要描述的是当教师对自己所教课程的学生打分以后学生可以登录查询到自己该科目的成绩。该系统包括三个基本流程,适用于管理员、教师、学生。4-2新修删新修删新修删新修删增改除增改除增改除增改除管理员登录学生列表教师列表课程列表管理员登录学生列表教师列表课程列表班级列表教师登录所教课程列表码修改对应学生列表教师登录所教课程列表码修改对应学生列表成绩查询打分图4-3教师的操作流程4-4录后,可以查询成绩和修改个人信息。学生登录学生登录成绩查询更改个人信息4-4学生的操作流程数据库设计免浪费不必要的人力和物力。在这个数据库管理系统中要建立7张数据表:4-1。表4-1教师信息表列名列标识数据类型长度空值主键教师号Idint11noY名字Namevarchar45yesN性别Sexvarchar20yesN专业projectvarchar45yesN电话phonevarchar45yesN学院collegevarchar45yesN角色代码Roleidint11yesN4-2。4-2角色信息表列名列标识数据类型长度空值主键角色代码Idint11noY角色名称roleNamevarchar45yesN4-3。表4-3学生信息表列名列标识数据类型长度空值主键学号Idint11noY班级代码classNoint11yesN姓名Namevarchar45yesN性别Sexvarchar45yesN专业projectvarchar45yesN电话phonevarchar45yesN学院collegevarchar45yesN角色代码Roleidint11yesNPAGE154。4-4列名列标识数据类型长度空值主键课程号Idint11noY课程名Namevarchar45yesN学时periodvarchar30yesN学分creditsvarchar30yesN教师号teacheridint11yesN4-5。4-5列名列标识数据类型长度空值主键班级号Idint11noY班级名classnamevarchar45yesN班主任teacheridint11yesN4-6。4-6列名列标识数据类型长度空值主键成绩号Idint11noY学生学号stuNoint11yesN课程号courseIdint11yesN成绩Scorevarchar45yesN分类Typetinyint1yesN学期Termvarchar45yesN4-7。4-7列名列标识数据类型长度空值主键班级课程号Idint11noY班级号classIdint11yesN课程号courseIdint11yesN系统实现登录模块登录界面用户通过用户名和密码登录系统,如果数据库中不存在用户名和密码则不能登录。图5-1为登录界面。图5-1登录界面图登录采用的是目前最流行的JS[6]框架jequery[7]的Ajax验证,实现了页面的局部刷新。具体JS代码如下:$.post("login!checkLogin",{username:$("#name").val(),password:$("#pwd").val(),userType:typeValue},function(data){if(data=="true"){document.logfrom.submit();}else{alert("用户名或者密码错误");}},'html');PAGEPAGE16系统首页如果登录成功则进入系统,此时不同角色的用户进入不同的界面。以管理员为例,登录成功之后可以看到如图5-2所示。

图5-2管理员系统首页图本系统菜单采用的是JS加载方式实现。实现了由JS控制的三级菜单。如图图5-3管理员管理界面图图5-3管理员管理界面图最上一层是第一级菜单(基本设置,用户管理,成绩管理,报表管理。通(息,教师信息,学生信息,班级信息。通过第二级菜单可以触发第三级菜单。5-3JS代码如下:vartest=document.getElementById("role").value;varoutlookbar=newoutlook();vart;t=outlookbar.addtitle('个人信息','基本设置',1);outlookbar.additem('查看个人资料',t,'login!personalMessage');outlookbar.additem('修改个人资料',t,'login!changeUserMsg');outlookbar.additem('更改登录密码',t,'login!passwordPage');if(test=='管理员'){t=outlookbar.addtitle('课程信息','用户管理',1);outlookbar.additem('增加课程',t,'course!addCourse');outlookbar.additem('查看课程',t,'course!listCourse');t=outlookbar.addtitle('教师信息','用户管理',1);outlookbar.additem('增加教师',t,'teacher!addTeacher');outlookbar.additem('查看教师',t,'listTeacher');t=outlookbar.addtitle('学生信息','用户管理',1);outlookbar.additem('增加学生',t,'student!addStudent');outlookbar.additem('查看学生',t,'listStudent');t=outlookbar.addtitle('班级信息','用户管理',1);outlookbar.additem('增加班级',t,'classmessage!addClass');outlookbar.additem('查看班级',t,'listClass');}t=outlookbar.addtitle('成绩信息','成绩管理',1);outlookbar.additem('成绩查询',t,'listScore');if(test!='学生'){outlookbar.additem('成绩录入',t,'score!addScore');}if(test=='管理员'){t=outlookbar.addtitle('报表信息','报表管理',1);outlookbar.additem('班级信息',t,'manframe.jsp');outlookbar.additem('课程成绩信息',t,'manframe.jsp');outlookbar.additem('补考信息',t,'manframe.jsp');}t=outlookbar.addtitle('退出系统','基本设置',1);PAGEPAGE23outlookbar.additem('点击退出登录',t,'login!logout');jsjs菜单动态加载到页面。用户信息模块公共信息5-4所示。图5-4个人信息图session体代码如下所示:publicStringlogout()throwsException{HttpServletRequestrequest=ServletActionContext.getRequest HttpSessionsession1=request.getSession();session1.invalidate();return"logout";}课程信息5-5所示。图5-5管理课程图5-5晰。具体分页代码如下所示:<trclass="left_title_1"align="center"><tdcolspan="6"align="center"><s:iftest="%{#request.page.totalRecord!=0}">第${page.currentPage}/${page.totalPage页|<s:iftest="%{#request.page.currentPage==1}">首页|</s:if><s:iftest="%{#request.page.currentPage>1}"><ahref="javascript:topage(1)">首页</a>|</s:if><s:iftest="%{#request.page.currentPage==1}">上一页|</s:if><s:iftest="%{#request.page.currentPage>1}"><ahref="javascript:topage(${page.current1})">上一页</a>|</s:if><s:iftest="%{#request.page.currentPage==#request.page.totalPage}">下一页|</s:if><s:iftest="%{#request.page.currentPage<#request.page.totalPage}"><ahref="javascript:topage(${page.currentPage+1})">下一页</a>|</s:if><s:iftest="%{#request.page.currentPage==#request.page.totalPage}">尾页</s:if><s:iftest="%{#request.page.currentPage<#request.page.totalPage}"><ahref="javascript:topage(${page.totalPage})">尾页</a></s:if>|每页显示:${page.maxPerPage}条</tr></s:if></</tr>教师信息5-6所示。图5-6管理教师图5-6为添加教师页面,管理员可以添加教师信息,同时为用户赋角色,看到所有教师信息。学生信息5-7所示。图5-7学生管理图管理员同样可以增加新的学生信息,通过选择不同班级,为学生分配班级。班级信息只有管理员用户才可以拥有此功能的操作权限,可以添加,查看并修改班级信息。添加班级页面如图5-8所示。图5-8班级管理图每个班级都要指定一个任课教师,可以通过下拉列表动态选择。成绩管理模块成绩录入5-9所示。图5-9成绩录入图首先用户选择课程,选择课程之后会动态加载学生,此次用到了struts2框架doubleselect[8

签——二级下拉列表联动,具体二级下拉列表联动代码如下:<s:doubleselectid="student"name="score.student.id"list="studentList"listKey="id"listValue="name"doubleList="types[top.id]"doubleName="score.course.id"doubleListKey="id"doubleListValue="name"theme="simple"/>管理员,则可以录入所有课程的信息,页面与上图类似。成绩查询息,同时也可以查看自己所带班级的学生课程信息以及针对某一门课程的信息。如果角色为任课老师,则如图5-10所示。图5-10任课老师成绩查询图5-11所示。图5-11任课老师成绩界面图同时,此处用到了Jquery只是下拉框以上部分动态刷新。具体局部刷新代码如下:function changeCourse(){$.ajax({type:"POST",url:"score!scoreByCourse",//contentType:"application/x-www-form-urlencoded;charset=utf-8",PAGE30PAGE30data:"courseId="+$("#course").val(),success:function(data){"$("#courseScore").html(data);}});}这里也是用的ajax技术实现的。用户可以编辑或者删除成绩。管理员页面5-12所示。图5-12班主任成绩查询图如图5-13所示。图5-13班主任查询自己班学生成绩图5-1ajax局部刷新实现,其后台代码如下所示:HttpServletResponseresponse=ServletActionContext.getResponse();response.setHeader("Cache-Control","no-cache");response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.getWriter();Studentse=newStudent();se.setId(Integer.parseInt(courseId));List<Score>allScore=scoreService.getStudentScore(se);Stringresult="<tablewidth=\"99%\"border=\"0\"align=\"center\" cellpadding=\"3\"cellspacing=\"1\"class=\"table_style\">"+"<trclass=\"left_title_1\">"+"<tdwidth=\"8%\"align=\"center\"><spanclass=\"left-title\">编号</span></td>"+"<tdwidth=\"10%\"align=\"center\">姓名</td>"+"<tdwidth=\"15%\"align=\"center\">课程</td>"+"<tdwidth=\"12%\"align=\"center\">学分</td>"+"<tdwidth=\"12%\"align=\"center\">学时</td>"+"<tdwidth=\"10%\"align=\"center\">成绩</td>"+"<tdwidth=\"16%\"align=\"center\">类型</td>"+"<tdwidth=\"17%\"align=\"center\">学期</td>"+"</tr>";for(inti=0;i<allScore.size();i++){Scores=allScore.get(i);result=result+"<trclass=\"left_title_2\"align=\"center\">"+"<tdalign=\"center\">"+(i+1)+"</td>"+"<tdalign=\"center\">"+s.getStudent().getName()+"</td>"+"<tdalign=\"center\">"+s.getCourse().getName()+"</td>"+"<tdalign=\"center\">"+s.getCourse().getCredits()+"</td>"+"<tdalign=\"center\">"+s.getCourse().getPeriod()+"</td>"+"<tdalign=\"center\">"+s.getScore()+"</td>";if(s.getType().toString().equals("1")){"+"</td>";"+"</td>";

result=result+"<tdalign=\"center\">"+"期末成绩}e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论