SSH学生成绩管理系统.docx

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

SSH学生成绩管理系统.docx

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

SSH学生成绩管理系统.docx

SSH学生成绩管理系统

湖北民族学院科技学院2011年秋季期末试卷

A或B

课程

高级Web技术

使用班级

制卷份数

考生姓名

命题人

张华

教研室审核人

单位审核人

答题纸数

班级

题号

十一

合计

学号

评分

分数

阅卷人

要求:

1、命题一律用A4纸;

2、除填空题、选择题外,题间不留空。

考查形式为论文撰写,要求如下:

(1)内容:

以一个实际SSH系统(Struts+Hiberate+Spring)为核心,从系统产生背景、问题提出、问题分析、系统分析、系统设计、系统实现等方面进行阐述。

(2)具体要求:

1、题名要求简明扼要,能反映论文主题;摘要必须说明研究目的、方法、结果、结论,字数200字左右为宜,忌与引言及结论中的内容雷同;

2、字数3000~5000字

3、论文参考架构(请注意各级内容的字体格式,以示区分)

论文标题(三号黑体)

班级、学号、姓名(五号宋)

摘要(五号黑):

内容(五号宋)

关键字(五号黑):

内容(五号宋)

1 引言

2系统设计   (小三黑)

2.1设计原则(四号黑)

正文(五号宋)

2.2功能模块划分

3系统实现

3.1实现技术

3.2具体实现

3.3性能优化(如果有的话)

4 结束语

对基于SSH的学生成绩管理系统

班级:

K0309316学号:

k030931605姓名:

邓贵青

摘要:

基于C/S和B/S模式的传统成绩管理系统,存在系统层次架构不清,侵入性强,复用性低等缺陷,而且增加了管理人员的工作量和复杂度.鉴于此,采用MVC模式和SSH技术,构建分层的体系结构,使成绩管理的业务逻辑与控制逻辑分离开来,并在此基础上设计并实现了基于B/S模式的学生成绩管理系统.实际应用表明,基于SSH技术的成绩管理系统框架层次清晰,降低了模块间的耦合度,提高了复用的粒度,增强了系统模块的可复用性、灵活性和可维护性.

关键词:

学生成绩管理系统设计SSH技术维护性

Basedonthestudents'achievementofSSHmanagementsystem

Abstract

BasedonC/SandB/Smodelofthetraditionalperformancemanagementsystem,existingsystemlevelarchitectureisnotclear,invasivestrong,reuselowgradedefect,butalsoincreasethemanagementpersonnel'sworkloadandcomplexity.Inviewofthis,theMVCpatternandSSHtechnology,constructingthesystemofthelayeredstructure,makethebusinesslogicoftheperformancemanagementandcontrollogicseparated,andonthebasisofdesignandrealizetheB/Smodelbasedonstudentachievementmanagementsystem.ThepracticalapplicationshowsthatthetechnologybasedonSSHperformancemanagementsystemframeworkdistinctlevel,reducethecouplingbetweenmodules,andimprovethereuseofparticlesize,enhancethesystemmoduleofthereusability,flexibilityandmaintainability.

Keywords:

Students'performancemanagementsystemdesignSSHtechnology

Maintenance

要求:

(1)整合Struts2、Spring和Hibernate框架

(2)实现“登录”功能

(3)实现“学生信息管理”功能

(4)实现“学生成绩管理”功能

(5)实现分页功能

目的:

掌握Struts2的开发步骤

掌握Hibernate的开发步骤

掌握Spring的开发步骤,理解依赖注入、AOP、事务管理等

掌握Struts2、Spring和Hibernate框架的整合

掌握分页技术

思路:

1、建库建表

2、利用分层思想,建package

3、添加Spring开发能力

4、添加Hibernate开发能力

5、生成Hibernate所需的POJO类和映射文件

6、开发DAO层

(1)新建DAO层接口。

(2)新建DAO层实现类(该类要实现DAO层接口,继承HibernateDaoSupport类)。

(3)在Spring配置文件中增加该DAO层实现类的定义,并需要依赖注入一个SessionFactorybean的引用。

7、开发Service层

(1)新建Service层接口。

(2)新建Service层实现类,该类中需要声明所调用DAO层接口,并生其setter方法。

(3)在Spring配置文件中增加该Service层实现类的定义,并需要依赖注入DAO层的bean。

8、实现WEB层

(1)在web.xml中增加struts2的过滤器和Spring的监听器。

(2)增加Spring和Struts2的整合文件struts.properties。

(3)新建所需的jsp文件。

(4)新建Action类,该类要继承ActionSupport,同时该类要依赖注入Service的bean(声明+setter方法)。

(5)在Spring配置文件中增加该Action类的定义,并注入Service层的bean。

(6)在struts.xml中增加该Action的定义,其中class的属性是在Spring中定义的该Actionbean的id。

9、部署运行

实验步骤:

1、建库、建表

建立数据库xscj,建立xsb、dlb、zyb、kcb、cjb等。

学生信息表:

xsb

列名

描述

数据类型

可空

默认值

说明

XH

学号

Char(6)

×

主键

XM

姓名

Char(8)

×

XB

性别

bit

×

1:

男,0:

CSSJ

出生时间

datetime

ZY_ID

专业ID

int

×

ZXF

总学分

int

BZ

备注

Varchar(200)

ZP

照片

mediumblob

登录表:

dlb

列名

描述

数据类型

可空

默认值

说明

id

标识

int

×

自增1

主键,自增

xh

登录号

char(6)

×

外键,xsb中xh

kl

口令

char(20)

×

专业表:

zyb

列名

描述

数据类型

可空

默认值

说明

id

ID

int

×

自增1

主键

zym

专业名

char(12)

×

rs

人数

int

0

fdy

辅导员

char(8)

课程表:

kcb

列名

描述

数据类型

可空

默认值

说明

kch

课程号

Char(3)

主键

kcm

课程名

Char(12)

 

kxxq

开课学期

smallint

1-8

xs

学时

int

0

 

xf

学分

int

0

 

连接表:

xs_kcb

列名

描述

数据类型

可空

默认值

说明

xh

学号

char(6)

主键

kch

课程号

char(3)

主键

成绩表:

cjb

列名

描述

数据类型

可空

默认值

说明

Xh

学号

Char(6)

主键

Kch

课程号

Char(3)

 主键

Cj

成绩

int

0

 

xf

学分

int

0

 

2、设计系统架构

利用分层架构模式,设计系统架构,系统可分为表示层、业务逻辑层和数据持久层。

如下图所示:

建立相应package。

3、添加Spring开发能力

(1)定义UserLibrary

(2)增加Spring开发能力(添加jar包——使用UserLibrary,新建applicationContext.xml)

注:

可以不增加UserLibrary,直接把需要的jar包拷贝到classpath下。

4、实现Hibernate持久层

(1)添加Hibernate开发能力

添加jar包:

如果第一步中已增加,此步可以省略。

注意:

需要把Hibernate交由Spring来管理,其中包括在Spring中配置“dataSource”和“sessionFactory”

(2)通过MyEclipse中Hibernate反向工程,分别生成表对应的POJO类及相应的映射文件。

注意:

所有的POJO类和映射文件(*.hbm.xml)放在org.model这个package下。

难点1:

xsb(学生表)的映射文件中需要设置和专业的多对一关系,参考代码如下:

xmlversion="1.0"encoding="utf-8"?

>

DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"

"

难点2:

成绩表(cjb)中需要配置复合主键,因为成绩表中的主键是由xh和kch组成,参考代码如下:

xmlversion="1.0"encoding="utf-8"?

>

DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"

"

--

MappingfileautogeneratedbyMyEclipsePersistenceTools

-->

--复合主键配置其中两个key-property,分别对应两个主键-->

对应的POJO类由复合主键的POJO类和成绩表的POJO类组成,参考代码如下:

CjbId.java

packageorg.model;

publicclassCjbIdimplementsjava.io.Serializable{

privateStringxh;

privateStringkch;

publicCjbId(){

}

publicCjbId(Stringxh,Stringkch){

this.xh=xh;

this.kch=kch;

}

publicStringgetXh(){

returnthis.xh;

}

publicvoidsetXh(Stringxh){

this.xh=xh;

}

publicStringgetKch(){

returnthis.kch;

}

publicvoidsetKch(Stringkch){

this.kch=kch;

}

}

Cjb.java

packageorg.model;

publicclassCjbimplementsjava.io.Serializable{

privateCjbIdid;

privateIntegercj;

privateIntegerxf;

publicCjb(){

}

publicCjb(CjbIdid){

this.id=id;

}

publicCjb(CjbIdid,Integercj,Integerxf){

this.id=id;

this.cj=cj;

this.xf=xf;

}

publicCjbIdgetId(){

returnthis.id;

}

publicvoidsetId(CjbIdid){

this.id=id;

}

publicIntegergetCj(){

returnthis.cj;

}

publicvoidsetCj(Integercj){

this.cj=cj;

}

publicIntegergetXf(){

returnthis.xf;

}

publicvoidsetXf(Integerxf){

this.xf=xf;

}

}

重点:

所有的映射文件需要在Spring配置文件中注册,参考applicationContext.xml如下:

5、实现DAO

所有DAO层的实现类需要继承HibernateDaoSupport类,参考代码如下:

packageorg.dao.imp;

importjava.util.List;

importorg.dao.DlDao;

importorg.model.Dlb;

importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;

publicclassDlDaoImpextendsHibernateDaoSupportimplementsDlDao{

publicbooleanexistXh(Stringxh){

Listlist=getHibernateTemplate().find("fromDlbwherexh=?

",xh);

if(list.size()>0)

returntrue;

else

returnfalse;

}

publicDlbfind(Stringxh,Stringkl){

Stringstr[]={xh,kl};

Listlist=getHibernateTemplate().find("fromDlbwherexh=?

andkl=?

",str);

if(list.size()>0)

return(Dlb)list.get(0);

else

returnnull;

}

publicvoidsave(Dlbuser){

getHibernateTemplate().save(user);

}

}

注意:

所有DAO层的实现类都需要在Spring配置,并且必须获得一个SessionFactory的引用,然后才能完成持久化访问。

换句话说,DAO的实现类都交由Spring容器的Bean来管理。

参考Spring中的配置DAO的部分代码如下“

6、实现业务逻辑层(Service层)

主要实现对DAO层的调用。

难点1:

依赖注入

依赖注入首先要在需要注入的类中声明一个变量(对象),同时生成该变量(对象)的setter方法。

其次需要在Spring配置文件中设置需要注入的对象。

例如,需要在登录的DlServiceManage类中注入DlDaoImp实例化后的对象,步骤有二:

首先,在DlServiceManage中声明dlDao,同时生成dlDao的setter方法,参考代码如下:

packageorg.service.imp;

importorg.dao.DlDao;

importorg.model.Dlb;

importorg.service.DlService;

publicclassDlServiceManageimplementsDlService{

//对DlDao进行依赖注入

privateDlDaodlDao;

publicvoidsetDlDao(DlDaodlDao){

this.dlDao=dlDao;

}

publicbooleanexistXh(Stringxh){

returndlDao.existXh(xh);

}

publicDlbfind(Stringxh,Stringkl){

returndlDao.find(xh,kl);

}

publicvoidsave(Dlbuser){

dlDao.save(user);

}

}

其次,在Spring的配置文件中进行配置:

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

当前位置:首页 > 教学研究 > 教学计划

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

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