SSH2框架整合学习指南教学文案_第1页
SSH2框架整合学习指南教学文案_第2页
SSH2框架整合学习指南教学文案_第3页
SSH2框架整合学习指南教学文案_第4页
SSH2框架整合学习指南教学文案_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、Good is good, but better carries it.精益求精,善益求善。SSH2框架整合学习指南SSH2框架整合详细步骤内部资料2012年7月目的:通过一个简单的注册登录来学ssh框架的整合1准备工作工具准备Mysql5.5,JDK1.6,Myeclipse6.5,tomcat6.0等辅助工具整合类库集Struts-,Hibernate3.2,Spring2.5(后两类库可以在myelcipse中有自带)开始搭建平台1启动myeclipse,建一个Web工程,如图所示:图中的需要输入项目名称即可,其余可以没必要选择,除非有需2导入Struts2开发的必备类库说明:(此版本的

2、myeclipse没有需要的struts2类库,所以选择手工导入)需要导入的类库常见8个:导入之后,还别忘了导入一个和spring整合需要的类文件这些工作之后还需配置web.xml文件,为它配置过滤器,配置文件详细如下:struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*配置好该处后,还需要在src下面建立一个struts.xml文件,关于该配置文件可以到你下载的struts2文件中,找个项目中,有这样的模版可以拷贝过来一个,这样配置strust2暂时解决了3.导入Hibern

3、ate类库文件,选择myeclipse进行导入单击你选择的项目,点击右键,按如图所示选择hibernate的支持选中点击之后得到如下界面,只需改JARLibraryInstallation如图所示点击next,得到如下,不需改动,继续点击next即可之后到该界面,因为后续来配置,此处就不选,不勾上,点击next接下来也是把勾去掉,不选择,点击finish即可就这样hibernate的支持也完成了。导入对spring的支持,同样采用myeclipse集成已有的操作如加入hibernate支持一样,点击之后,选择一些,得到如下其中类库文件需要选择主要的三个(其实是四个,有一个选择会自动再选一个),

4、三个为:(AOP是选择第三个带进来的)还有就是把库文件选择到web-inf目录下,点击next此处folder要选择到web-inf下即可把第一个勾去掉即可,点击next把勾去掉,点击finish即可,就这样配置spring的支持也完成了,可以进行测试下,将该项目部署到tomcat下,启动tomcat结果发现抛出了异常,说struts2的过滤器没有成功启动,如图所示的异常:这是由于没有配置spring的监听器,打开web.xml文件加入如下代码:org.springframework.web.context.ContextLoaderListener重新启动服务器,发现一切正常运行,由于之后要

5、用数据库,所以得把该三个jar文件导入:这三个类库可以在网上下载到做到此处,ssh2的整合已经就成功了,接下来就是具体去怎么实现注册,登录系统了5.先分析需求,建立数据库,数据表为了简单起见,这里只对该用户进行简单的注册,登录,其中注册只需填用户名和密码,登录界面也只有用户名和密码两项建立了一个数据库为ssh2_003,在当中建个数据表为:user,包含id,username,password,三个属性将用户信息进行封装,定义一个User类packagecom.ssh2_003.bean;publicclassUserprivateintid;privateStringusername;pri

6、vateStringpassword;publicintgetId()returnid;publicvoidsetId(intid)this.id=id;publicStringgetUsername()returnusername;publicvoidsetUsername(Stringusername)this.username=username;publicStringgetPassword()returnpassword;publicvoidsetPassword(Stringpassword)this.password=password;下面编写一个register.jsp注册界面,

7、源码如下:basehref=MyJSPindex.jspstartingpage!-注册界面接下来就得写Action类文件了写了个SaveUserAction.java继承ActionSupport,现在该类只是一个没有任何逻辑和处理数据的,需后续工作进行才能解决packagecom.ssh2_003.action.user;importcom.opensymphony.xwork2.ActionSupport;importcom.ssh2_003.bean.User;publicclassSaveUserActionextendsActionSupportprivateUseruser;pu

8、blicUsergetUser()returnuser;publicvoidsetUser(Useruser)this.user=user;publicStringexecute()throwsExceptionreturnSUCCESS;下面得写具体的类了,首先DAO接口的编写,包含添加和查找方法:packagecom.ssh2_003.dao;importcom.ssh2_003.bean.User;publicinterfaceUserDAOpublicvoidsaveUser(Useruser);publicUserfindUserByProperty(Stringpropertyna

9、me,Objectvalue);然后就是DAO接口的实现类了DAOImplpackagecom.ssh2_003.dao.impl;importjava.util.List;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importcom.ssh2_003.bean.User;importcom.ssh2_003.dao.UserDAO;publicclassUserDAOImplextendsHibernateDaoSupportimplementsUserDAOpublicvoidsaveUser(

10、Useruser)this.getHibernateTemplate().save(user);publicUserfindUserByProperty(Stringpropertyname,Objectvalue)Stringhql=fromUserasuserwhereuser.+propertyname+=?;Listlist=(List)this.getHibernateTemplate().find(hql,value);if(list!=null&list.size()=1)returnlist.get(0);elsereturnnull;DAO块就完成了,接下来就是Service

11、块了,先写个Service接口,方法跟DAO中差不多,只是还包含了另一个方法,用来验证用户登录的packagecom.ssh2_003.service;importcom.ssh2_003.bean.User;publicinterfaceUserServicepublicvoidsave(Useruser);publicUserfindUserByProperty(Stringpropertyname,Objectvalue);publicbooleanvalidateUser(Stringusername,Stringpassword);接着就是它的实现类ServiceImplpackag

12、ecom.ssh2_003.service.impl;importcom.ssh2_003.bean.User;importcom.ssh2_003.dao.UserDAO;importcom.ssh2_003.service.UserService;publicclassUserServiceImplimplementsUserServiceprivateUserDAOuserDao;publicUserDAOgetUserDao()returnuserDao;publicvoidsetUserDao(UserDAOuserDao)this.userDao=userDao;publicvoi

13、dsave(Useruser)this.userDao.saveUser(user);publicUserfindUserByProperty(Stringpropertyname,Objectvalue)returnthis.userDao.findUserByProperty(propertyname,value);publicbooleanvalidateUser(Stringusername,Stringpassword)booleanflag=false;if(username=null|.equals(username)|password=null|.equals(password

14、)flag=false;elseUseru=this.findUserByProperty(username,username);if(u!=null)if(u.getPassword().equals(password)flag=true;elseflag=false;elseflag=false;returnflag;别忘了,最主要的操作还是Action中实现,补充先前的SaveUserAction类packagecom.ssh2_003.action.user;importcom.opensymphony.xwork2.ActionSupport;importcom.ssh2_003.b

15、ean.User;importcom.ssh2_003.service.UserService;publicclassSaveUserActionextendsActionSupportprivateUseruser;privateUserServiceservice;publicUserServicegetService()returnservice;publicvoidsetService(UserServiceservice)this.service=service;publicUsergetUser()returnuser;publicvoidsetUser(Useruser)this

16、.user=user;OverridepublicStringexecute()throwsExceptionthis.service.save(this.user);returnSUCCESS;此时开起服务器,打开注册界面,点击注册,当出现如下信息时:则表示成功,此时你进入数据库可以查看到已经有信息了。好的注册块就完成了。接下来来实现登录模块,此处设计简单,如果验证成功,则跳到success.jsp界面,提示注册成功信息,如果验证失败,则继续停留在登录界面。登录界面源码如下:basehref=MyJSPenter.jspstartingpage!-登录界面下面得写一个CheckUserAct

17、ion类来出来用户的登录逻辑的实现,源码如下packagecom.ssh2_003.action.user;importcom.opensymphony.xwork2.ActionSupport;importcom.ssh2_003.bean.User;importcom.ssh2_003.service.UserService;publicclassCheckUserActionextendsActionSupport/*/privatestaticfinallongserialVersionUID=1L;privateUseruser;privateUserServiceservice;p

18、ublicUsergetUser()returnuser;publicvoidsetUser(Useruser)this.user=user;publicUserServicegetService()returnservice;publicvoidsetService(UserServiceservice)this.service=service;OverridepublicStringexecute()throwsExceptionStringusername=this.user.getUsername().trim();Stringpassword=this.user.getPassword().trim();System.out.println(*);if(this.service.validateUser(username,password)r

温馨提示

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

评论

0/150

提交评论