基于ssh架构的学生成绩管理系统.doc_第1页
基于ssh架构的学生成绩管理系统.doc_第2页
基于ssh架构的学生成绩管理系统.doc_第3页
基于ssh架构的学生成绩管理系统.doc_第4页
基于ssh架构的学生成绩管理系统.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

.基于ssh架构的学生成绩管理系统(1) 整合Struts2、Spring和Hibernate框架(2) 实现“登录”功能(3) 实现“学生信息管理”功能(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) 在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的整合文件perties。(3) 新建所需的jsp文件。(4) 新建Action类,该类要继承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出生时间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是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 Library,直接把需要的jar包拷贝到classpath下。4、 实现Hibernate持久层(1) 添加Hibernate开发能力添加jar包:如果第一步中已增加,此步可以省略。注意:需要把Hibernate交由Spring来管理,其中包括在Spring中配置“dataSource”和“sessionFactory”(2) 通过MyEclipse中Hibernate 反向工程,分别生成表对应的POJO类及相应的映射文件。注意:所有的POJO类和映射文件(*.hbm.xml)放在org.model这个package下。难点1:xsb(学生表)的映射文件中需要设置和专业的多对一关系,参考代码如下: 难点2:成绩表(cjb)中需要配置复合主键,因为成绩表中的主键是由xh和kch组成,参考代码如下: 对应的POJO类由复合主键的POJO类和成绩表的POJO类组成,参考代码如下:CjbId.javapackage org.model;public class CjbId implements java.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 = 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() return 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如下:org.hibernate.dialect.MySQLDialect org/model/Dlb.hbm.xmlorg/model/Xsb.hbm.xmlorg/model/Kcb.hbm.xmlorg/model/Zyb.hbm.xmlorg/model/Cjb.hbm.xml5、 实现DAO所有DAO层的实现类需要继承HibernateDaoSupport类,参考代码如下: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 DlDaopublic boolean existXh(String xh) List list=getHibernateTemplate().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);elsereturn null;public void save(Dlb user) getHibernateTemplate().save(user);注意:所有DAO层的实现类都需要在Spring配置,并且必须获得一个SessionFactory的引用,然后才能完成持久化访问。换句话说,DAO的实现类都交由Spring容器的Bean来管理。参考Spring中的配置DAO的部分代码如下“6、 实现业务逻辑层(Service层)主要实现对DAO层的调用。难点1:依赖注入依赖注入首先要在需要注入的类中声明一个变量(对象),同时生成该变量(对象)的setter方法。其次需要在Spring配置文件中设置需要注入的对象。例如,需要在登录的DlServiceManage类中注入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的配置文件中进行配置:7、 对业务逻辑增加事务管理采用BeanNameAutoProxyCreator,根据Bean Name自动生成事务代理的方式。参考代码:PROPAGATION_REQUIREDPROPAGATION_REQUIREDxsServicekcServicecjServicezyServicetransactionInterceptor8、 实现表示层(Action类和JSP文件)(1) 配置web.xml,增加Struts2的过滤器和Spring的监听器,参考代码如下: struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/classes/applicationContext.xml (2) 增加perties文件,配置Struts2的Action交由Spring来管理,参考代码如下:struts.objectFactory=spring(3) 新建JSP页面和Action类,并在struts.xml和applicationContext.xml中配置。以登录为例:Action类参考代码:package org.action;import java.util.Map;import org.model.Dlb;import org.service.DlService;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class DlAction extends ActionSupportprivate 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 ExceptionDlb user=d

温馨提示

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

评论

0/150

提交评论