基于s2sh架构的课程设计实训教学示例项目——《客户关系管理crm系统》——实现项目中的工作人员注册和修改密码等功能_第1页
基于s2sh架构的课程设计实训教学示例项目——《客户关系管理crm系统》——实现项目中的工作人员注册和修改密码等功能_第2页
基于s2sh架构的课程设计实训教学示例项目——《客户关系管理crm系统》——实现项目中的工作人员注册和修改密码等功能_第3页
基于s2sh架构的课程设计实训教学示例项目——《客户关系管理crm系统》——实现项目中的工作人员注册和修改密码等功能_第4页
基于s2sh架构的课程设计实训教学示例项目——《客户关系管理crm系统》——实现项目中的工作人员注册和修改密码等功能_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于S2SH架构的课程设计实训教学示例项目客户关系管理CRM系统实现项目中的工作人员注册和修改密码等功能111继续完成工作人员注册和修改密码等功能的逻辑连接1、添加工作人员注册的页面及表单STAFFINFOREGISTERJSP工作人员注册页面您的帐号您的密码确认密码2、添加修改工作人员密码的页面及表单UPDATESTAFFPASSWORDJSP工作人员修改密码的页面您的帐号原始密码新的密码确认密码3、修改STAFFINFOACTIONFORM增加新的成员属性变量4、再测试注册和修改密码的逻辑及页面跳转关系是否正确(1)工作人员注册HTTP/1270018080/BLUEDREAMCRM/STAFFINFOMANAGE/STAFFINFOREGISTERJSP提交后将跳转到系统登录页面。(2)修改工作人员的密码HTTP/1270018080/BLUEDREAMCRM/STAFFINFOMANAGE/UPDATESTAFFPASSWORDJSP提交后将跳转到系统登录页面。112在项目中构建出HIBERNATE41的系统环境1、设计相关的数据库表LOGINUSER_INFO2、添架HIBERNATE41相关的系统库文件(1)将下面的各个LIB库文件在ECLIPSE中导入放到WEB应用的/WEBINF/LIB目录中。1ANTLR277JAR2C3P0091JAR3DOM4J161JAR4HIBERNATEC3P0412JAR5HIBERNATECOMMONSANNOTATIONS401FINALJAR6HIBERNATECORE412JAR7HIBERNATEJPA20API101FINALJAR8JAVASSIST3150GAJAR9JBOSSLOGGING310GAJAR10JBOSSTRANSACTIONAPI_11_SPEC100FINALJAR11MYSQLCONNECTORJAVA516BINJAR(2)最后为下面的状态3、添加HIBERNATECFGXML系统配置文件(1)在项目中创建出HIBERNATECFGXML系统配置文件(2)HIBERNATECFGXML系统配置文件目前的内容如下ORGHIBERNATEDIALECTMYSQLDIALECTCOMMYSQLJDBCDRIVERJDBCMYSQL/LOCALHOST3306/BLUEDREAMCRMROOTROOTORGHIBERNATECONNECTIONC3P0CONNECTIONPROVIDER22500010030002FALSETRUE4、添加相关的PO类(1)类名称为STAFFINFOPO,包名称为COMPX1987BLUEDREAMCRMDAOPO(2)添加相关的成员属性,并提供GET/SET方法PRIVATEINTLOGINUSER_IDPRIVATESTRINGLOGINUSER_USERNAMEPRIVATESTRINGLOGINUSER_USERPASSWORDPRIVATEINTLOGINUSER_LOCKSTATUSPRIVATESTRINGLOGINUSER_DEPARTMENTNAMEPRIVATESTRINGSTAFFREALNAMENULLPRIVATESTRINGSTAFFWORKNONULLPRIVATESTRINGSTAFFUNITNAMENULLPRIVATESTRINGSTAFFPHOTOIMAGEFILENULLPRIVATESTRINGSTAFFBIRTHDATENULLPRIVATESTRINGSTAFFCOMEFROMNULL(3)添加HASHCODE和EQUALS方法(4)最终的结果PACKAGECOMPX1987BLUEDREAMCRMDAOPOPUBLICCLASSSTAFFINFOPOPRIVATEINTLOGINUSER_IDOVERRIDEPUBLICINTHASHCODEFINALINTPRIME31INTRESULT1RESULTPRIMERESULTLOGINUSER_IDRESULTPRIMERESULTLOGINUSER_DEPARTMENTNAMENULL0LOGINUSER_DEPARTMENTNAMEHASHCODERESULTPRIMERESULTLOGINUSER_LOCKSTATUSRESULTPRIMERESULTLOGINUSER_USERNAMENULL0LOGINUSER_USERNAMEHASHCODERESULTPRIMERESULTLOGINUSER_USERPASSWORDNULL0LOGINUSER_USERPASSWORDHASHCODERESULTPRIMERESULTSTAFFBIRTHDATENULL0STAFFBIRTHDATEHASHCODERESULTPRIMERESULTSTAFFCOMEFROMNULL0STAFFCOMEFROMHASHCODERESULTPRIMERESULTSTAFFPHOTOIMAGEFILENULL0STAFFPHOTOIMAGEFILEHASHCODERESULTPRIMERESULTSTAFFREALNAMENULL0STAFFREALNAMEHASHCODERESULTPRIMERESULTSTAFFUNITNAMENULL0STAFFUNITNAMEHASHCODERESULTPRIMERESULTSTAFFWORKNONULL0STAFFWORKNOHASHCODERETURNRESULTOVERRIDEPUBLICBOOLEANEQUALSOBJECTOBJIFTHISOBJRETURNTRUEIFOBJNULLRETURNFALSEIFGETCLASSOBJGETCLASSRETURNFALSESTAFFINFOPOOTHERSTAFFINFOPOOBJIFLOGINUSER_IDOTHERLOGINUSER_IDRETURNFALSEIFLOGINUSER_DEPARTMENTNAMENULLIFOTHERLOGINUSER_DEPARTMENTNAMENULLRETURNFALSEELSEIFLOGINUSER_DEPARTMENTNAMEEQUALSOTHERLOGINUSER_DEPARTMENTNAMERETURNFALSEIFLOGINUSER_LOCKSTATUSOTHERLOGINUSER_LOCKSTATUSRETURNFALSEIFLOGINUSER_USERNAMENULLIFOTHERLOGINUSER_USERNAMENULLRETURNFALSEELSEIFLOGINUSER_USERNAMEEQUALSOTHERLOGINUSER_USERNAMERETURNFALSEIFLOGINUSER_USERPASSWORDNULLIFOTHERLOGINUSER_USERPASSWORDNULLRETURNFALSEELSEIFLOGINUSER_USERPASSWORDEQUALSOTHERLOGINUSER_USERPASSWORDRETURNFALSEIFSTAFFBIRTHDATENULLIFOTHERSTAFFBIRTHDATENULLRETURNFALSEELSEIFSTAFFBIRTHDATEEQUALSOTHERSTAFFBIRTHDATERETURNFALSEIFSTAFFCOMEFROMNULLIFOTHERSTAFFCOMEFROMNULLRETURNFALSEELSEIFSTAFFCOMEFROMEQUALSOTHERSTAFFCOMEFROMRETURNFALSEIFSTAFFPHOTOIMAGEFILENULLIFOTHERSTAFFPHOTOIMAGEFILENULLRETURNFALSEELSEIFSTAFFPHOTOIMAGEFILEEQUALSOTHERSTAFFPHOTOIMAGEFILERETURNFALSEIFSTAFFREALNAMENULLIFOTHERSTAFFREALNAMENULLRETURNFALSEELSEIFSTAFFREALNAMEEQUALSOTHERSTAFFREALNAMERETURNFALSEIFSTAFFUNITNAMENULLIFOTHERSTAFFUNITNAMENULLRETURNFALSEELSEIFSTAFFUNITNAMEEQUALSOTHERSTAFFUNITNAMERETURNFALSEIFSTAFFWORKNONULLIFOTHERSTAFFWORKNONULLRETURNFALSEELSEIFSTAFFWORKNOEQUALSOTHERSTAFFWORKNORETURNFALSERETURNTRUEPUBLICINTGETLOGINUSER_IDRETURNLOGINUSER_IDPUBLICVOIDSETLOGINUSER_IDINTLOGINUSERIDLOGINUSER_IDLOGINUSERIDPUBLICSTRINGGETLOGINUSER_USERNAMERETURNLOGINUSER_USERNAMEPUBLICVOIDSETLOGINUSER_USERNAMESTRINGLOGINUSERUSERNAMELOGINUSER_USERNAMELOGINUSERUSERNAMEPUBLICSTRINGGETLOGINUSER_USERPASSWORDRETURNLOGINUSER_USERPASSWORDPUBLICVOIDSETLOGINUSER_USERPASSWORDSTRINGLOGINUSERUSERPASSWORDLOGINUSER_USERPASSWORDLOGINUSERUSERPASSWORDPUBLICINTGETLOGINUSER_LOCKSTATUSRETURNLOGINUSER_LOCKSTATUSPUBLICVOIDSETLOGINUSER_LOCKSTATUSINTLOGINUSERLOCKSTATUSLOGINUSER_LOCKSTATUSLOGINUSERLOCKSTATUSPUBLICSTRINGGETLOGINUSER_DEPARTMENTNAMERETURNLOGINUSER_DEPARTMENTNAMEPUBLICVOIDSETLOGINUSER_DEPARTMENTNAMESTRINGLOGINUSERDEPARTMENTNAMELOGINUSER_DEPARTMENTNAMELOGINUSERDEPARTMENTNAMEPUBLICSTRINGGETSTAFFREALNAMERETURNSTAFFREALNAMEPUBLICVOIDSETSTAFFREALNAMESTRINGSTAFFREALNAMETHISSTAFFREALNAMESTAFFREALNAMEPUBLICSTRINGGETSTAFFWORKNORETURNSTAFFWORKNOPUBLICVOIDSETSTAFFWORKNOSTRINGSTAFFWORKNOTHISSTAFFWORKNOSTAFFWORKNOPUBLICSTRINGGETSTAFFUNITNAMERETURNSTAFFUNITNAMEPUBLICVOIDSETSTAFFUNITNAMESTRINGSTAFFUNITNAMETHISSTAFFUNITNAMESTAFFUNITNAMEPUBLICSTRINGGETSTAFFPHOTOIMAGEFILERETURNSTAFFPHOTOIMAGEFILEPUBLICVOIDSETSTAFFPHOTOIMAGEFILESTRINGSTAFFPHOTOIMAGEFILETHISSTAFFPHOTOIMAGEFILESTAFFPHOTOIMAGEFILEPUBLICSTRINGGETSTAFFBIRTHDATERETURNSTAFFBIRTHDATEPUBLICVOIDSETSTAFFBIRTHDATESTRINGSTAFFBIRTHDATETHISSTAFFBIRTHDATESTAFFBIRTHDATEPUBLICSTRINGGETSTAFFCOMEFROMRETURNSTAFFCOMEFROMPUBLICVOIDSETSTAFFCOMEFROMSTRINGSTAFFCOMEFROMTHISSTAFFCOMEFROMSTAFFCOMEFROMPRIVATESTRINGLOGINUSER_USERNAMEPRIVATESTRINGLOGINUSER_USERPASSWORDPRIVATEINTLOGINUSER_LOCKSTATUSPRIVATESTRINGLOGINUSER_DEPARTMENTNAMEPRIVATESTRINGSTAFFREALNAMENULLPRIVATESTRINGSTAFFWORKNONULLPRIVATESTRINGSTAFFUNITNAMENULLPRIVATESTRINGSTAFFPHOTOIMAGEFILENULLPRIVATESTRINGSTAFFBIRTHDATENULLPRIVATESTRINGSTAFFCOMEFROMNULLPUBLICSTAFFINFOPO5、实现前面的PO类和相关的数据库表的映射(1)映射的文件名为STAFFINFOPOHBMXML(2)设计该文件的内容6、构建面向工作人员的数据访问组件的接口和相关的实现类(1)接口接口的名称为STAFFINFODAOINTERFACE,包名称为COMPX1987BLUEDREAMCRMDAOINTERPACKAGECOMPX1987BLUEDREAMCRMDAOINTERIMPORTCOMPX1987BLUEDREAMCRMDAOPOSTAFFINFOPOPUBLICINTERFACESTAFFINFODAOINTERFACEPUBLICSTAFFINFOPOQUERYONESTAFFINFOSTRINGLOGINNAME,STRINGLOGINPASSWORD,STRINGLOGINUSER_DEPARTMENTNAMEPUBLICBOOLEANSAVEONESTAFFINFOSTAFFINFOPOONESTAFFINFOPOPUBLICBOOLEANUPDATESTAFFPASSWORDSTAFFINFOPOONESTAFFINFOPO,STRINGNEWPASSWORDPUBLICBOOLEANUPDATESTAFFREGISTERSTAFFINFOPOONESTAFFINFOPO在该STAFFINFODAOINTERFACE接口中目前只设计有一个满足前台登录查询的数据访问方法,在项目开发的后期再进行功能的扩展。(2)接口的实现类类名称为STAFFINFODAOIMPLE,包名称为COMPX1987BLUEDREAMCRMDAOIMPLE(3)编程该实现类的代码PACKAGECOMPX1987BLUEDREAMCRMDAOIMPLEIMPORTJAVAUTILLISTIMPORTORGHIBERNATEHIBERNATEEXCEPTIONIMPORTORGHIBERNATEQUERYIMPORTORGHIBERNATESESSIONIMPORTORGHIBERNATESESSIONFACTORYIMPORTORGHIBERNATETRANSACTIONIMPORTCOMPX1987BLUEDREAMCRMDAOINTERSTAFFINFODAOINTERFACEIMPORTCOMPX1987BLUEDREAMCRMDAOPOSTAFFINFOPOPUBLICCLASSSTAFFINFODAOIMPLEIMPLEMENTSSTAFFINFODAOINTERFACEPRIVATESESSIONFACTORYSESSIONFACTORYPUBLICVOIDSETSESSIONFACTORYSESSIONFACTORYSESSIONFACTORYTHISSESSIONFACTORYSESSIONFACTORYPUBLICSTAFFINFODAOIMPLEPUBLICBOOLEANUPDATESTAFFREGISTERSTAFFINFOPOONESTAFFINFOPOSESSIONSESSIONNULLTRANSACTIONTXNULLTRY/(1)首先获得SESSION对象,但如果应用SESSIONFACTORYGETCURRENTSESSION则获得的SESSION为空对象。GETCURRENTSESSION方法获得当前的SESSION,而OPENSESSION方法是重新建立一个新的SESSION;在一个应用程序中,如果DAO层使用SPRING的HIBERNATE模板,通过SPRING来控制SESSION的生命周期,则首选GETCURRENTSESSION;而如果应用使用HIBERNATE的大多数应用程序需要某种形式的“上下文相关的”SESSION。/SESSIONSESSIONFACTORYOPENSESSION/(2)启动事务/TXSESSIONBEGINTRANSACTION/(3)完成具体的数据库访问操作/STRINGUPDATEHQL“UPDATECOMPX1987BLUEDREAMCRMDAOPOSTAFFINFOPOASONESTAFFINFOPO“SETONESTAFFINFOPOLOGINUSER_USERNAME,ONESTAFFINFOPOLOGINUSER_USERPASSWORD,ONESTAFFINFOPOLOGINUSER_DEPARTMENTNAME,“ONESTAFFINFOPOSTAFFREALNAME,ONESTAFFINFOPOSTAFFWORKNO,ONESTAFFINFOPOSTAFFUNITNAME,ONESTAFFINFOPOSTAFFPHOTOIMAGEFILE,“ONESTAFFINFOPOSTAFFBIRTHDATE,ONESTAFFINFOPOSTAFFCOMEFROM“WHEREONESTAFFINFOPOLOGINUSER_ID“QUERYONEQUERYSESSIONCREATEQUERYUPDATEHQLONEQUERYSETSTRING0,ONESTAFFINFOPOGETLOGINUSER_USERNAMEONEQUERYSETSTRING1,ONESTAFFINFOPOGETLOGINUSER_USERPASSWORDONEQUERYSETSTRING2,ONESTAFFINFOPOGETLOGINUSER_DEPARTMENTNAMEONEQUERYSETSTRING3,ONESTAFFINFOPOGETSTAFFREALNAMEONEQUERYSETSTRING4,ONESTAFFINFOPOGETSTAFFWORKNOONEQUERYSETSTRING5,ONESTAFFINFOPOGETSTAFFUNITNAMEONEQUERYSETSTRING6,ONESTAFFINFOPOGETSTAFFPHOTOIMAGEFILEONEQUERYSETSTRING7,ONESTAFFINFOPOGETSTAFFBIRTHDATEONEQUERYSETSTRING8,ONESTAFFINFOPOGETSTAFFCOMEFROMONEQUERYSETINTEGER9,ONESTAFFINFOPOGETLOGINUSER_IDINTRETURNRESULTONEQUERYEXECUTEUPDATE/(4)数据操作成功,则提交事务,否则将不会真正“修改”数据/TXCOMMITCATCHHIBERNATEEXCEPTIONHE/(4)数据操作失败,则取消提交(回滚)/IFTXNULLTXROLLBACKTHROWHEFINALLY/由于由HIBERNATE抛出的异常都视为不可以恢复的,因此应该确保在FINALLY代码块中调用CLOSE方法,以关闭掉SESSION。(5)数据访问操作完毕,一定要关闭SESSION/SESSIONCLOSERETURNTRUEPUBLICBOOLEANUPDATESTAFFPASSWORDSTAFFINFOPOONESTAFFINFOPO,STRINGNEWPASSWORDSESSIONSESSIONNULLTRANSACTIONTXNULLTRY/(1)首先获得SESSION对象,但如果应用SESSIONFACTORYGETCURRENTSESSION则获得的SESSION为空对象。GETCURRENTSESSION方法获得当前的SESSION,而OPENSESSION方法是重新建立一个新的SESSION;在一个应用程序中,如果DAO层使用SPRING的HIBERNATE模板,通过SPRING来控制SESSION的生命周期,则首选GETCURRENTSESSION;而如果应用使用HIBERNATE的大多数应用程序需要某种形式的“上下文相关的”SESSION。/SESSIONSESSIONFACTORYOPENSESSION/(2)启动事务/TXSESSIONBEGINTRANSACTION/(3)完成具体的数据库访问操作/STRINGUPDATEHQL“UPDATECOMPX1987BLUEDREAMCRMDAOPOSTAFFINFOPOASONESTAFFINFOPO“SETONESTAFFINFOPOLOGINUSER_USERPASSWORDWHEREONESTAFFINFOPOLOGINUSER_USERNAMEAND“ONESTAFFINFOPOLOGINUSER_USERPASSWORDANDONESTAFFINFOPOLOGINUSER_DEPARTMENTNAME“QUERYONEQUERYSESSIONCREATEQUERYUPDATEHQLONEQUERYSETSTRING0,NEWPASSWORDONEQUERYSETSTRING1,ONESTAFFINFOPOGETLOGINUSER_USERNAMEONEQUERYSETSTRING2,ONESTAFFINFOPOGETLOGINUSER_USERPASSWORDONEQUERYSETSTRING3,ONESTAFFINFOPOGETLOGINUSER_DEPARTMENTNAMEINTRETURNRESULTONEQUERYEXECUTEUPDATE/(4)数据操作成功,则提交事务,否则将不会真正“修改”数据/TXCOMMITCATCHHIBERNATEEXCEPTIONHE/(4)数据操作失败,则取消提交(回滚)/IFTXNULLTXROLLBACKTHROWHEFINALLY/由于由HIBERNATE抛出的异常都视为不可以恢复的,因此应该确保在FINALLY代码块中调用CLOSE方法,以关闭掉SESSION。(5)数据访问操作完毕,一定要关闭SESSION/SESSIONCLOSERETURNTRUEPUBLICBOOLEANSAVEONESTAFFINFOSTAFFINFOPOONESTAFFINFOPOSESSIONSESSIONNULLTRANSACTIONTXNULLTRY/(1)首先获得SESSION对象,但如果应用SESSIONFACTORYGETCURRENTSESSION则获得的SESSION为空对象。GETCURRENTSESSION方法获得当前的SESSION,而OPENSESSION方法是重新建立一个新的SESSION;在一个应用程序中,如果DAO层使用SPRING的HIBERNATE模板,通过SPRING来控制SESSION的生命周期,则首选GETCURRENTSESSION;而如果应用使用HIBERNATE的大多数应用程序需要某种形式的“上下文相关的”SESSION。/SESSIONSESSIONFACTORYOPENSESSION/(2)启动事务/TXSESSIONBEGINTRANSACTION/(3)完成具体的数据库访问操作/SESSIONSAVEONESTAFFINFOPO/(4)数据操作成功,则提交事务,否则将不会真正“修改”数据/TXCOMMITCATCHHIBERNATEEXCEPTIONHE/(4)数据操作失败,则取消提交(回滚)/IFTXNULLTXROLLBACKTHROWHEFINALLY/由于由HIBERNATE抛出的异常都视为不可以恢复的,因此应该确保在FINALLY代码块中调用CLOSE方法,以关闭掉SESSION。(5)数据访问操作完毕,一定要关闭SESSION/SESSIONCLOSERETURNTRUEOVERRIDEPUBLICSTAFFINFOPOQUERYONESTAFFINFOS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论