还剩21页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
J__a-ee课程设计专业软件工程学号201107111362学生姓名张力阳任课教师白彦峰完成日期2014年6月20日摘要进行学生信息管理是高校重要工作之一传统的学生信息管理由于是手工操作,工作量大且容易出错随着计算机和网络技术的迅速发展,越来越多的院校都拥有自己的学生信息管理系统,而采用B/S架构的科研管理系统进行学生信息管理则是其趋势J2EE技术的基础就是核心J__a平台,它有许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBCAPICORBA技术以及能够在Internet应用中保护数据的安全模式等等J2EE体系结构提供中间层集成框架用来满足高可用性、高可靠性以及可扩展性的应用需求,为搭建具有可伸缩性、灵活性、易维护性的网络应用系统提供了良好的机制本文基于J2EE平台技术、采用Browser/Server结构设计并实现了该系统中的项目管理系统论文首先介绍了系统__涉及的相关技术,主要围绕J2EE的相关技术和系统的体系结构其次,介绍了高校学生管理系统的总体分析与设计,包括需求分析、功能模块分析和数据库设计最后,利用JSP+J__aBean模式对项目管理系统进行了实现,并作了详细描述,主要采用__与代码结合的方式详细地叙述了系统功能的实现关键词学生信息管理系统,J2EE,JSP,J2EE框架目录TOC\o1-3\h\z\u
1.项目背景
12.系统需求分析
12.1系统概述
12.2系统的组成及各模块的功能
12.3系统的运行环境
2223.系统设计
23.1总体结构设计
23.2数据库设计
34.系统实现
54.1登录模块的设计与实现
54.2学生信息管理模块的设计与实现
64.
2.1学生信息录入的设计与实现
674.3课程信息管理模块的设计与实现
8894.4成绩信息管理模块的设计与实现
114.
4.1成绩信息录入的设计与实现
11115.总结
126.源代码
136.1项目截图
136.2项目主要代码
13131617201.项目背景随着计算机技术的不断发展,网络技术的普及范围越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分越来越多的人依靠电子产品生活,而他们的日常工作也是离不开这些电子产品的传统的学生信息管理由于是手工操作,工作量大且容易出错,所以__出一款学生信息管理系统系统,就显得必不可少了同时,也为了进一步巩固所学的J2EE语言基础知识,达到熟练编写、运用的程度;锻炼自己的面向对象的程序设计思想,能够深刻认识面向过程与面向对象两种设计方法之间的区别;熟练掌握具体软件__平台下的动手能力,掌握J2EE应用程序设计的方法与技巧,实现从传统面向过程程序设计思维到面向对象程序设计思维的转型
2.系统需求分析
2.1系统概述学生信息管理系统采用jsp做前台,后台数据库采用sqlsever2008,本系统提供了三大模块,分别为学生信息管理、课程信息管理、成绩信息管理这三个模块里又有相应的子模块,通过这些模块之间的连接配合,完成操作员发出的各种指令本项目采用了MVC架构模式,通过对struts+hibernate+spring的整合,实现了项目model、view和controller层的分离,大大提高了对于系统的维护性和可扩展性
2.2系统的组成及各模块的功能本系统主要包括两大模块学生信息管理,课程信息管理,成绩信息管理其中,学生信息管理子模块中包括学生信息录入,学生信息查询;课程信息管理子模块包括:课程信息录入,所有课程信息查询成绩信息管理子模块中包括成绩信息录入,学生成绩查询其中,
1.学生信息录入的功能为可以录入学生的基本信息,包括学号、性别、姓名、专业等,其中,还可以上传学生照片学生信息查询的功能为可以查询学生的基本信息,并且可以进行详细信息查询,对信息的修改和删除,可以分页查询
2.课程信息录入的功能是录入课程号、课程名、开课学期、学时和分;课程信息查询查询所有课程的录入课程号、课程名、开课学期、学时和学分;还可以删除和修改课程信息
3.成绩信息录入的功能为可以录入学生姓名、课程和成绩学生成绩查询的功能为可以查询学生的成绩、学分,并且可以进行删除
2.3系统的运行环境处理器InterPentium166MX或更高内存32M以上硬盘空间1GB以上显卡SVGA显示适配器操作系统Windows98/ME/2000/XP运行环境MyEclipse、SqlSever、浏览器
3.系统设计
3.1总体结构设计本系统__采用目前一种广泛流行的软件设计模式MVCMVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征这种抽象结构能有助于将应用程序分割成若干逻辑部件,事应用程序设计变得更加容易把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层----模型层、视图层、控制层
3.2数据库设计整体表X__表表3-1CJB表表3-2DLB表表3-3KCB表表3-4ZYB表表3-5KCB表表3-
64.系统实现
4.1登录模块的设计与实现进入主界面是为登入之前用户__左侧任意一个功能都会在右侧跳转到登陆界面;用户输入学号和口令,即可进入系统进行操作,界面如图4-1所示图4-
14.2学生信息管理模块的设计与实现用户登录成功后,进入主页,界面如图4-2所示图4-
24.
2.1学生信息录入的设计与实现用户__“学生信息录入”,可以录入学生的基本信息,包括学号、性别、姓名、专业等,其中,还可以上传学生照片界面如图4-3所示图4-
34.
2.2学生信息查询的设计与实现用户__“学生信息查询”,可以查询学生的基本信息,并且可以进行详细信息查询,对信息的修改和删除,可以分页查询界面如图4-4所示图4-4用户__“详细信息”,可以查询学生的详细信息,界面如图4-5所示图4-5用户__“修改”,可以修改学生信息,界面如图4-6所示图4-
64.3课程信息管理模块的设计与实现管理者__课程信息录入,可以实现对于课程信息的录入功能,界面如图4-7所示图4-7管理者__课程信息查询,可以查询所有课程信息,界面如图4-8所示图4-8__删除、修改可以实现相应的删除和修改操作,界面如图4-9所示图4-9输入课程号可以查询相应的课程详细信息,如图4-10所示图4-
104.4成绩信息管理模块的设计与实现
4.
4.1成绩信息录入的设计与实现用户__“成绩信息录入”,可以录入学生姓名、课程和成绩,界面如图4-7所示图4-
114.
3.2学生成绩查询的设计与实现用户__“学生成绩查询”,可以查询学生的成绩、学分,并且可以进行删除,界面如图4-8所示图4-12__学号可以查看详细信息,如图4-13所示;图4-
135.总结通过对这次项目的实践,整合了SSH,并应用到系统中,__过程中遇到各种各样的错误在这个发现错误,了解错误出现的原因,查询资料,并且亲手去解决错误并使系统运行起来的过程,是一个不断自我提高的过程,不仅仅在技术方面,也包括在忍耐力和其他品质方面虽然这次采用了MVC的设计模式,将应用作为三层分开,但是对其意义还不是很明确,希望在以后的学习中能慢慢领悟同时,对于学生信息管理系统的功能__还不完善,在今后会继续完善功能
6.源代码
6.1项目截图图6-1图6-
26.2项目主要代码publicclassCjActionextendsActionSupport{privateCjbcj;privateCjServi__cjServi__;publicCjbgetCj{returncj;}publicvoidsetCjCjbcj{this.cj=cj;}publicvoidsetCjServi__CjServi__cjServi__{this.cjServi__=cjServi__;}privateintpageNow=1;privateintpageSize=8;privateXsServi__xsServi__;privateKcServi__kcServi__;publicvoidsetXsServi__XsServi__xsServi__{this.xsServi__=xsServi__;}publicvoidsetKcServi__KcServi__kcServi__{this.kcServi__=kcServi__;}publicStringexecutethrowsEx__ption{Listlist1=xsServi__.findAll1xsServi__.findXsSize;Listlist2=kcServi__.findAll1kcServi__.findKcSize;__prequest=__pActionContext.getContext.getrequest;request.putlist1list1;request.putlist2list2;returnSUC__SS;}publicStringaddorupdateXscjthrowsEx__ption{Cjbcj1=null;CjbIdcjId1=newCjbId;cjId
1.setXhcj.getId.getXh;cjId
1.setKchcj.getId.getKch;ifcjServi__.getXsCjcj.getId.getXhcj.getId.getKch==null{cj1=newCjb;cj
1.setIdcjId1;}else{cj1=cjServi__.getXsCjcj.getId.getXhcj.getId.getKch;}Kcbkc1=kcServi__.findcj.getId.getKch;cj
1.setCjcj.getCj;ifcj.getCj60||cj.getCj==60{cj
1.setXfkc
1.getXf;}elsecj
1.setXf0;cjServi__.s__eorupdateCjcj1;returnSUC__SS;}publicStringfindXscjthrowsEx__ption{Listlist=cjServi__.getXsCjListcj.getId.getXh;iflist.size0{__prequest=__pActionContext.getContext.getrequest;request.putlistlist;returnSUC__SS;}elsereturnERROR;}publicStringdeleteOneXscjthrowsEx__ption{Stringxh=cj.getId.getXh;Stringkch=cj.getId.getKch;cjServi__.deleteCjxhkch;returnSUC__SS;}publicStringxsc___fothrowsEx__ption{Listlist=cjServi__.findAllCjthis.getPageNowthis.getPageSize;__prequest=__pActionContext.getContext.getrequest;request.putlistlist;Pagerpage=newPagerthis.getPageNowcjServi__.findCjSize;request.putpagepage;returnSUC__SS;}publicintgetPageNow{returnpageNow;}publicvoidsetPageNowintpageNow{this.pageNow=pageNow;}publicintgetPageSize{returnpageSize;}publicvoidsetPageSizeintpageSize{this.pageSize=pageSize;}}publicclassDlActionextendsActionSupport{privateDlServi__dlServi__;privateDlbdl;publicDlbgetDl{returndl;}publicvoidsetDlDlbdl{this.dl=dl;}publicDlServi__getDlServi__{returndlServi__;}publicvoidsetDlServi__DlServi__dlServi__{this.dlServi__=dlServi__;}publicStringexecutethrowsEx__ption{Dlbuser=dlServi__.finddl.getXhdl.getKl;ifuser!=null{__psession=__pActionContext.getContext.getSession;session.putuseruser;returnSUC__SS;}elsereturnERROR}}publicclassXsActionextendsActionSupport{privateintpageNow=1;privateintpageSize=8;privateX__xs;privateXsServi__xsServi__;privateZyServi__zyServi__;privateFilezpfile;privateListlist;publicvoidsetListListlist{this.list=list;publicListgetList{returnzyServi__.getAll;}publicFilegetZpfile{returnzpfile;}publicvoidsetZpfileFilezpfile{this.zpfile=zpfile;}publicX__getXs{returnxs;}publicvoidsetXsX__xs{this.xs=xs;}publicXsServi__getXsServi__{returnxsServi__;}publicvoidsetXsServi__XsServi__xsServi__{this.xsServi__=xsServi__;}publicintgetPageNow{returnpageNow;}publicvoidsetPageNowintpageNow{this.pageNow=pageNow;}publicintgetPageSize{returnpageSize;}publicvoidsetPageSizeintpageSize{this.pageSize=pageSize;}publicStringexecutethrowsEx__ption{Listlist=xsServi__.findAllpageNowpageSize;__prequest=__pActionContext.getContext.getrequest;Pagerpage=newPagergetPageNowxsServi__.findXsSize;request.putlistlist;request.putpagepage;returnSUC__SS;}publicStringgetI__gethrowsEx__ption{HttpServletResponserequest=ServletActionContext.getResponse;Stringxh=xs.getXh;X__xs3=xsServi__.findxh;byte[]img=xs
3.getZp;response.setContentTypei__ge/jpeg;ServletOutputStreamos=response.getOutputStream;ifimg!=nullimg.length!=0{forinti=0;iimg.length;i++{os.writeimg[i];}os.flush;}returnNONE;}publicStringfindXsthrowsEx__ption{Stringxh=xs.getXh;X__stu2=xsServi__.findxh;__prequest=__pActionContext.getContext.getrequest;request.putxsstu2;returnSUC__SS;}publicStringdeleteXsthrowsEx__ption{Stringxh=xs.getXh;xsServi__.deletexh;returnSUC__SS;}publicStringupdateXsViewthrowsEx__ption{Stringxh=xs.getXh;X__xsInfo=xsServi__.findxh;Listzys=zyServi__.getAll;__prequest=__pActionContext.getContext.getrequest;request.putxsInfoxsInfo;request.putzyszys;returnSUC__SS;}publicStringupdateXsthrowsEx__ption{X__xs1=xsServi__.findxs.getXh;xs
1.setXmxs.getXm;xs
1.setXbxs.getXb;xs
1.setZybzyServi__.getOneZyxs.getZyb.getId;xs
1.setCssjxs.getCssj;xs
1.setZxfxs.getZxf;xs
1.setBzxs.getBz;ifthis.getZpfile!=null{FileInputStreamfis=newFileInputStreamthis.getZpfile;byte[]buffer=newbyte[fis.__ailable];fis.readbuffer;xs
1.setZpbuffer;}__prequest=__pActionContext.getContext.getrequest;xsServi__.updatexs1;returnSUC__SS;}publicStringaddXsViewthrowsEx__ption{returnSUC__SS;}publicStringaddXsthrowsEx__ption{X__stu=newX__;Stringxh1=xs.getXh;ifxsServi__.findxh1!=null{returnERROR;}stu.setXhxs.getXh;stu.setXmxs.getXm;stu.setXbxs.getXb;stu.setCssjxs.getCssj;stu.setZxfxs.getZxf;stu.setBzxs.getBz;stu.setZybzyServi__.getOneZyxs.getZyb.getId;ifthis.getZpfile!=null{FileInputStreamfis=newFileInputStreamthis.getZpfile;byte[]buffer=newbyte[fis.__ailable];fis.readbuffer;stu.setZpbuffer;}xsServi__.s__estu;returnSUC__SS;}publicZyServi__getZyServi__{returnzyServi__;}publicvoidsetZyServi__ZyServi__zyServi__{this.zyServi__=zyServi__;}}关于其他的详细代码、配置文件、struts、hebernate、spring能留__包均在xscj__nage文件夹中——学生信息管理系统。