![基于SSH的網(wǎng)上選課系統(tǒng)_第1頁](http://file4.renrendoc.com/view10/M01/1F/3D/wKhkGWV3wt2AFpwsAACFI0cr3Mg455.jpg)
![基于SSH的網(wǎng)上選課系統(tǒng)_第2頁](http://file4.renrendoc.com/view10/M01/1F/3D/wKhkGWV3wt2AFpwsAACFI0cr3Mg4552.jpg)
![基于SSH的網(wǎng)上選課系統(tǒng)_第3頁](http://file4.renrendoc.com/view10/M01/1F/3D/wKhkGWV3wt2AFpwsAACFI0cr3Mg4553.jpg)
![基于SSH的網(wǎng)上選課系統(tǒng)_第4頁](http://file4.renrendoc.com/view10/M01/1F/3D/wKhkGWV3wt2AFpwsAACFI0cr3Mg4554.jpg)
![基于SSH的網(wǎng)上選課系統(tǒng)_第5頁](http://file4.renrendoc.com/view10/M01/1F/3D/wKhkGWV3wt2AFpwsAACFI0cr3Mg4555.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)科學(xué)技術(shù)系《JavaEE框架技術(shù)》工程報(bào)告題目學(xué)生選課系統(tǒng)姓名學(xué)號(hào)專業(yè)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)班級(jí)2023級(jí)3班2012年6月15日功能需求分析隨著在校大學(xué)生人數(shù)的不斷增加,教務(wù)系統(tǒng)的數(shù)據(jù)量也不斷的上漲。針對(duì)學(xué)生選課這一環(huán)節(jié),過去的選課方法是采用人工的方法去管理文件檔案,而這種管理方式存在許多的缺點(diǎn):保密性差、效率低,另外時(shí)間一長(zhǎng),將會(huì)產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都會(huì)帶來不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一局部,實(shí)用技術(shù)絕對(duì)選課信息進(jìn)行管理,具有手工管理所無法比較的優(yōu)點(diǎn)。本系統(tǒng)從學(xué)生網(wǎng)上自主選課以及教師的課程發(fā)布兩個(gè)大方面進(jìn)行了設(shè)計(jì)基本實(shí)現(xiàn)了查詢個(gè)人信息、修改個(gè)人信息、查詢所有課程、選課以及退課的功能。本程序前臺(tái)采用AdobeDreamweaverCS5進(jìn)行頁面制作,后臺(tái)由NavicatLiteforMySQL數(shù)據(jù)庫支持,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁的效果,到達(dá)對(duì)數(shù)據(jù)庫的操作以完成使用的要求。系統(tǒng)功能模塊設(shè)計(jì)學(xué)生登錄學(xué)生登錄選課系統(tǒng)主頁選課系統(tǒng)主頁課程信息管理個(gè)人信息管理課程信息管理個(gè)人信息管理退選課程選修課程查看個(gè)人信息修改個(gè)人信息所有課程信息查看選課信息退選課程選修課程查看個(gè)人信息修改個(gè)人信息所有課程信息查看選課信息系統(tǒng)流程學(xué)生選課系統(tǒng)學(xué)生選課系統(tǒng)登錄登錄失敗成功選課系統(tǒng)主頁選課系統(tǒng)主頁所有課程信息個(gè)人選課情況修改個(gè)人信息查看個(gè)人信息所有課程信息個(gè)人選課情況修改個(gè)人信息查看個(gè)人信息選課退選輸入個(gè)人信息選課退選輸入個(gè)人信息9選課成功退選成功修改成功選課成功退選成功修改成功退出系統(tǒng)退出系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫概念設(shè)計(jì)=1\*GB3①管理員實(shí)體對(duì)象管理員實(shí)體對(duì)象如圖4.1所示:管理員管理員登錄號(hào)口令登錄號(hào)口令圖4.1管理員實(shí)體對(duì)象圖=2\*GB3②學(xué)生實(shí)體對(duì)象學(xué)生實(shí)體對(duì)象如圖4.2所示:照片備注總學(xué)分照片備注總學(xué)分學(xué)號(hào)學(xué)生專業(yè)ID出生時(shí)間性別姓名學(xué)號(hào)學(xué)生專業(yè)ID出生時(shí)間性別姓名圖4.2學(xué)生實(shí)體對(duì)象圖③專業(yè)實(shí)體對(duì)象專業(yè)實(shí)體對(duì)象如圖4.3所示:專業(yè)專業(yè)輔導(dǎo)員人數(shù)輔導(dǎo)員人數(shù)專業(yè)名專業(yè)名圖4.3專業(yè)實(shí)體對(duì)象圖④課程實(shí)體對(duì)象課程實(shí)體對(duì)象如圖4.4所示:課程號(hào)課程號(hào)課程學(xué)分課程名學(xué)時(shí)開學(xué)學(xué)期課程學(xué)分課程名學(xué)時(shí)開學(xué)學(xué)期圖4.4課程實(shí)體對(duì)象圖⑤學(xué)生-課程實(shí)體對(duì)象課程實(shí)體對(duì)象如圖4.5所示:學(xué)號(hào)課程號(hào)_______學(xué)號(hào)課程號(hào)圖4.5學(xué)生-課程實(shí)體對(duì)象圖數(shù)據(jù)庫邏輯設(shè)計(jì)=1\*GB3①登錄表dlb表4.1登錄表列名描述數(shù)據(jù)類型可空默認(rèn)值說明id標(biāo)識(shí)int×自增1主鍵,自增xh登錄號(hào)char(6)×無外鍵,xsb中的xhkl口令char(20)×無②學(xué)生表xsb表4.2學(xué)生表列名描述數(shù)據(jù)類型可空默認(rèn)值說明XH學(xué)號(hào)Char(6)×無XM姓名Char(8)×無XB性別Bit×無1:男,2:女CSSJ出生時(shí)間datetime√無ZY_ID專業(yè)IDint×無ZXF總學(xué)分int√無BZ備注Varchar(200)√無ZP照片mediumblob√無③專業(yè)表zyb表4.3專業(yè)表列名描述數(shù)據(jù)類型可空默認(rèn)值說明idIDint×自增1主鍵zym專業(yè)名Char(12)×無rs人數(shù)int√0fdy輔導(dǎo)員Char(8)√無④課程表kcb表4.4課程表列名描述數(shù)據(jù)類型可空默認(rèn)值說明kch課程號(hào)Char〔3〕×無主鍵kcm課程名Char〔12〕√無kxxq開課學(xué)期smallint√無1-8xs學(xué)時(shí)int√0xf學(xué)分int√0⑤連接表xs_kcb表4.5連接表列名描述數(shù)據(jù)類型可空默認(rèn)值說明xh學(xué)號(hào)Char〔6〕×主鍵kch課程號(hào)Char〔3〕×主鍵工程標(biāo)準(zhǔn)工程名稱:StudentCourse<學(xué)號(hào)>,中間不要加空格或其他字符,如:StudentCourse1023110935訪問路徑與工程名相同,如:://localhost:8080/StudentCourse1023110935/包命名標(biāo)準(zhǔn)*.entity實(shí)體類*.biz業(yè)務(wù)邏輯接口類*.biz.impl業(yè)務(wù)邏輯實(shí)現(xiàn)類*.daoDAO接口類*.dao.implDAO實(shí)現(xiàn)類*.web.action各個(gè)Action類盡量書寫必要的文檔和注釋系統(tǒng)實(shí)現(xiàn)1.給工程添加Hibernate支持,建立實(shí)體類及其所對(duì)應(yīng)的映射文件右擊工程名StudentCourse1023110701,選擇【MyEclipse】→【AddHibernateCapabilites】菜單項(xiàng),出現(xiàn)如圖6.1所示的對(duì)話框,選擇Hibernate框架應(yīng)用版本及所需要的類庫。圖6.1單擊【Next】按鈕,進(jìn)入如圖6.2所示頁面。創(chuàng)立Hibernate配置文件hibernate.cfg.xml,將該文件放在src文件夾下。圖6.2單擊【Next】進(jìn)入圖6.3所示頁面。指定hibernate數(shù)據(jù)庫連接細(xì)節(jié)。圖6.3單擊【Next】。出現(xiàn)如圖6.4所示頁面。指定SessionFactory的位置以及類名。完成Hibernate的配置。圖6.4在Myeclipse的src下新建com.cyy.entity包,用于存放與數(shù)據(jù)庫對(duì)應(yīng)的Java類POJO。翻開MyEclipseDatabaseExplorer視圖。翻開之前的數(shù)據(jù)庫連接,選擇【XSCJ】【TABLE】菜單項(xiàng),右擊相應(yīng)表,選擇【HibernateReverseEngineering】菜單項(xiàng),啟動(dòng)HibernateReverseEngineering向?qū)?,完成從已有的?shù)據(jù)庫表生成對(duì)應(yīng)的Java類和相應(yīng)的配置文件。實(shí)體類以及相應(yīng)的配置文件:登錄表:Dlb.javapublicclassDlbimplementsjava.io.Serializable{privateIntegerid;privateStringxh;privateStringkl;中間省略set和get方法}<hibernate-mapping><classname="com.cyy.entity.Dlb"table="dlb"catalog="sc"><idname="id"type="java.lang.Integer"><columnname="id"/><generatorclass="native"/></id><propertyname="xh"type="java.lang.String"><columnname="xh"length="6"not-null="true"/></property><propertyname="kl"type="java.lang.String"><columnname="kl"length="20"not-null="true"/></property></class></hibernate-mapping>學(xué)生表:Xsb.javapublicclassXsbimplementsjava.io.Serializable{privateStringxh;privateStringxm;privateStringxb;privateTimestampcssj;privateIntegerzyId;privateIntegerzxf;privateStringbz;privateStringzp;privateZybzyb;privateSetkch=newHashSet();省略set和get方法}<hibernate-mapping><classname="com.cyy.entity.Xsb"table="xsb"catalog="sc"><idname="xh"type="java.lang.String"><columnname="XH"length="6"/><generatorclass="assigned"/></id><propertyname="xm"type="java.lang.String"><columnname="XM"length="8"not-null="true"/></property><propertyname="xb"type="java.lang.String"><columnname="XB"not-null="true"/></property><propertyname="cssj"type="java.sql.Timestamp"><columnname="CSSJ"length="19"/></property><propertyname="zyId"type="java.lang.Integer"><columnname="ZY_ID"not-null="true"/></property><propertyname="zxf"type="java.lang.Integer"><columnname="ZXF"/></property><propertyname="bz"type="java.lang.String"><columnname="BZ"/></property><propertyname="zp"type="java.lang.String"><columnname="ZP"/></property><many-to-onename="zyb"class="Zyb"column="zy_id"cascade="all"></many-to-one><setname="kch"table="xs_kcb"cascade="all"><keycolumn="XH"></key><many-to-manyclass="Kcb"column="kch"></many-to-many></set></class></hibernate-mapping>課程表:Kcb.javapublicclassKcbimplementsjava.io.Serializable{privateStringkch;privateStringkcm;privateShortkxxq;privateIntegerxs;privateIntegerxf;privateSetxss=newHashSet();省略set和get方法}<hibernate-mapping><classname="com.cyy.entity.Kcb"table="kcb"catalog="sc"><idname="kch"type="java.lang.String"><columnname="kch"length="3"/><generatorclass="assigned"/></id><propertyname="kcm"type="java.lang.String"><columnname="kcm"length="12"/></property><propertyname="kxxq"type="java.lang.Short"><columnname="kxxq"/></property><propertyname="xs"type="java.lang.Integer"><columnname="xs"/></property><propertyname="xf"type="java.lang.Integer"><columnname="xf"/></property><setname="xss"table="xs_kcb"><keycolumn="kch"></key><many-to-manycolumn="XH"class="com.c"></many-to-many></set></class></hibernate-mapping>專業(yè)表:Zyb.javapublicclassZybimplementsjava.io.Serializable{privateIntegerid;privateStringzym;privateIntegerrs;privateStringfdy;省略set和get方法}<hibernate-mapping><classname="com.cyy.entity.Zyb"table="zyb"catalog="sc"><idname="id"type="java.lang.Integer"><columnname="id"/><generatorclass="assigned"/></id><propertyname="zym"type="java.lang.String"><columnname="zym"length="12"not-null="true"/></property><propertyname="rs"type="java.lang.Integer"><columnname="rs"/></property><propertyname="fdy"type="java.lang.String"><columnname="fdy"length="8"/></property></class></hibernate-mapping>2.DAO層的設(shè)計(jì)與實(shí)現(xiàn)2.1DAO接口登錄接口:DlDAO.javapublicinterfaceDlDAO{publicDlbcheckLogin(Stringxh,Stringkl);}學(xué)生接口:XsDAO.javapublicinterfaceXsDAO{publicXsbselestInfoByXh(Stringxh);publicvoidupdateInfo(Xsbx);}課程接口:KcDAO.javapublicinterfaceKcDAO{publicList<Kcb>getAll();publicKcbgetOneById(Stringkch);}專業(yè)接口:ZyDAO.javapublicinterfaceZyDAO{publicZybgetZyb(intid);publicList<Zyb>getAll();}2.2DAO實(shí)現(xiàn)類登錄接口的實(shí)現(xiàn)類:DlDaoImpl.javapublicclassDlDaoImplimplementsDlDAO{publicDlbcheckLogin(Stringxh,Stringkl){ Sessionsession=HibernateSessionFactory.getSession(); Transactiontx=null;try{ tx=session.beginTransaction(); Queryquery=session.createQuery("fromDlbwherexh=?andkl=?"); query.setParameter(0,xh); query.setParameter(1,kl); query.setMaxResults(1); Dlbdlb=(Dlb)query.uniqueResult(); txmit();if(dlb!=null){returndlb; }returnnull; }catch(Exceptione){ e.printStackTrace();returnnull; } }}學(xué)生接口實(shí)現(xiàn)類:XsDaoImpl.javapublicclassXsDaoImplimplementsXsDAO{publicXsbselestInfoByXh(Stringxh){ Sessionsession=HibernateSessionFactory.getSession(); Transactiontx=null;try{ tx=session.beginTransaction(); Queryquery=session.createQuery("fromXsbasxwherex.xh=?"); query.setParameter(0,xh); query.setMaxResults(1); Xsbx=(Xsb)query.uniqueResult();returnx; }catch(Exceptione){ e.printStackTrace();returnnull; } }publicvoidupdateInfo(Xsbx){ Sessionsession=HibernateSessionFactory.getSession(); Transactiontx=null;try{ tx=session.beginTransaction(); session.update(x); txmit(); HibernateSessionFactory.closeSession(); }catch(Exceptione){if(null!=tx) tx.rollback(); e.printStackTrace(); } }}課程接口實(shí)現(xiàn)類:KcDao.javapublicclassKcDaoImplimplementsKcDAO{publicList<Kcb>getAll(){ Sessionsession=HibernateSessionFactory.getSession(); Transactiontx=null;try{ tx=session.beginTransaction(); List<Kcb>list=session.createQuery("fromKcborderbykch").list(); session.clear();returnlist; }catch(Exceptione){ e.printStackTrace();returnnull; } }publicKcbgetOneById(Stringkch){ Sessionsession=HibernateSessionFactory.getSession(); Transactiontx=null;try{ tx=session.beginTransaction(); Queryquery=session.createQuery("fromKcbwherekch=?"); query.setParameter(0,kch); query.setMaxResults(1); Kcbk=(Kcb)query.uniqueResult(); session.clear();returnk; }catch(Exceptione){ e.printStackTrace();returnnull; } }}專業(yè)接口實(shí)現(xiàn)類:ZyDaoImpl.javapublicclassZyDaoImplimplementsZyDAO{publicList<Zyb>getAll(){try{ Sessionsession=HibernateSessionFactory.getSession(); Transactiontx=session.beginTransaction();Listlist=session.createQuery("fromZyb").list(); txmit(); HibernateSessionFactory.closeSession();returnlist; }catch(Exceptione){ e.printStackTrace(); }returnnull; }publicZybgetZyb(intid){try{ Sessionsession=HibernateSessionFactory.getSession(); Transactiontx=session.beginTransaction(); Queryquery=session.createQuery("fromZybwhereid=?"); query.setParameter(0,id); query.setMaxResults(1); Zybzyb=(Zyb)query.uniqueResult(); txmit(); HibernateSessionFactory.closeSession();returnzyb; }catch(Exceptione){ e.printStackTrace(); }returnnull; }}添加struts支持右擊工程,【MyEclipse】【AddStrutsCapabilities】,進(jìn)入如圖6.5所示的頁面。圖6.5單擊Next,如圖6.6所示。圖6.6完成添加struts支持的向?qū)А?.1Action登錄actionLoginAction.javapublicclassLoginActionextendsActionSupport{privateDlbdlb;privateDlDAOdldao;publicDlDAOgetDldao(){returndldao; }publicvoidsetDldao(DlDAOdldao){this.dldao=dldao; }publicDlbgetDlb(){returndlb; }publicvoidsetDlb(Dlbdlb){this.dlb=dlb; }publicStringexecute()throwsException{ Dlbd=dldao.checkLogin(dlb.getXh(),dlb.getKl()); System.out.println(d);if(d!=null){ Mapsession=ActionContext.getContext().getSession(); session.put("user",d);returnSUCCESS; }else{returnERROR; } }}獲得學(xué)生當(dāng)前個(gè)人信息GetXsInfoAction.javapublicclassGetXsInfoActionextendsActionSupport{privateXsDAOxsdao;privateXsbxs;privateKcbkc;privateZybzyb;publicXsDAOgetXsdao(){returnxsdao; }publicvoidsetXsdao(XsDAOxsdao){this.xsdao=xsdao; }publicXsbgetXs(){returnxs; }publicvoidsetXs(Xsbxs){this.xs=xs; }publicKcbgetKc(){returnkc; }publicvoidsetKc(Kcbkc){this.kc=kc; }publicZybgetZyb(){returnzyb; }publicvoidsetZyb(Zybzyb){this.zyb=zyb; }publicStringexecute()throwsException{Mapsession=ActionContext.getContext().getSession(); Dlbdlb=(Dlb)session.get("user");XsDAOxd=newXsDaoImpl(); Xsbxs=xd.selestInfoByXh(dlb.getXh());Maprequest=(Map)ActionContext.getContext().get("request"); request.put("xsinfo",xs);returnSUCCESS; }}修改學(xué)生信息UpdateXsInfo.javapublicclassUpdateXsInfoActionextendsActionSupport{privateXsbxs; XsDAOxsdao; publicXsDAOgetXsdao(){returnxsdao; }publicvoidsetXsdao(XsDAOxsdao){this.xsdao=xsdao; }publicXsbgetXs(){returnxs; }publicvoidsetXs(Xsbxs){this.xs=xs; }publicStringupdate()throwsException{ Mapsession=ActionContext.getContext().getSession(); Dlbd=(Dlb)session.get("user"); Xsbxsb=xsdao.selestInfoByXh(d.getXh()); xsb.setXm(xs.getXm()); System.out.println(xs.getXm()); xsb.setCssj(xs.getCssj()); xsb.setBz(xs.getBz()); xsb.setXb(xs.getXb()); xsdao.updateInfo(xsb);returnSUCCESS;}}獲得學(xué)生選修的課程GetXkAction.javapublicclassGetXkActionextendsActionSupport{ XsDAOxsdao;publicXsDAOgetXsdao(){returnxsdao; }publicvoidsetXsdao(XsDAOxsdao){this.xsdao=xsdao; }publicStringgetXKInfo()throwsException{ Mapsession=ActionContext.getContext().getSession(); Dlbdlb=(Dlb)session.get("user"); Stringxh=dlb.getXh(); Xsbxsb=xsdao.selestInfoByXh(xh);Setlist=xsb.getKch(); System.out.println(list);Maprequest=(Map)ActionContext.getContext().get("request"); request.put("list",list);returnSUCCESS;}}退選課程DeleteXkAction.javapublicclassDeleteXkActionextendsActionSupport{privateKcbkc;privateXsDAOxsdao;publicKcbgetKc(){returnkc; }publicvoidsetKc(Kcbkc){this.kc=kc; }privateStringkch;publicStringgetKch(){returnkch; }publicvoidsetKch(Stringkch){this.kch=kch; }publicXsDAOgetXsdao(){returnxsdao; }publicvoidsetXsdao(XsDAOxsdao){this.xsdao=xsdao; }publicStringdeleteKC()throwsException{ Mapsession=ActionContext.getContext().getSession(); Maprequest=(Map)ActionContext.getContext().get("request"); Dlbdlb=(Dlb)session.get("user"); Stringxh=dlb.getXh(); Xsbs1=xsdao.selestInfoByXh(xh); Set<Kcb>list=s1.getKch(); System.out.println(list); Iteratorit=list.iterator();while(it.hasNext()){ Kcbkc=(Kcb)it.next();if(kch.equals(kc.getKch())){ it.remove(); } }s1.setKch(list);request.put("list",list);xsdao.updateInfo(s1);returnSUCCESS;}}所有課程信息AllKcAction.javapublicclassAllKcActionextendsActionSupport{ KcDAOkcdao;publicStringexecute()throwsException{ Listlist=kcdao.getAll(); Maprequest=(Map)ActionContext.getContext().get("request"); request.put("list",list);returnSUCCESS; }publicKcDAOgetKcdao(){returnkcdao; }publicvoidsetKcdao(KcDAOkcdao){this.kcdao=kcdao; }}選定課程SelectKcAction.javapublicStringselectKC()throwsException{ Mapsession=ActionContext.getContext().getSession(); Dlbdlb=(Dlb)session.get("user"); Stringxh=dlb.getXh();Xsbxs=xsdao.selestInfoByXh(xh);Setlist=xs.getKch();Iteratoritem=list.iterator();while(item.hasNext()){ Kcbkc=(Kcb)item.next();if(kch.equals(kc.getKch())){returnERROR; }}KcDAOkcdao=newKcDaoImpl();Kcbk=kcdao.getOneById(kch);System.out.println(k.getKcm());list.add(k);xs.setKch(list);xsdao.updateInfo(xs);returnSUCCESS; }}3.2配置文件struts.xml<struts><constantname="struts.objectFactory"value="spring"></constant> <constantname="struts.i18n.encoding"value="gbk"></constant><packagename="struts"extends="struts-default"namespace="/"><actionname="login"class="login"><resultname="success">/index.jsp</result><resultname="error">/login.jsp</result></action><actionname="xsinfoaction"class="xsinfo"><resultname="success">/selectXsInfo.jsp</result></action><actionname="updateXsaction"class="update"method="update"><resultname="success">updateXsInfoSuccess.jsp</result></action><actionname="select"class="selectCourse"method="selectKC"><resultname="success">/selectSuccess.jsp</result></action><actionname="deletecourse"class="deleteCourse"method="deleteKC"><resultname="success">/deleteXsCourseSuccess.jsp</result></action><actionname="allcourse"class="AllCourse"><resultname="success">/showAllCourse.jsp</result></action><actionname="xkAction"class="xkaction"method="getXKInfo"><resultname="success">/showXsCourse.jsp</result></action></package></struts>添加spring支持右擊工程,【MyEclipse】【AddSpringCapabilities】,進(jìn)入如圖6.7所示的頁面。圖6.7單擊完成即可。4.1Spring配置文件applicationContext.xml<beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="configLocation"><value>classpath:hibernate.cfg.xml</value></property></bean><!--學(xué)生操作類--><beanid="dldao"class="com.cyy.dao.impl.DlDaoImpl"></bean><beanid="login"class="com.cyy.web.action.LoginAction"><propertyname="dldao"ref="dldao"></property></bean><beanid="xsdao"class="com.cyy.dao.impl.XsDaoImpl"></bean><beanid="xsinfo"class="com.cyy.web.action.GetXsInfoAction"><propertyname="xsdao"ref="xsdao"></property></bean><beanid="update"class="com.cyy.web.action.UpdateXsInfoAction"><propertyname="xsdao"ref="xsdao"></property></bean><beanid="xkaction"class="com.cyy.web.action.GetXkAction"><propertyname="xsdao"ref="xsdao"></property></bean><beanid="kcdao"class="com.cyy.dao.impl.KcDaoImpl"></bean><beanid="AllCourse"class="com.cyy.web.action.AllKcAction"><propertyname="kcdao"ref="kcdao"></property></bean><beanid="deleteCourse"class="com.cyy.web.action.DeleteXkAction"><propertyname="xsdao"ref="xsdao"></property></bean><beanid="selectCourse"class="com.cyy.web.action.SelectKcAction"><propertyname="xsdao"ref="xsdao"></property></bean></beans>5添加struts-spring插件工程上右擊-->構(gòu)建路徑-->添加庫-->選擇“MyEclipseLibrary〞庫==>翻開添加庫界面,如圖6.8選擇后,確定。圖6.86web.xml配置文件<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5" xmlns="://java.sun/xml/ns/javaee" xmlns:xsi=":///2001/XMLSchema-instance" xsi:schemaLocation= ://java.sun/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/applicationContext.xml</param-value></context-param><!--實(shí)例化spring容器--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><filter> <filter-name>struts2</filter-name> <filter-class> </filter-class></filter><filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern></filter-mapping></web-app>7頁面設(shè)計(jì)7.1登錄頁面login.jsp主要代碼:<s:formname="loginForm"method="post"action="login.action">帳號(hào)<inputname="dlb.xh"type="text">密碼<inputname="dlb.kl"type="password"><s:submitvalue="登錄"></s:submit><s:resetvalue="重置"></s:reset></s:form>截圖:7.2主頁index.jsp頁面超鏈接:<ahref=〞xsinfoaction〞>查詢個(gè)人信息</a><ahref=〞updateXsInfo.jsp〞>修改個(gè)人信息</a><ahref=〞xkAction〞>個(gè)人選課情況</a><ahref=〞allcourse〞>所有課程信息</a>截圖:7.3查詢個(gè)人信息頁面selectXsInfo.jsp主要代碼:<s:setname="xs"value="%{#request.xsinfo}"></s:set> 照片:<imgsrc="/StudentCourse1023110701/images/<s:propertyvalue="%{#xs.zp}"/>"width="50"height="50"/>姓名:<s:propertyvalue="%{#xs.xm}"/>學(xué)號(hào):<s:propertyvalue="%{#xs.xh}"/>性別:<s:propertyvalue="%{#xs.xb}"/>出生時(shí)間:<s:propertyvalue="%{#xs.cssj}"/>備注:<s:propertyvalue="%{#xs.bz}"/> 專業(yè):<s:propertyvalue="%{#xs.zyb.zym}"/> 輔導(dǎo)員:<s:propertyvalue="%{#xs.zyb.fdy}"/> 總學(xué)分:<s:propertyvalue="%{#xs.zxf}"/>截圖:7.4修改個(gè)人信息updateXsInfo.jsp<s:formmethod="post"action="updateXsaction">當(dāng)前登錄的用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海運(yùn)出口貨物代理合同模板
- 2025年化工中間體倉庫租賃合同范本
- 2025年度會(huì)議室租賃合同范本涵蓋場(chǎng)地布置與安全保障
- 2025年度智能倉儲(chǔ)物流系統(tǒng)建設(shè)合同格式
- 二零二五年度養(yǎng)老產(chǎn)業(yè)園區(qū)設(shè)施租賃與承包經(jīng)營(yíng)合同4篇
- 二零二五年電商企業(yè)運(yùn)營(yíng)團(tuán)隊(duì)激勵(lì)方案合同3篇
- 2025年度物流運(yùn)輸公司司機(jī)雇傭勞動(dòng)合同
- 2025年度智能花木租賃與養(yǎng)護(hù)管理服務(wù)合同
- 2025年度國(guó)際能源資源開發(fā)與利用服務(wù)合同模板
- 2025年度新能源產(chǎn)業(yè)股權(quán)并購及回購合同
- 2025年人教五四新版八年級(jí)物理上冊(cè)階段測(cè)試試卷含答案
- 2025年春季1530安全教育記錄主題
- 礦山2025年安全工作計(jì)劃
- 2025年包裝印刷項(xiàng)目可行性研究報(bào)告
- 企業(yè)融資報(bào)告特斯拉成功案例分享
- 給客戶的福利合同(2篇)
- 銷售調(diào)味品工作總結(jié)5篇
- 2024年江蘇省勞動(dòng)合同條例
- 供電企業(yè)輿情的預(yù)防及處置
- 【高中語文】《氓》課件++統(tǒng)編版+高中語文選擇性必修下冊(cè)
- T-WAPIA 052.3-2023 無線局域網(wǎng)設(shè)備技術(shù)規(guī)范 第3部分:接入點(diǎn)和控制器
評(píng)論
0/150
提交評(píng)論