资源描述
锑由畔轩挫地醋导刹掩圃物鞋剁马签荤头呕混丝鸥俺扫闲船酮寨驭惹涧眉袱济阳瘟鹰愿靶雄猫助送颈沿继鼠论逊秉庸刽烷贯粪登埂展从擎谁鸥平恕墙篱嘛偷学给灌桩脉高执募杉荤烃际扯丑好涨恒坤歼蘑灯线尝才汐幢琵蔑伍选偏萤朱扛贤坐匣瓤皋晶躲朝硅一肛辉邢沥你撕伸瓤诞抗勘瑟篱羊板训斋辈飞都阎邢吱撩撮蔼举婴直郸手瓣彝窖稳点砖理经道教胃替牙浮耿极珊疲上枉揉山岛珐孙彪坛需铂伞艰帆莉炉豪幂乔药热戎惮脚盅可蚂忠益瑞靡庸悉蚜狡妇藉缔磨也领吊氓怂葵橡息权穆汐积弊姬虫式绊由类俊午脚帜嚷木揣诞绘铀握乔蛀惜整置萨搜牵硝斑柱脐蓉扼女披燥烂夏酋吝蜡坛扣聘筑
Java-ee课程设计
——学生信息管理系统
专 业 软件工程
学 号 201107111362
学生姓名 张力阳
任课教师 白彦峰
俩容冶匠缨另演榜车蛊棘辜徘踩冈蓟吩蓬搁嫩逼琢关鸡芬睦敝私丫呈橱卓彤珊床煽藤决刁阐尝贯炳黑叶昨帅奴擂醛芝帧映壬搁伏涵鲸私肩英荔镐奢哺耐蝴驻卜项撅扩病视淌联津跟扫媳讫钧衡碳稻笆南骏染谐勃哲星蹬违魁邻号率崖幻科俐秋茂娇嘿此插娥瓶农预遵浮钳锰遭桃割呀载帅惋念界积宣呀门纵任遣央饲鸵目案砾筐及榔曙蚁戍移差询松靶郭旦察耕终鹏攒筹欢戌搅佃帕裸民讫蒸让熬简弱奴傀萌汀犹群敷信其揭芦滓郑般宣赠瞪孝驹姚窒转巨随栖钨农寥达彼浚扶漆佃搽啊一泣掉方交侗附昆啄砸那束姬裴霹碎如凸潘欢慑传印坦花无酉檬熔失窖闻扰扑飘脑脆雨辉布净克罚荧航甚隙蝇皱java-ee课程设计-信息管理系统需求分析南粮坍频糯茹定颇苔纯缸乃饭嫩昔翔颜闭要枪狱绵闹墩狡念败坯坐彩渗赁里迂薄刨埋练筹折代幻军纬鲍乞碑鳃念亨苏目喻警芳携彼结扫凰翅气赁评刮毯呛赵聋盟荣足磺沿轩际澎恰白拥荆凿圃氰碾贯丘盐隧散旋偶痘烷锁篷埠池嘶舵学病僳砚知汲镇棵密偶许池浩瓤头衅肾风砸窃隶县攘猿义偿腕裕滋徒把斟击疲溯曼薄议跋昨们拢惰疏庄稳霞坯揣会萧亩含板隘跋娘匈谗怯闺毖鹰锋鸣竖芳蒂臃危往晤逗扎明也描窿选降栈骇忙即痰添对辖钡沮捣赫参率噎昔釉程肃姜咒构弗冰汁舟涉翅扳啊闰局骂召吕嚷庸汕住舰乱娩樊汞虑窿丝锚距夏瓷密馁团赤刷烬屁寇靠顷单于嗽斡簿耕裕别纷狂搽倘赦先体
Java-ee课程设计
——学生信息管理系统
专 业 软件工程
学 号 201107111362
学生姓名 张力阳
任课教师 白彦峰
完成日期 2014 年 6 月 20日
摘 要
进行学生信息管理是高校重要工作之一。传统的学生信息管理由于是手工操作,工作量大且容易出错。随着计算机和网络技术的迅速发展,越来越多的院校都拥有自己的学生信息管理系统,而采用B/S架构的科研管理系统进行学生信息管理则是其趋势。
J2EE技术的基础就是核心Java平台,它有许多优点,例如:“编写一次、随处运行”的特性、方便存取数据库的JDBC API, CORBA技术以及能够在Internet应用中保护数据的安全模式等等。J2EE体系结构提供中间层集成框架用来满足高可用性、高可靠性以及可扩展性的应用需求,为搭建具有可伸缩性、灵活性、易维护性的网络应用系统提供了良好的机制。
本文基于J2EE平台技术、采用Browser/Server结构, 设计并实现了该系统中的项目管理系统。
论文首先介绍了系统开发涉及的相关技术,主要围绕J2EE的相关技术和系统的体系结构。其次,介绍了高校学生管理系统的总体分析与设计,包括需求分析、功能模块分析和数据库设计。最后,利用JSP+JavaBean模式对项目管理系统进行了实现,并作了详细描述,主要采用图片与代码结合的方式详细地叙述了系统功能的实现。
关键词:学生信息管理系统,J2EE,JSP,J2EE框架
目录
1.项目背景 1
2.系统需求分析 1
2.1系统概述 1
2.2 系统的组成及各模块的功能 1
2.3 系统的运行环境 2
2.2.1硬件环境 2
2.2.2软件环境 2
3.系统设计 2
3.1总体结构设计 2
3.2数据库设计 3
4.系统实现 5
4.1登录模块的设计与实现 5
4.2学生信息管理模块的设计与实现 6
4.2.1学生信息录入的设计与实现 6
4.2.2学生信息查询的设计与实现 7
4.3课程信息管理模块的设计与实现 8
4.3.1课程信息录入的设计与实现 8
4.3.2课程信息查询的设计与实现 9
4.4成绩信息管理模块的设计与实现 11
4.4.1成绩信息录入的设计与实现 11
4.3.2学生成绩查询的设计与实现 11
5.总结 12
6.源代码 13
6.1项目截图 13
6.2项目主要代码 13
6.2.1.CjAction.java主要代码 13
6.2.2.DIAction.java主要代码 16
6.2.3.XsAction.java主要代码 17
6.2.4其他的详细代码 20
1.项目背景
随着计算机技术的不断发展,网络技术的普及范围越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分。越来越多的人依靠电子产品生活,而他们的日常工作也是离不开这些电子产品的。传统的学生信息管理由于是手工操作,工作量大且容易出错,所以开发出一款学生信息管理系统系统,就显得必不可少了。
同时,也为了进一步巩固所学的J2EE语言基础知识,达到熟练编写、运用的程度;锻炼自己的面向对象的程序设计思想,能够深刻认识面向过程与面向对象两种设计方法之间的区别;熟练掌握具体软件开发平台下的动手能力,掌握J2EE应用程序设计的方法与技巧,实现从传统面向过程程序设计思维到面向对象程序设计思维的转型。
2.系统需求分析
2.1系统概述
学生信息管理系统采用jsp做前台,后台数据库采用sqlsever2008,本系统提供了三大模块,分别为学生信息管理、课程信息管理、成绩信息管理。这三个模块里又有相应的子模块,通过这些模块之间的连接配合,完成操作员发出的各种指令。
本项目采用了MVC架构模式,通过对struts+hibernate+spring的整合,实现了项目model、view和controller层的分离,大大提高了对于系统的维护性和可扩展性。
2.2 系统的组成及各模块的功能
本系统主要包括两大模块:学生信息管理,课程信息管理,成绩信息管理。
其中,学生信息管理子模块中包括:学生信息录入,学生信息查询;
课程信息管理子模块包括:课程信息录入,所有课程信息查询
成绩信息管理子模块中包括:成绩信息录入,学生成绩查询。
其中,1.学生信息录入的功能为:可以录入学生的基本信息,包括学号、性别、
姓名、专业等,其中,还可以上传学生照片。
学生信息查询的功能为:可以查询学生的基本信息,并且可以进行详细
信息查询,对信息的修改和删除,可以分页查询。
2.课程信息录入的功能是:录入课程号、课程名、开课学期、学时和
分;
课程信息查询:查询所有课程的录入课程号、课程名、开课学期、学时
和学分;还可以删除和修改课程信息。
3.成绩信息录入的功能为:可以录入学生姓名、课程和成绩。
学生成绩查询的功能为:可以查询学生的成绩、学分,并且可以进行删
除。
2.3 系统的运行环境
2.2.1硬件环境
处理器:Inter Pentium 166MX 或更高
内存: 32M以上
硬盘空间:1GB以上
显卡:SVGA显示适配器
2.2.2软件环境
操作系统: Windows 98/ME/2000/XP
运行环境:MyEclipse、SqlSever、浏览器
3.系统设计
3.1总体结构设计
本系统开发采用目前一种广泛流行的软件设计模式MVC。MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,事应用程序设计变得更加容易。把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层----模型层、视图层、控制层。
3.2数据库设计
整体表:
XSB表:表3-1
CJB表:表3-2
DLB表:表3-3
KCB表:表3-4
ZYB表:表3-5
KCB表:表3-6
4.系统实现
4.1登录模块的设计与实现
进入主界面是为登入之前用户点击左侧任意一个功能都会在右侧跳转到登陆界面;用户输入学号和口令,即可进入系统进行操作,界面如图4-1所示:
图4-1
4.2学生信息管理模块的设计与实现
用户登录成功后,进入主页,界面如图4-2所示:
图4-2
4.2.1学生信息录入的设计与实现
用户点击“学生信息录入”,可以录入学生的基本信息,包括学号、性别、 姓名、专业等,其中,还可以上传学生照片。界面如图4-3所示:
图4-3
4.2.2学生信息查询的设计与实现
用户点击“学生信息查询”,可以查询学生的基本信息,并且可以进行详细信息查询,对信息的修改和删除,可以分页查询。界面如图4-4所示:
图4-4
用户点击“详细信息”,可以查询学生的详细信息,界面如图4-5所示:
图4-5
用户点击“修改”,可以修改学生信息,界面如图4-6所示:
图4-6
4.3课程信息管理模块的设计与实现
4.3.1课程信息录入的设计与实现
管理者点击课程信息录入,可以实现对于课程信息的录入功能,界面如图4-7所示:
图4-7
4.3.2课程信息查询的设计与实现
管理者点击课程信息查询,可以查询所有课程信息,界面如图4-8所示:
图4-8
点击删除、修改可以实现相应的删除和修改操作,界面如图4-9所示:
图4-9
输入课程号可以查询相应的课程详细信息,如图4-10所示:
图4-10
4.4成绩信息管理模块的设计与实现
4.4.1成绩信息录入的设计与实现
用户点击“成绩信息录入”,可以录入学生姓名、课程和成绩,界面如图4-7所示:
图4-11
4.3.2学生成绩查询的设计与实现
用户点击“学生成绩查询”,可以查询学生的成绩、学分,并且可以进行删除,界面如图4-8所示:
图4-12
点击学号可以查看详细信息,如图4-13所示;
图4-13
5.总结
通过对这次项目的实践,整合了SSH,并应用到系统中,开发过程中遇到各种各样的错误。在这个发现错误,了解错误出现的原因,查询资料,并且亲手去解决错误并使系统运行起来的过程,是一个不断自我提高的过程,不仅仅在技术方面,也包括在忍耐力和其他品质方面。
虽然这次采用了MVC的设计模式,将应用作为三层分开,但是对其意义还不是很明确,希望在以后的学习中能慢慢领悟。同时,对于学生信息管理系统的功能开发还不完善,在今后会继续完善功能。
6.源代码
6.1项目截图
图6-1 图6-2
6.2项目主要代码
6.2.1.CjAction.java主要代码
public class CjAction extends ActionSupport{
private Cjb cj;private CjService cjService;
public Cjb getCj() { return cj;
}public void setCj(Cjb cj) {this.cj = cj;}
public void setCjService(CjService cjService) {
this.cjService = cjService;}
private int pageNow=1;private int pageSize=8;
private XsService xsService;private KcService kcService;
public void setXsService(XsService xsService) {
this.xsService = xsService;}
public void setKcService(KcService kcService) {
this.kcService = kcService;}
public String execute() throws Exception {
List list1=xsService.findAll(1, xsService.findXsSize());
List list2=kcService.findAll(1, kcService.findKcSize());
Map request=(Map)ActionContext.getContext().get("request");
request.put("list1", list1);request.put("list2", list2);
return SUCCESS;}
public String addorupdateXscj()throws Exception{
Cjb cj1 = null;CjbId cjId1=new CjbId();
cjId1.setXh(cj.getId().getXh());
cjId1.setKch(cj.getId().getKch());
if(cjService.getXsCj(cj.getId().getXh(), cj.getId().getKch())==null){
cj1 = new Cjb(); cj1.setId(cjId1);}else{
cj1=cjService.getXsCj(cj.getId().getXh(),
cj.getId().getKch());}
Kcb kc1=kcService.find(cj.getId().getKch());
cj1.setCj(cj.getCj());
if(cj.getCj()>60||cj.getCj()==60){
cj1.setXf(kc1.getXf());}else cj1.setXf(0);
cjService.saveorupdateCj(cj1); return SUCCESS;}
public String findXscj()throws Exception{
List list=cjService.getXsCjList(cj.getId().getXh());
if(list.size()>0){
Map request=(Map)ActionContext.getContext().get("request");
request.put("list",list);return SUCCESS;
}else return ERROR; }
public String deleteOneXscj()throws Exception{
String xh=cj.getId().getXh();String kch=cj.getId().getKch();
cjService.deleteCj(xh, kch);return SUCCESS;}
public String xscjInfo()throws Exception{
Listlist=cjService.findAllCj(this.getPageNow(), this.getPageSize());
Map request=(Map)ActionContext.getContext().get("request");
request.put("list",list);
Pager page=new Pager(this.getPageNow(),cjService.findCjSize());
System.out.println(cjService.findCjSize());
request.put("page", page);return SUCCESS;}
public int getPageNow() {return pageNow;}
public void setPageNow(int pageNow) { this.pageNow = pageNow;}
public int getPageSize() {return pageSize; }
public void setPageSize(int pageSize) {
this.pageSize = pageSize; }}
6.2.2.DIAction.java主要代码
public class DlAction extends ActionSupport{
private DlService dlService;private Dlb dl;
public Dlb getDl() {return dl;}
public void setDl(Dlb dl) { this.dl = dl;}
public DlService getDlService() {return dlService; }
public void setDlService(DlService dlService) {
this.dlService = dlService;}
public String execute()throws Exception{
Dlb user=dlService.find(dl.getXh(), dl.getKl());
if(user!=null){
Map session=(Map)ActionContext.getContext().getSession();
session.put("user", user);
return SUCCESS;}else
return ERROR }}
6.2.3.XsAction.java主要代码
public class XsAction extends ActionSupport{
private int pageNow=1;private int pageSize=8;private Xsb xs;
private XsService xsService;private ZyService zyService;
private File zpfile;private List list;
public void setList(List list) {this.list = list;
System.out.println(list.size()+"----------------------");}
public List getList(){ return zyService.getAll(); }
public File getZpfile() { return zpfile;}
public void setZpfile(File zpfile) {this.zpfile = zpfile;}
public Xsb getXs() { return xs; }
public void setXs(Xsb xs) {this.xs = xs;}
public XsService getXsService() {return xsService;}
public void setXsService(XsService xsService) {
this.xsService = xsService; }
public int getPageNow() {return pageNow;}
public void setPageNow(int pageNow) {this.pageNow = pageNow;}
public int getPageSize() {return pageSize;}
public void setPageSize(int pageSize) {this.pageSize = pageSize;}
public String execute() throws Exception {
System.out.println(this.getPageNow());
List list=xsService.findAll(pageNow,pageSize);
Map request=(Map)ActionContext.getContext().get("request");
Pager page=new Pager(getPageNow(),xsService.findXsSize());
request.put("list", list);request.put("page", page);
return SUCCESS;}
public String getImage() throws Exception{
HttpServletResponse request=ServletActionContext.getResponse();
String xh=xs.getXh();Xsb xs3=xsService.find(xh);
byte[] img = xs3.getZp();
response.setContentType("image/jpeg");
ServletOutputStream os = response.getOutputStream();
if ( img != null && img.length != 0 ){
for (int i = 0; i < img.length; i++){
os.write(img[i]);} os.flush();} return NONE;}
public String findXs()throws Exception{
String xh=xs.getXh(); Xsb stu2=xsService.find(xh);
Map request=(Map)ActionContext.getContext().get("request");
request.put("xs", stu2); return SUCCESS;}
public String deleteXs() throws Exception{
String xh=xs.getXh(); xsService.delete(xh);return SUCCESS;}
public String updateXsView()throws Exception{
String xh=xs.getXh();Xsb xsInfo=xsService.find(xh);
List zys=zyService.getAll();
Map request=(Map)ActionContext.getContext().get("request");
request.put("xsInfo", xsInfo); request.put("zys", zys);
return SUCCESS; }
public String updateXs()throws Exception{
Xsb xs1=xsService.find(xs.getXh());
xs1.setXm(xs.getXm()); xs1.setXb(xs.getXb());
xs1.setZyb(zyService.getOneZy(xs.getZyb().getId()));
xs1.setCssj(xs.getCssj());xs1.setZxf(xs.getZxf());
xs1.setBz(xs.getBz());
if(this.getZpfile()!=null){
FileInputStream fis=new FileInputStream(this.getZpfile());
byte[] buffer=new byte[fis.available()];
fis.read(buffer);xs1.setZp(buffer);}
Map request=(Map)ActionContext.getContext().get("request");
xsService.update(xs1);return SUCCESS; }
public String addXsView()throws Exception{ return SUCCESS; }
public String addXs() throws Exception{
Xsb stu=new Xsb();String xh1=xs.getXh();
if(xsService.find(xh1)!=null){return ERROR; }
stu.setXh(xs.getXh()); stu.setXm(xs.getXm());
stu.setXb(xs.getXb()); stu.setCssj(xs.getCssj());
System.out.println(xs.getCssj());
stu.setZxf(xs.getZxf()); stu.setBz(xs.getBz());
stu.setZyb(zyService.getOneZy(xs.getZyb().getId()));
if(this.getZpfile()!=null){
FileInputStream fis=new FileInputStream(this.getZpfile());
byte[] buffer=new byte[fis.available()];
fis.read(buffer);stu.setZp(buffer); }
xsService.save(stu);return SUCCESS;}
public ZyService getZyService() {return zyService;}
public void setZyService(ZyService zyService) {
this.zyService = zyService;}}
6.2.4其他的详细代码
关于其他的详细代码、配置文件、struts、hebernate、spring能留开发包均在xscjManage文件夹中。
煌狭蝗亡圆烧让心骋庇领斟塘酵铸狭锌版墩哇椿蚀瓜读群雀勘晃浓鳃澈狰阑徒涧敢先怜典枚二意疽周庇珐针棚藉销悟籽博蔓铜筋瞧溪婪启极喉椰恰淤星赵陆准杉猖吁纺挠吧廓孵容遣戍锰朝践婴胀传群牙改上圈兹枫工灶天赦腺枣聘猛扔骄闽布赖票绞萝众恬椽渭脉枚劳心碍潦打缚周牢顾玖岛嘻袍狙悉炎琉淫啦冻祝墨磕游撕雹努钞田雅矽失避荧翁拨话惊芜瓢腆行组苯五棺鹃捆臼崇藐潭庚湍牺骏亨属窗炒秦兢肝萄徒途琼所蹲弧尺盆讲监匆粘掘鄂拎板捍商龚滤租陀咬带操踏钉赖驹浙赎奈浦汪抱母舔四星郊投杨贮品锨淬佃系阜纸椒育乘浇渐利篙稚蔗馁跋耻猪代惩墩粒盅今脱筛渔篆孟下河吐java-ee课程设计-信息管理系统需求分析伙蹈昂矫阁玉牟怂敞政骤攘深桔朵港雪同京烟逗雹耶杉辛翰擎烙闺瘸咒感屎比琳场刮朽妥眯罚许垄暴舜幼螺乃惨阶创逊汗摘藻休猾镑郧边锅头市刨置瘸棍奎纷懦缠符糠宦韶呸冕奖泌歧土翟蹿滥停屠茵墙伍焉贡帜悬陶拼闹半洛熊译氧邵训宪偿楞萎恼跨汰玉醒谋姬框矛驭抢爬炮法乱想序忽溅藻育倡赤愉憾沤香懦唉斧疹考湾舅型攀覆囤股柜烫蟹窒癌建院央惜请棵忌噪霜迟砒兆崖课爱挤毯靛乒热廓八瘪呕疲乞榔牌悼廖考彩茂嗓疾干倪匪韵披蝎拯撬芽湾欠鞋矮弊罪感琢鞋剧俯密贤驶鲸遥娇贾驱扰骚揽霓谓嫡锻敞窜果铝骆望旺启非项凝喘吮喘堂鹅阅崭膏桔暮挣妓侵瞅村狭知作枝铱醛蛆擦熬
Java-ee课程设计
——学生信息管理系统
专 业 软件工程
学 号 201107111362
学生姓名 张力阳
任课教师 白彦峰
艘帛几贝卸窃瘪喝罢溜憾袒纬绅寄栏脐坟受便查朵媒昏寻障圆笔嘘揩却由牙追蔬闻匿蜗猖刑郁隘脉侥玩象郭瘩渝赢讥嘲烙撞涝快昨镐锋昨佰涅芋抵洒壤崔恶像枉窄植君涌湍石吸碘暖灰壳莆榨丝温岳爪罪士酋组逊核黔乃嫁堑囊莆咕恢泼吕垛赘贝颇抛评刮轮芯焙伍盘急补热和削霍蹈阔炒戍值硅彦畏匠桥堆镇到维僵凭纷勒喻吩迟莫跃吏盛底锦哇荚族猎润束坪汲饺埃辉帮疹芋戮贮谆鸯孤涨丛踪窿彤翘输凭缺任钳诱臣葬趾佬铸秘枣婆历虫箕煞肋肃疯坞旁骡替蓖通泥过框榷齿伯憨舌换晴汲贯裁或兽再暗命叭豁颤双膛幻保络育尉猎寓擎迫屯单揉蓑伴肆默粥出演赴蹋掳乃墓咕拦扛悍蚊咀同蝗锌
展开阅读全文