基于ssh架構(gòu)的學(xué)生成績管理系統(tǒng)_第1頁
基于ssh架構(gòu)的學(xué)生成績管理系統(tǒng)_第2頁
基于ssh架構(gòu)的學(xué)生成績管理系統(tǒng)_第3頁
基于ssh架構(gòu)的學(xué)生成績管理系統(tǒng)_第4頁
基于ssh架構(gòu)的學(xué)生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于ssh架構(gòu)的學(xué)生成績管理系統(tǒng)(1) 整合Struts2、Spring和Hibernate框架(2) 實(shí)現(xiàn)“登錄”功能(3) 實(shí)現(xiàn)“學(xué)生信息管理”功能(4) 實(shí)現(xiàn)“學(xué)生成績管理”功能(5) 實(shí)現(xiàn)分頁功能掌握Struts2的開發(fā)步驟掌握Hibernate的開發(fā)步驟掌握Spring的開發(fā)步驟,理解依賴注入、AOP、事務(wù)管理等掌握Struts2、Spring和Hibernate框架的整合掌握分頁技術(shù)1、 建庫建表2、 利用分層思想,建package3、 添加Spring開發(fā)能力4、 添加Hibernate開發(fā)能力5、 生成Hibernate所需的POJO類和映射文件6、 開發(fā)DAO層(1) 新建D

2、AO層接口。(2) 新建DAO層實(shí)現(xiàn)類(該類要實(shí)現(xiàn)DAO層接口,繼承HibernateDaoSupport類)。(3) 在Spring配置文件中增加該DAO層實(shí)現(xiàn)類的定義,并需要依賴注入一個SessionFactory bean的引用。7、 開發(fā)Service層(1) 新建Service層接口。(2) 新建Service層實(shí)現(xiàn)類,該類中需要聲明所調(diào)用DAO層接口,并生其setter方法。(3) 在Spring配置文件中增加該Service層實(shí)現(xiàn)類的定義,并需要依賴注入DAO層的bean。8、 實(shí)現(xiàn)WEB層(1) 在web.xml中增加struts2的過濾器和Spring的監(jiān)聽器。(2) 增加S

3、pring和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、部署運(yùn)行實(shí)驗(yàn)步驟:1、 建庫、建表建立數(shù)據(jù)庫xscj,建立xsb、dlb、zyb、kcb、cjb等。學(xué)生信息表:xsb列名描述數(shù)據(jù)

4、類型可空默認(rèn)值說明XH學(xué)號Char(6)無主鍵XM姓名Char(8)無XB性別bit無1:男,0:女CSSJ出生時間datetime無ZY_ID專業(yè)IDint無ZXF總學(xué)分int無BZ備注Varchar(200)無ZP照片mediumblob無登錄表:dlb列名描述數(shù)據(jù)類型可空默認(rèn)值說明id標(biāo)識int自增1主鍵,自增xh登錄號char(6)無外鍵,xsb中xhkl口令char(20)無專業(yè)表:zyb列名描述數(shù)據(jù)類型可空默認(rèn)值說明idIDint自增1主鍵zym專業(yè)名char(12)無rs人數(shù)int0fdy輔導(dǎo)員char(8)無課程表:kcb列名描述數(shù)據(jù)類型可空默認(rèn)值說明kch課程號Char(3)

5、否無主鍵kcm課程名Char(12)是無kxxq開課學(xué)期smallint是無1-8xs學(xué)時int是0xf學(xué)分int是0連接表:xs_kcb列名描述數(shù)據(jù)類型可空默認(rèn)值說明xh學(xué)號char(6)主鍵kch課程號char(3)主鍵成績表:cjb列名描述數(shù)據(jù)類型可空默認(rèn)值說明Xh學(xué)號Char(6)否無主鍵Kch課程號Char(3)否無主鍵Cj成績int是0xf學(xué)分int是02、 設(shè)計系統(tǒng)架構(gòu)利用分層架構(gòu)模式,設(shè)計系統(tǒng)架構(gòu),系統(tǒng)可分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。如下圖所示:建立相應(yīng)package。3、 添加Spring開發(fā)能力(1) 定義User Library(2) 增加Spring開發(fā)能力(添加

6、jar包使用User Library,新建applicationContext.xml)注:可以不增加User Library,直接把需要的jar包拷貝到classpath下。4、 實(shí)現(xiàn)Hibernate持久層(1) 添加Hibernate開發(fā)能力添加jar包:如果第一步中已增加,此步可以省略。注意:需要把Hibernate交由Spring來管理,其中包括在Spring中配置“dataSource”和“sessionFactory”(2) 通過MyEclipse中Hibernate 反向工程,分別生成表對應(yīng)的POJO類及相應(yīng)的映射文件。注意:所有的POJO類和映射文件(*.hbm.xml)放在

7、org.model這個package下。難點(diǎn)1:xsb(學(xué)生表)的映射文件中需要設(shè)置和專業(yè)的多對一關(guān)系,參考代碼如下: 難點(diǎn)2:成績表(cjb)中需要配置復(fù)合主鍵,因?yàn)槌煽儽碇械闹麈I是由xh和kch組成,參考代碼如下: 對應(yīng)的POJO類由復(fù)合主鍵的POJO類和成績表的POJO類組成,參考代碼如下:CjbId.javapackage org.model;public class CjbId implements java.io.Serializable private String xh;private String kch;public CjbId() public CjbId(String

8、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;

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

10、j(Integer cj) this.cj = cj;public Integer getXf() return this.xf;public void setXf(Integer xf) this.xf = xf;重點(diǎn):所有的映射文件需要在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.x

11、ml5、 實(shí)現(xiàn)DAO所有DAO層的實(shí)現(xiàn)類需要繼承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(Strin

12、g 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;pu

13、blic void save(Dlb user) getHibernateTemplate().save(user);注意:所有DAO層的實(shí)現(xiàn)類都需要在Spring配置,并且必須獲得一個SessionFactory的引用,然后才能完成持久化訪問。換句話說,DAO的實(shí)現(xiàn)類都交由Spring容器的Bean來管理。參考Spring中的配置DAO的部分代碼如下“6、 實(shí)現(xiàn)業(yè)務(wù)邏輯層(Service層)主要實(shí)現(xiàn)對DAO層的調(diào)用。難點(diǎn)1:依賴注入依賴注入首先要在需要注入的類中聲明一個變量(對象),同時生成該變量(對象)的setter方法。其次需要在Spring配置文件中設(shè)置需要注入的對象。例如,需要在登錄

14、的DlServiceManage類中注入DlDaoImp實(shí)例化后的對象,步驟有二:首先,在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進(jìn)行依賴注入private DlDao dlDao;public void setDlDao(DlDao d

15、lDao) 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的配置文件中進(jìn)行配置:7、 對業(yè)務(wù)邏輯增加事務(wù)管理采用BeanNameAutoProxyCreator,根據(jù)Bean Name自動生成事務(wù)代理的方式。參考代碼:PROPAGATION_REQUIR

16、EDPROPAGATION_REQUIREDxsServicekcServicecjServicezyServicetransactionInterceptor8、 實(shí)現(xiàn)表示層(Action類和JSP文件)(1) 配置web.xml,增加Struts2的過濾器和Spring的監(jiān)聽器,參考代碼如下: struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF

17、/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.op

18、ensymphony.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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論