1、SSH学生成绩管理系统湖北民族学院科技学院 2011年秋季期 末 试卷A或B 卷课 程高级Web技术使用班级制卷份数考生姓名命题人张华教研室审核人单位审核人答题纸数班 级题 号一二三四五六七八九十十一合计学 号评 分分 数阅卷人要求:1、命题一律用A4纸; 2、除填空题、选择题外,题间不留空。 考查形式为论文撰写,要求如下:(1) 内容:以一个实际SSH系统(Struts+Hiberate+Spring)为核心,从系统产生背景、问题提出、问题分析、系统分析、系统设计、系统实现等方面进行阐述。(2) 具体要求:、题名要求简明扼要,能反映论文主题;摘要必须说明研究目的、方法、结果、结论,字数200
2、字左右为宜,忌与引言及结论中的内容雷同; 2、 字数30005000 字3、 论文参考架构 (请注意各级内容的字体格式,以示区分) 论文标题 (三号黑体) 班级、学号、姓名 (五号宋) 摘 要(五号黑): 内容(五号宋)关键字(五号黑): 内容(五号宋)1引言 2 系统设计(小三黑)2.1 设计原则 (四号黑) 正文(五号宋) 2.2 功能模块划分3 系统实现3.1 实现技术3.2 具体实现3.3 性能优化(如果有的话) 4结束语对基于SSH的学生成绩管理系统 班级:K0309316 学号:k030931605姓名:邓贵青 摘要:基于C/S和B/S模式的传统成绩管理系统,存在系统层次架构不清,
3、侵入性强,复用性低等缺陷,而且增加了管理人员的工作量和复杂度.鉴于此,采用MVC模式和SSH技术,构建分层的体系结构,使成绩管理的业务逻辑与控制逻辑分离开来,并在此基础上设计并实现了基于B/S模式的学生成绩管理系统.实际应用表明,基于SSH技术的成绩管理系统框架层次清晰,降低了模块间的耦合度,提高了复用的粒度,增强了系统模块的可复用性、灵活性和可维护性.关键词:学生成绩管理系统 设计 SSH技术 维护性Based on the students achievement of SSH management systemAbstractBased on C/S and B/S model of t
4、he traditional performance management system, existing system level architecture is not clear, invasive strong, reuse low grade defect, but also increase the management personnels workload and complexity. In view of this, the MVC pattern and SSH technology, constructing the system of the layered str
5、ucture, make the business logic of the performance management and control logic separated, and on the basis of design and realize the B/S model based on student achievement management system. The practical application shows that the technology based on SSH performance management system framework dis
6、tinct level, reduce the coupling between modules, and improve the reuse of particle size, enhance the system module of the reusability, flexibility and maintainability.Keywords:Students performance management system design SSH technologyMaintenance要求:(1) 整合Struts2、Spring和Hibernate框架(2) 实现“登录”功能(3) 实
7、现“学生信息管理”功能(4) 实现“学生成绩管理”功能(5) 实现分页功能目的: 掌握Struts2的开发步骤掌握Hibernate的开发步骤掌握Spring的开发步骤,理解依赖注入、AOP、事务管理等掌握Struts2、Spring和Hibernate框架的整合掌握分页技术思路:1、 建库建表2、 利用分层思想,建package3、 添加Spring开发能力4、 添加Hibernate开发能力5、 生成Hibernate所需的POJO类和映射文件6、 开发DAO层(1) 新建DAO层接口。(2) 新建DAO层实现类(该类要实现DAO层接口,继承HibernateDaoSupport类)。(3
8、) 在Spring配置文件中增加该DAO层实现类的定义,并需要依赖注入一个SessionFactory bean的引用。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) 新建A
9、ction类,该类要继承ActionSupport,同时该类要依赖注入Service的bean(声明+setter方法)。(5) 在Spring配置文件中增加该Action类的定义,并注入Service层的bean。(6) 在struts.xml中增加该Action的定义,其中class的属性是在Spring中定义的该Action bean的id。9、部署运行实验步骤:1、 建库、建表建立数据库xscj,建立xsb、dlb、zyb、kcb、cjb等。学生信息表:xsb列名描述数据类型可空默认值说明XH学号Char(6)无主键XM姓名Char(8)无XB性别bit无1:男,0:女CSSJ出生时间
10、datetime无ZY_ID专业IDint无ZXF总学分int无BZ备注Varchar(200)无ZP照片mediumblob无登录表:dlb列名描述数据类型可空默认值说明id标识int自增1主键,自增xh登录号char(6)无外键,xsb中xhkl口令char(20)无专业表:zyb列名描述数据类型可空默认值说明idIDint自增1主键zym专业名char(12)无rs人数int0fdy辅导员char(8)无课程表:kcb列名描述数据类型可空默认值说明kch课程号Char(3)否无主键kcm课程名Char(12)是无kxxq开课学期smallint是无1-8xs学时int是0xf学分int是
11、0连接表:xs_kcb列名描述数据类型可空默认值说明xh学号char(6)主键kch课程号char(3)主键成绩表:cjb列名描述数据类型可空默认值说明Xh学号Char(6)否无主键Kch课程号Char(3)否无主键Cj成绩int是0xf学分int是02、 设计系统架构利用分层架构模式,设计系统架构,系统可分为表示层、业务逻辑层和数据持久层。如下图所示:建立相应package。3、 添加Spring开发能力(1) 定义User Library(2) 增加Spring开发能力(添加jar包使用User Library,新建applicationContext.xml)注:可以不增加User Li
12、brary,直接把需要的jar包拷贝到classpath下。4、 实现Hibernate持久层(1) 添加Hibernate开发能力添加jar包:如果第一步中已增加,此步可以省略。注意:需要把Hibernate交由Spring来管理,其中包括在Spring中配置“dataSource”和“sessionFactory”(2) 通过MyEclipse中Hibernate 反向工程,分别生成表对应的POJO类及相应的映射文件。注意:所有的POJO类和映射文件(*.hbm.xml)放在org.model这个package下。难点1:xsb(学生表)的映射文件中需要设置和专业的多对一关系,参考代码如下
13、:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 难点2:成绩表(cjb)中需要配置复合主键,因为成绩表中的主键是由xh和kch组成,参考代码如下:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 对应的POJO类由复合主键的POJO类和成绩表的POJO类组成,参考代码如下:CjbId.javapackage org.model;public class CjbId implements jav
14、a.io.Serializable private String xh; private String kch; public CjbId() public CjbId(String xh, String kch) this.xh = xh; this.kch = kch; public String getXh() return this.xh; public void setXh(String xh) this.xh = xh; public String getKch() return this.kch; public void setKch(String kch) this.kch =
15、 kch; Cjb.javapackage org.model;public class Cjb implements java.io.Serializable private CjbId id; private Integer cj; private Integer xf; public Cjb() public Cjb(CjbId id) this.id = id; public Cjb(CjbId id, Integer cj, Integer xf) this.id = id; this.cj = cj; this.xf = xf; public CjbId getId() retur
16、n this.id; public void setId(CjbId id) this.id = id; public Integer getCj() return this.cj; public void setCj(Integer cj) this.cj = cj; public Integer getXf() return this.xf; public void setXf(Integer xf) this.xf = xf; 重点:所有的映射文件需要在Spring配置文件中注册,参考applicationContext.xml如下:5、 实现DAO所有DAO层的实现类需要继承Hiber
17、nateDaoSupport类,参考代码如下:package org.dao.imp;import java.util.List;import org.dao.DlDao;import org.model.Dlb;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class DlDaoImp extends HibernateDaoSupport implements DlDao public boolean existXh(String xh) List list=getHibernate
18、Template().find(from Dlb where xh=?,xh); if(list.size()0) return true; else return false; public Dlb find(String xh, String kl) String str=xh,kl; List list=getHibernateTemplate().find(from Dlb where xh=? and kl=?,str); if(list.size()0) return (Dlb) list.get(0); else return null; public void save(Dlb
19、 user) getHibernateTemplate().save(user); 注意:所有DAO层的实现类都需要在Spring配置,并且必须获得一个SessionFactory的引用,然后才能完成持久化访问。换句话说,DAO的实现类都交由Spring容器的Bean来管理。参考Spring中的配置DAO的部分代码如下“ 6、 实现业务逻辑层(Service层)主要实现对DAO层的调用。难点1:依赖注入依赖注入首先要在需要注入的类中声明一个变量(对象),同时生成该变量(对象)的setter方法。其次需要在Spring配置文件中设置需要注入的对象。例如,需要在登录的DlServiceManage
20、类中注入DlDaoImp实例化后的对象,步骤有二:首先,在DlServiceManage中声明dlDao,同时生成dlDao的setter方法,参考代码如下:package org.service.imp;import org.dao.DlDao;import org.model.Dlb;import org.service.DlService;public class DlServiceManage implements DlService /对DlDao进行依赖注入 private DlDao dlDao; public void setDlDao(DlDao dlDao) this.dlDao = dlDao; public boolean existXh(String xh) return dlDao.existXh(xh); public Dlb find(String xh, String kl) return dlDao.find(xh, kl); public void save(Dlb user) dlDao.save(user); 其次,在Spring的配置文件中进行配置:bean id=dlService class=org.service.imp.DlService
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1