收藏 分销(赏)

基于ssh架构的学生成绩管理系统.doc

上传人:天**** 文档编号:2405414 上传时间:2024-05-29 格式:DOC 页数:16 大小:121.50KB
下载 相关 举报
基于ssh架构的学生成绩管理系统.doc_第1页
第1页 / 共16页
基于ssh架构的学生成绩管理系统.doc_第2页
第2页 / 共16页
基于ssh架构的学生成绩管理系统.doc_第3页
第3页 / 共16页
基于ssh架构的学生成绩管理系统.doc_第4页
第4页 / 共16页
基于ssh架构的学生成绩管理系统.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、。基于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) 新建

2、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) 增加

3、Spring和Struts2的整合文件struts.properties。(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列名描述数

4、据类型可空默认值说明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

5、)否无主键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开发能力(添

6、加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)放

7、在org.model这个package下。难点1:xsb(学生表)的映射文件中需要设置和专业的多对一关系,参考代码如下:!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类组成,参考代码如下:Cj

8、bId.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() retur

9、n 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

10、= 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配置文件中注册,参考applicationCon

11、text.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.spri

12、ngframework.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)

13、 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

14、来管理。参考Spring中的配置DAO的部分代码如下“6、 实现业务逻辑层(Service层)主要实现对DAO层的调用。难点1:依赖注入依赖注入首先要在需要注入的类中声明一个变量(对象),同时生成该变量(对象)的setter方法。其次需要在Spring配置文件中设置需要注入的对象。例如,需要在登录的DlServiceManage类中注入DlDaoImp实例化后的对象,步骤有二:首先,在DlServiceManage中声明dlDao,同时生成dlDao的setter方法,参考代码如下:package org.service.imp;import org.dao.DlDao;import org.

15、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);pub

16、lic void save(Dlb user) dlDao.save(user);其次,在Spring的配置文件中进行配置:7、 对业务逻辑增加事务管理采用BeanNameAutoProxyCreator,根据Bean Name自动生成事务代理的方式。参考代码:PROPAGATION_REQUIREDPROPAGATION_REQUIREDxsServicekcServicecjServicezyServicetransactionInterceptor8、 实现表示层(Action类和JSP文件)(1) 配置web.xml,增加Struts2的过滤器和Spring的监听器,参考代码如下: s

17、truts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/classes/applicationContext.xml (2) 增加struts.properties文件,配置Struts2的Action交由Spring来管理,参考代码如下:struts.objectFactory=spring(3) 新建JSP页面和Action类,并在struts.xm

18、l和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;pri

19、vate 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=dlService.find(dl.getXh(), dl.getKl();if(user!=null)Map session=(Map)ActionContext.getContext().getSession();session.put(user, user);return SUCCESS;elsereturn ERROR;struts.xml参考配置:/login_success.jsp/login.jsp/login.jspapplicationContext.xml参考配置:9、 部署运行【Gjava人才】www.G java人才学习天堂THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考-可编辑修改-

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服