基于ssh架构的学生成绩管理系统.docx
- 文档编号:3476307
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:19
- 大小:23.98KB
基于ssh架构的学生成绩管理系统.docx
《基于ssh架构的学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《基于ssh架构的学生成绩管理系统.docx(19页珍藏版)》请在冰点文库上搜索。
基于ssh架构的学生成绩管理系统
基于ssh条构的学生成绩管理糸统
(])整合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星
(1J新建DAO星接口。
(2)新建DAO层卖现类(该类要卖现DAO层接口,继承
HibemateDaoSupport类丿。
(3)在Spring紀置文件中增加该DAO层实现类的定义,并需要依
赖注入一个SessionFactorybean的引用。
7、开发Service
(1J新 (2)新建Service层卖现类,该类中需要步朗所调用DAO层接口,并生其setter方由。 (3)ASpring配置文件中增加该Service层卖现类的定义,并需要依赖注入DAO层的beano 8、卖现WEB层 (])在web.xml中增加struts2的过滤器和Spring的监听霉。 (2)增加Spring和Struts2的整合丈件struts.propertieso (3)新建所需的jsp文件。 (4)新建Action类,该类要继承ActionSupport,同肘该类要依赖注入Service的beanf节朗+setter方法丿。 (5)ASpring紀置文件中增加该Action类的定义,并注Service层的beano (6丿在struts.xml中增加该Action的定义,其中class的属性是在Spring中定.义的该Actionbean的id。 9、部署运行 矣絵步軀: 1、建库、建表 建立数据库xscj,建立xsb、dlb、zyb、kcb,cjb等。 学生信息表: xsb 刊名 福述| 数据类晏 可杳 默认值 说朗 XH 学号 Char(6) X 无 主键 2,设计糸统架构 利用分层架构模式,设计糸统架构,糸统可分为表示层、业务逻辑层和教据持久层。 如下图所示: 日…龙)xscjMaiiag^ 由…昌: _hibernate3 [白・注src 国•加org.action ・・• it]•org.dao 匡]…田org・4包o・imp ••• 审or£-niodel lie Ia-JBorg.service II•■ 国…加org.service,imp ・・• 田••曲org.tool =…圍struts.pfopc: 丫ties 5••…[X,struts,xml •I 建立相应packageo 3,添加Spring开发能力 (])定义UserLibrary (2)增加Spring开发能力(添加jar包使用UserLibrary,新建 applicationContext.xmD 注: 可以不增加U$erLibrary,直換把需要的jar包挎貝列classpath下。 4,卖现Hibernate久层 (1)添加Hibernate开发能力 添加jar包: 如黑第一步中己增加,此步可以省略。 注意: 需要把Hibernate由Spring来管理,其中包括亦Spring中配置< (2)通过MyEclipse中Hibernate反向工程,分别生成表对应的 POJO类及相应的映射文件。 注盘: 所有的POJO类和映射文件f^.hbm.xmU放淮.org.model这个packageTo 堆点hxsbf学生表丿的腆射丈件中需要很置和专业的多对一关余,参考代码如下: xmlversion="1・0”encoding=Mutf-8H? > DOCTYPEhibernate-mappingPUBLICh-//Hibernate/HibernateMappingDTD3.0//EN” "hibernate.sourceforge.net/hibern8te・mdpping・3・0・dtd"> vgeneratorclas$=Massigned,,/> 堆点2: 成绩表Ccjb丿中需要合主徴,因为成绩表中的主健是 由xh和kch组成,黒考代码如下: xmlversion=,,1.0,'encoding=Mutf-8"? > DOCTYPEhibernate-mappingPUBLICh-//Hibernate/HibernateMappingDTD3.0//EN” " v! - MappingfileautogeneratedbyMyEclipsePersistenceTools -> •・复金主皱配其中两个key-property.分别对应两个主皱・・> 对应的POJO类由复合主键的POJO类和成绩表的POJO类组成,参考代码如下: Cjbld.java packageorg.model; publicclassCjbldimplementsjava.io.Serializable{ privateStringxh: privateStringkch: publicCjbld0{ } publicCjbld(Stringxh.Stringkch){ this.xh=xh; this,kch=kch: } publicStringgetXhQ{ returnthis.xh; } publicvoidsetXh(Stringxh){this.xh=xh; } publicStringgetKchO{returnthis.kch: } publicvoidsetKch(Stringkch){this.kch=kch; } } Cjb.java packageorg.model; publicclassCjbimplemejava.io.Serializable{privateCjbldid: privateIntegercj; privateIntegerxf: publicCjbO( } publicCjb(Cjbldid){thls.id=id; } publicCjb(Cjbldid.Integercj.Integerxf){this.id=id; this.cj=cj;this.xf=xf: } publicCjbldgetldO{returnthis.id: } publicvoidsetld(Cjbldid){this.id=id; } publicIntegergetCjO{ returnthis.cj: } publicvoidsetCj(lntegercj){this.cj=cj; } publicIntegergetXfO{ returnthis.xf: } publicvoid$etXf(lntegerxf){ this.xf=xf: } } iA: 所有的畝射丈件席要农Spring紀JL丈件中注册,参考 applicationContext>xml如下: v! -岌义数据库驱动--> v! ・・岌义致据库URL-> mysql: //localhost: 3306/xscj,,> v! -岌义的用户名 v! ・・岌义数摒库密码--> -主义Hibernate的SessionFactory-> vbeanid=^sessionFactory11 class=Horg.springframework.orm.hibernate3.Local$essionFactoryBeanM> v! -龙义SessionFactory必须注入DataSource-> v! -龙义Hibernate的SessionFactory為性・•> org.hibernate.dialect.MySQLDialect v! -岌义POJO的映射丈件一〉 /Cjb.hbm.xml 5,卖现DAO 所有DAO层的卖现类需要继承HibernateDaoSupport类,参考代码如下: packageorg.dao.imp; importjava.util.List; importorg.dao.DIDao; importorg.model.Dlb; importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; publicclassDIDaoImpextendsHibernateDaoSupportimplementsDIDao{ publicbooleanexistXh(Stringxh){ Listlist=getHibernateTempIateO»findf,fromDlbwherexh=? \xh);if(list.sizeO>0) returntrue; else returnfalse: } publicDlbfind(Stringxh.Stringkl){ Stringstr[]={xh,kl); ListIist=getHibernateTempIate0.findf7romDlbwherexh=? andkl=? \str);if(listsizeO>0) return(Dlb)Iist.get(0); else returnnull; } publicvoidsave(Dlbuser){ getHibernateTempIateO.save(user): } } 注裔: 所有DAO层的卖现类都需要在Spring配置,并且必须获得一个SessionFactory的引用,然后才能完成持久化访问。 换句话说,DAO的实现类都交由Spring彖薜的Bean来管理。 参考Spring中的 配置DAO的部分代码如下" 6、实现业务逻辑层(Service层丿 主要卖现对DAO层的调用。 堆点依赖注入 依赖注入if•先要亦需要注入的类中步朗一个变量(对象丿,同时生成该变量(对象丿的setter方法。 其次需要在Spring配置文件中设置需要注入的对象。 例如,需要亦螯录的DIServiceManage类中注入DIDaoImp卖例 化后的对象,步骤有二: 首先,在DIServiceManage中步明diDao,同肘生成diDao的setter方法,参考代码如下: packageorg.service.imp; importorg.dao.DIDao: importorg.model.Dlb; importorg.service.DIService; publicclassDIServiceManageimplementsDIService{ 〃对DIDao进行依赖di入 privateDIDaodiDao; publicvoidsetDIDao(DIDaodiDao){ this.dIDao=diDao; } publicbooleanexistXh(Stringxh){ returndlDao.existXh(xh): } publicDlbfind(Stringxh.Stringkl){ returndlDao.find(xh.kl); } publicvoidsave(Dlbuser){ diDao.save(user); } } 其次,A.Spring的紀置文件中进行配置: 7.对业务逻辑增加事务管理 采用BeanNameAutoProxyCreator,根据BeanName自动生成 事务代理的方式。 参考代码: clas$=Horg.springframework.orm.hibern8te3・Hibern8teTr8nsactionMansger”> -HibernateTransactionManagerbean需妥依赖垃入一个SessionFactorybean的 引用“〉 v! ・・犯置.孝务捏就霉“〉 clas$=Horg.springframework.transaction.interceptor.Transactionlnterceptor'^ v! —丰务拦禰赛bean需要依籍垃入一个字务管理春-> v! ・・下面麦义孝务传林禺性-〉 v! -丸义BeanNameAutoProxyCreator.该besn无需枚引用,因此没有id禺性.迂个bean根据孝务栏範各为nfebeanfj动创雄手务代理一〉 clas$=,'org.$pringframework.aop.framework,butoproxy.BeanNsmeAutoProxyCrestor"〉 ••指丸对满足哪些beanname的beanlj动生成业务代理-> v! •・下面是所冇需宴勺动创建李务代理的bean-> -此处可增加其他需妄自动创建李务代理的bean-> v! -下面丸义BeanNameAutoProxyCreator所需的李务捏就孚・・> -此处可埴加其他折的Interceptor-> 8.卖现表示层CAction类和JSP丈件丿 (1J配置web.xmL增加Struts2的过德赛和Spring的监听器,参 考代码如下: org.apache.struts2.dispatcher.FilterDi$patcher
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ssh 架构 学生 成绩管理系统