SSI框架的一個簡單小項目及xml配置教學(xué)文案_第1頁
SSI框架的一個簡單小項目及xml配置教學(xué)文案_第2頁
SSI框架的一個簡單小項目及xml配置教學(xué)文案_第3頁
SSI框架的一個簡單小項目及xml配置教學(xué)文案_第4頁
SSI框架的一個簡單小項目及xml配置教學(xué)文案_第5頁
已閱讀5頁,還剩96頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。SSI框架的一個簡單小項目及xml配置SSI(Struts2+Spring+Ibatis)的簡單小項目及xml的配置本例參照這篇StrutsiBATISSpring文,基于JDK1.5,Tomcat5.5.25,mysql-5.0.37-win32,以及Spring2.0.8,Ibatis-26和相應(yīng)的struts,JSTL,Standard包搭建,基本思路如下:首先建立一個基本的,可運行的框架。在可運行前提下,通用類包考慮使用最新版本包。不能確定某類包版本的情況下,選擇一個已知版本的相關(guān)類包,以該類包

2、自帶的對應(yīng)類包的版本為準。逐步增加核心的功能模塊,調(diào)試可運行,再考慮增加。重復(fù)此步驟增加更多的包,抽取更多的功能增加,調(diào)試使可運行,直到完成可運行實例。新建web項目加入jar包aspectjrt.jar、aspectjweaver.jar、classes12.jar、commons-logging-1.0.4.jar、commons-logging.jar、dwr4struts2.jar、freemarker-2.3.8.jar、ibatis-77.jar、jsonplugin-0.31.jar、log4j-1.2.9.jar、ognl-2.6.11.jar、spring.jar、strut

3、s2-core-.jar、struts2-spring-plugin-.jar、xwork-2.0.5.jar寫實體beanStudent.javapackagecom.vstsoft.model;importjava.io.Serializable;importjava.sql.Date;publicclassStudentextendsPageprivateintid;privateStringusername;privateStringpassword;privateStringphone;privateStringemail;privateStringaddress;privatePa

4、gepage;publicvoidsetPage(Pagepage)this.page=page;publicintgetId()returnid;publicvoidsetId(intid)this.id=id;publicStringgetUsername()returnusername;publicvoidsetUsername(Stringusername)this.username=username;publicStringgetPassword()returnpassword;publicvoidsetPassword(Stringpassword)this.password=pa

5、ssword;publicStringgetPhone()returnphone;publicvoidsetPhone(Stringphone)this.phone=phone;publicStringgetEmail()returnemail;publicvoidsetEmail(Stringemail)this.email=email;publicStringgetAddress()returnaddress;publicvoidsetAddress(Stringaddress)this.address=address;User.javapackagecom.vstsoft.model;i

6、mportjava.io.Serializable;publicclassUsersimplementsSerializableprivateStringusername;privateStringpassword;publicStringgetUsername()returnusername;publicvoidsetUsername(Stringusername)this.username=username;publicStringgetPassword()returnpassword;publicvoidsetPassword(Stringpassword)this.password=p

7、assword;Page.javapackagecom.vstsoft.model;importjava.io.Serializable;importjava.util.List;publicclassPageprivateintpagesize;/單頁記錄privateintcurrentpage=1;/當(dāng)前頁面privateintcountdate;/總記錄數(shù)privateintlastPage;/上一頁privateintnextPage;/下一頁privateintcountPage;publicintgetCurrentpage()returncurrentpage;publicvo

8、idsetCurrentpage(intcurrentpage)if(currentpagegetCountpage()this.currentpage=getCountpage();elseif(currentpage1)this.currentpage=1;elsethis.currentpage=currentpage;publicintgetPagesize()returnpagesize;publicvoidsetPagesize(intpagesize)this.pagesize=pagesize;publicintgetCountdate()returncountdate;pub

9、licvoidsetCountdate(intcountdate)this.countdate=countdate;/由記錄數(shù)設(shè)定有關(guān)的頁面數(shù)。publicintgetCountpage()inti=this.countdate/this.pagesize;if(this.countdate%this.pagesize)!=0)i+=1;returni;publicintgetLastPage()returnthis.getCurrentpage()-1;publicintgetNextPage()returnthis.getCurrentpage()+1;/給ibatis用數(shù)據(jù)publici

10、ntgetCurrent()return(this.current1)*pagesize;publicintgetNext()returnthis.currentpage*pagesize;publicintgetCountPage()returncountPage;publicvoidsetCountPage(intcountPage)this.countPage=countPage;publicvoidsetLastPage(intlastPage)this.lastPage=lastPage;publicvoidsetNextPage(intnextPage)this.nextPage=

11、nextPage;編寫dao及其實現(xiàn)類StudentDao.javapackagecom.vstsoft.dao.impl;importjava.util.List;importcom.vstsoft.model.Student;publicinterfaceStudentDaopublicbooleansaveStu(Studentstudent);publicbooleandelStu(intid);publicbooleanupdateStu(Studentstudent);publicListqueryAll();publicStudentqueryById(intid);public

12、ListdimStu(Studentstudent);publicintgetCountSize(Objectobj);StudentDaoImpl.javapackagecom.vstsoft.dao.impl;importjava.sql.SQLException;importjava.util.List;mon.util.PaginatedList;importcom.ibatis.sqlmap.client.SqlMapClient;importcom.vstsoft.dao.StudentDao;importcom.vstsoft.model.Student;publicclassS

13、tudentDaoImplimplementsStudentDaoprivateSqlMapClientsqlMapClient;publicvoidsetSqlMapClient(SqlMapClientsqlMapClient)this.sqlMapClient=sqlMapClient;publicbooleandelStu(intid)tryinti=sqlMapClient.delete(delStu,id);if(i0)returntrue;elsereturnfalse;catch(SQLExceptione)e.printStackTrace();returnfalse;pub

14、licListqueryAll()Listlist=null;Studentst=newStudent();trylist=sqlMapClient.queryForList(queryAll,st);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();returnlist;publicStudentqueryById(intid)Studentstudent=null;trystudent=(Student)sqlMapClient.queryForObject(query,id);catch(SQLExc

15、eptione)e.printStackTrace();returnstudent;publicbooleansaveStu(Studentstudent)booleanb;trysqlMapClient.insert(saveStu,student);b=true;catch(SQLExceptione)e.printStackTrace();b=false;returnb;publicbooleanupdateStu(Studentstudent)booleanb;trysqlMapClient.update(updateStu,student);b=true;catch(Exceptio

16、ne)b=false;returnb;publicListdimStu(Studentstudent)Listlist=null;trylist=sqlMapClient.queryForList(dimStu,student);catch(SQLExceptione)e.printStackTrace();returnlist;publicintgetCountSize(Objectobj)inti=0;tryi=(Integer)sqlMapClient.queryForObject(queryAll);catch(SQLExceptione)/TODOAuto-generatedcatc

17、hblocke.printStackTrace();returni;UserDao.javapackagecom.vstsoft.dao;importcom.vstsoft.model.Users;publicinterfaceUserDaopublicbooleanisLogin(Usersuser);UserDaoImpl.javapackagecom.vstsoft.dao.impl;importjava.sql.SQLException;importjava.util.List;importcom.ibatis.sqlmap.client.SqlMapClient;importcom.

18、vstsoft.dao.UserDao;importcom.vstsoft.model.Users;publicclassUserDaoImplimplementsUserDaoprivateSqlMapClientsqlMapClient;publicvoidsetSqlMapClient(SqlMapClientsqlMapClient)this.sqlMapClient=sqlMapClient;publicbooleanisLogin(Usersuser)tryListlist=sqlMapClient.queryForList(login,user);if(list.size()0)

19、returntrue;catch(SQLExceptione)e.printStackTrace();returnfalse;編寫服務(wù)層及其實現(xiàn)StudentService.javapackagecom.vstsoft.servcie;importjava.util.List;importcom.vstsoft.model.Student;publicinterfaceStudentDaopublicbooleansaveStu(Studentstudent);publicbooleandelStu(intid);publicbooleanupdateStu(Studentstudent);p

20、ublicListqueryAll();publicStudentqueryById(intid);publicListdimStu(Studentstudent);publicintgetCountSize(Objectobj);StudentServieImpl.javapackagecom.vstsoft.service.impl;importjava.util.List;importcom.vstsoft.dao.StudentDao;importcom.vstsoft.model.Student;importcom.vstsoft.service.StudentService;pub

21、licclassStudentServiceImplimplementsStudentServiceprivateStudentDaosdao;publicvoidsetSdao(StudentDaosdao)this.sdao=sdao;publicbooleandelStu(intid)booleanb=sdao.delStu(id);if(b)returntrue;elsereturnfalse;publicListqueryAll()Listlist=sdao.queryAll();returnlist;publicStudentqueryById(intid)Studentstude

22、nt=sdao.queryById(id);returnstudent;publicbooleansaveStu(Studentstudent)booleanb=sdao.saveStu(student);if(b)returntrue;elsereturnfalse;publicbooleanupdateStu(Studentstudent)booleanb=sdao.updateStu(student);if(b)returntrue;elsereturnfalse;publicListdimStu(Studentstudent)Listlist=sdao.dimStu(student);

23、returnlist;publicintgetCountSize(Objectobj)returnsdao.getCountSize(obj);UserService.javapackagecom.vstsoft.service;importcom.vstsoft.model.Users;publicinterfaceUserServicepublicbooleanisLogin(Usersuser);UserServiceImpl.javapackagecom.vstsoft.service.impl;importcom.vstsoft.dao.UserDao;importcom.vstso

24、ft.model.Users;importcom.vstsoft.service.UserService;publicclassUserServiceImplimplementsUserServiceprivateUserDaoudao;publicvoidsetUdao(UserDaoudao)this.udao=udao;publicbooleanisLogin(Usersuser)booleanb=udao.isLogin(user);if(b)returntrue;elsereturnfalse;編寫Action類UserAction.javapackagecom.vstsoft.ac

25、tion;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;importcom.vstsoft.model.Users;importcom.vstsoft.service.StudentService;importcom.vstsoft.service.UserService;publicclassUserActionextendsActionSupportprivateUserServiceus;privateUsersuser;publicUsersgetUser(

26、)returnuser;publicvoidsetUser(Usersuser)this.user=user;publicUserServicegetUs()returnus;publicvoidsetUs(UserServiceus)this.us=us;publicStringLogin()throwsExceptionStringusername=user.getUsername();Stringpassword=user.getPassword();booleanb=us.isLogin(user);if(b)returnsuccess;elseif(username.equals()

27、&password.equals()ActionContext.getContext().put(ms,請輸入用戶名和密碼!);elseif(username.equals()ActionContext.getContext().put(ms1,請輸入用戶名!);elseif(password.equals()ActionContext.getContext().put(ms2,請輸入密碼!);elseActionContext.getContext().put(ms3,請檢查用戶名和密碼!);returnerror;StudentAction.javapackagecom.vstsoft.a

28、ction;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importorg.apache.struts2.ServletActionContext;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionSupport;importcom.vstsoft.model.Page;importcom.vstsoft.model.Student;importcom.vstsoft.service.StudentS

29、ervice;publicclassStudentActionextendsActionSupportprivateStudentServicess;privateintid;privateStringusername;privateStringpassword;privateStringphone;privateStringemail;privateStringaddress;privateStudentstudent;privateListlist;privatePagepage;privatefinalstaticintpagesize=3;privateintcountdate;/總記

30、錄publicintgetCountdate()returncountdate;publicvoidsetCountdate(intcountdate)this.countdate=countdate;publicstaticintgetPagesize()returnpagesize;publicPagegetPage()returnpage;publicvoidsetPage(Pagepage)this.page=page;publicListgetList()returnlist;publicvoidsetList(Listlist)this.list=list;publicStuden

31、tgetStudent()returnstudent;publicvoidsetStudent(Studentstudent)this.student=student;publicintgetId()returnid;publicvoidsetId(intid)this.id=id;publicHttpServletRequestgetRequest()returnrequest;publicvoidsetRequest(HttpServletRequestrequest)this.request=request;publicStudentServicegetSs()returnss;publ

32、icvoidsetSs(StudentServicess)this.ss=ss;publicStringgetUsername()returnusername;publicvoidsetUsername(Stringusername)this.username=username;publicStringgetPassword()returnpassword;publicvoidsetPassword(Stringpassword)this.password=password;publicStringgetPhone()returnphone;publicvoidsetPhone(Stringp

33、hone)this.phone=phone;publicStringgetEmail()returnemail;publicvoidsetEmail(Stringemail)this.email=email;publicStringgetAddress()returnaddress;publicvoidsetAddress(Stringaddress)this.address=address;HttpServletRequestrequest=ServletActionContext.getRequest();publicStringqueryAll()throwsExceptionListl

34、ist=ss.queryAll();if(list.size()=0)ActionContext.getContext().put(sorry,沒有可以顯示的數(shù)據(jù)!);elseActionContext.getContext().put(list,list);returnsuccess;publicStringupdateStu()throwsExceptionStringusername=student.getUsername();Stringpassword=student.getPassword();Stringphone=student.getPhone();Stringemail=s

35、tudent.getEmail();Stringaddress=student.getAddress();student.setUsername(username);student.setPassword(password);student.setPhone(phone);student.setEmail(email);student.setAddress(address);booleanb=ss.updateStu(student);if(b)ActionContext.getContext().put(update,更新成功!);returnthis.dimStu();elseAction

36、Context.getContext().put(error,更新失?。?;returnerror;publicStringqueryById()throwsExceptionintid=this.getId();Studentstu=ss.queryById(id);ActionContext.getContext().put(stu,stu);returnupdate;publicStringdelete()throwsExceptionintid=this.getId();booleanb=ss.delStu(id);if(b)ActionContext.getContext().put

37、(delete,刪除成功!);returnthis.dimStu();elseActionContext.getContext().put(show,刪除失??!);returnshow;publicStringsaveStu()throwsExceptionintid=student.getId();Stringusername=student.getUsername();Stringpassword=student.getPassword();Stringphone=student.getPhone();Stringemail=student.getEmail();Stringaddress

38、=student.getAddress();student.setId(id);student.setUsername(username);student.setPassword(password);student.setPhone(phone);student.setEmail(email);student.setAddress(address);booleanb=ss.saveStu(student);if(b)ActionContext.getContext().put(save,增加成功!);returnthis.dimStu();return;publicStringdimStu()

39、throwsExceptioncountdate=ss.getCountSize(newStudent();Studentstu=newStudent();student.setPagesize(3);student.setCountdate(countdate);list=ss.dimStu(student);intid=0;stu.setId(id);ActionContext.getContext().put(list,list);returnsuccess;配置文件ApplicationContext.xmlclasspath:/com/vstsoft/sqlmap/SqlMapCon

40、fig.xmlStruts.xml!-StudentAction_dimStu.action/index.jsp/show.jsp/update.jspLperties/作用是為了在控制臺打印出SQL語句log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d%p%c-%m%n.ibatis=debugmon.jdbc.Simpl

41、eDataSource=debugmon.jdbc.ScriptRunner=debug.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debuglog4j.logger.java.sql.Connection=debuglog4j.logger.java.sql.Statement=debuglog4j.logger.java.sql.PreparedStatement=debug,stdoutSqlMapConfig.xmlsudent.xmlselectcount(*)fromstudentinsertintostudent(usernam

42、e,password,phone,email,address)values(#username#,#password#,#phone#,#email#,#address#)deletefromstudentwhereid=#id#updateStudentsetusername=#username#,password=#password#,phone=#phone#,email=#email#,address=#address#whereid=#id#select*from(selectROWNUMr,t.*fromstudenttid=$id$usernamelike%$username$%

43、addresslike%$address$%)student#current#andrWeb.xmlcontextConfigLocationclasspath*:applicationContext.xmlstruts2org.apache.struts2.dispatcher.FilterDispatcherstruts2/*org.springframework.web.context.ContextLoaderListenerindex.jspConfigServletConfigServletConfigServlet/servlet/ConfigServlet編寫前臺頁面Index

44、.jsp信息顯示functioncheck()varname=.value;varpassword=document.f1.password.value;if(name.length=0)alert(請輸入用戶名!);return;if(password.length=0)alert(請輸入密碼!);return;用戶登錄姓名密碼Show.jsp學(xué)生信息顯示學(xué)生信息列表編號:用戶名:地址:編號用戶名密碼電話郵箱地址操作ahref=修改ahref=刪除1首頁1ahref=StudentAction_dimStu.action?student.currentpage=上一頁1varpwd=docu

45、ment.getElementById(password).value;varphone=document.getElementById(phone).value;varemail=document.getElementById(email).value;varaddress=document.getElementById(address).value;if(name.length=0)alert(請輸入用戶名!);document.f1.username.focus();return;if(pwd.length=0)alert(請輸入密碼!);document.f1.password.foc

46、us();return;if(phone.length=0)alert(請輸入電話!);document.f1.phone.focus();return;if(email.length=0)alert(請輸入郵箱!);document.f1.email.focus();return;if(address.length=0)alert(請輸入地址!);document.f1.address.focus();return;document.f1.action=StudentAction_saveStu.action;document.f1.submit();增加學(xué)生信息用戶名密碼電話郵箱地址Upd

47、ate.jsp更新學(xué)生信息functioncheck()varname=document.getElementById(username).value;varpwd=document.getElementById(password).value;varphone=document.getElementById(phone).value;varemail=document.getElementById(email).value;varaddress=document.getElementById(address).value;if(name.length=0)alert(請輸入用戶名!);doc

48、ument.f1.username.focus();return;if(pwd.length=0)alert(請輸入密碼!);document.f1.password.focus();return;if(phone.length=0)alert(請輸入電話!);document.f1.phone.focus();return;if(email.length=0)alert(請輸入郵箱!);document.f1.email.focus();return;if(address.length=0)alert(請輸入地址!);document.f1.address.focus();return;do

49、cument.f1.action=StudentAction_updateStu.action;document.f1.submit();更新學(xué)生信息編號inputtype=textreadonlyid=idname=student.idvalue=/用戶名inputtype=textid=usernamename=student.usernamevalue=/密碼inputtype=textid=passwordname=student.passwordvalue=/電話inputtype=textid=phonename=student.phonevalue=/郵箱inputtype=textid=emailname=student.emailvalue=/地址inputtype=textid=addressname=student.addressvalue=/至此,一個SSI框架做的小項目已經(jīng)完成了,希望對你有幫助,謝謝支持!1類包及簡介commons-beanutils-1.8.3.jar

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論