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

下載本文檔

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

文檔簡(jiǎn)介

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

2、AO層接口。(2) 新建DAO層實(shí)現(xiàn)類(該類要實(shí)現(xiàn)DAO層接口,繼承HibernateDaoSupport類)。(3) 在Spring配置文件中增加該DAO層實(shí)現(xiàn)類的定義,并需要依賴注入一個(gè)SessionFactory bean的引用。7、 開(kāi)發(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的過(guò)濾器和Spring的監(jiān)聽(tīng)器。(2) 增加S

3、pring和Struts2的整合文件perties。(3) 新建所需的jsp文件。(4) 新建Action類,該類要繼承ActionSupport,同時(shí)該類要依賴注入Service的bean(聲明+setter方法)。(5) 在Spring配置文件中增加該Action類的定義,并注入Service層的bean。(6) 在struts.xml中增加該Action的定義,其中class的屬性是在Spring中定義的該Action bean的id。9、部署運(yùn)行實(shí)驗(yàn)步驟:1、 建庫(kù)、建表建立數(shù)據(jù)庫(kù)xscj,建立xsb、dlb、zyb、kcb、cjb等。學(xué)生信息表:xsb列名描述數(shù)據(jù)

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

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

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

7、org.model這個(gè)package下。難點(diǎn)1:xsb(學(xué)生表)的映射文件中需要設(shè)置和專業(yè)的多對(duì)一關(guān)系,參考代碼如下: 難點(diǎn)2:成績(jī)表(cjb)中需要配置復(fù)合主鍵,因?yàn)槌煽?jī)表中的主鍵是由xh和kch組成,參考代碼如下: 對(duì)應(yīng)的POJO類由復(fù)合主鍵的POJO類和成績(jī)表的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配置文件中注冊(cè),參考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配置,并且必須獲得一個(gè)SessionFactory的引用,然后才能完成持久化訪問(wèn)。換句話說(shuō),DAO的實(shí)現(xiàn)類都交由Spring容器的Bean來(lái)管理。參考Spring中的配置DAO的部分代碼如下“6、 實(shí)現(xiàn)業(yè)務(wù)邏輯層(Service層)主要實(shí)現(xiàn)對(duì)DAO層的調(diào)用。難點(diǎn)1:依賴注入依賴注入首先要在需要注入的類中聲明一個(gè)變量(對(duì)象),同時(shí)生成該變量(對(duì)象)的setter方法。其次需要在Spring配置文件中設(shè)置需要注入的對(duì)象。例如,需要在登錄

14、的DlServiceManage類中注入DlDaoImp實(shí)例化后的對(duì)象,步驟有二:首先,在DlServiceManage中聲明dlDao,同時(shí)生成dlDao的setter方法,參考代碼如下:package org.service.imp;import org.dao.DlDao;import org.model.Dlb;import org.service.DlService;public class DlServiceManage implements DlService/對(duì)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、 對(duì)業(yè)務(wù)邏輯增加事務(wù)管理采用BeanNameAutoProxyCreator,根據(jù)Bean Name自動(dòng)生成事務(wù)代理的方式。參考代碼:PROPAGATION_REQUIR

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

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

最新文檔

評(píng)論

0/150

提交評(píng)論