SSH整合.docx
- 文档编号:4689140
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:23
- 大小:225.03KB
SSH整合.docx
《SSH整合.docx》由会员分享,可在线阅读,更多相关《SSH整合.docx(23页珍藏版)》请在冰豆网上搜索。
SSH整合
ssh框架整合实例
转载
对应于我的环境:
(本文参考自oksonic的“Struts+Spring+Hibernate练习(完整)”)
注意:
这个实例要加入spring.jar到lib中!
!
!
1.准备
工具:
MyEclipse6.0.1GA、mysql-connector-java-5.0.4-bin.jar、MySqlGUITools5.0(便于管理MySql数据库,不是必须)
环境:
Tomcat5.5、MySql5.0
1.1.新建工程
操作:
[Menu]File/New/WebProject
工程名:
login
2.Struts部分
2.1.添加Struts功能支持
操作:
[Menu]MyEclipse/ProjectCapabilities/AddStrutsCapabilities
2.2.创建ActionForm类
操作:
[Ctrl+N]MyEclipse/Web-Struts/Struts1.2Form
类名:
LoginForm
在“FormProperties”选项卡为loginForm新增两个属性:
username、password;
在“JSP”选项卡钩选“CreateJSPform”选项,将新建路径改为“/login.jsp”(login.jsp文件将被自动创建)。
2.3.创建Action类
操作:
[Ctrl+N]MyEclipse/Web-Struts/Struts1.2Action
类名:
LoginAction
在“Form”选项卡的“Name”项选择“loginForm”,”InputSource”项输入“/login.jsp”。
2.4.创建index.jsp文件
如果没有,创建index.jsp文件,并添加一个指向login.jsp的链接:
2.5.创建Forword类
操作:
[Ctrl+N]MyEclipse/Web-Struts/Struts1.2Forword
类名:
indexForword
“Name”项输入“indexForword”,”Path”项输入“/index.jsp”。
2.6.修改LoginAction.java文件
修改LoginAction类的execute方法:
publicclassLoginActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
LoginFormloginForm=(LoginForm)form;
Stringusername=loginForm.getUsername();
Stringpassword=loginForm.getPassword();
if(username.equals(”test”)||password.equals(”test”)){
returnmapping.findForward(”indexForword”);
}else{
returnmapping.getInputForward();
}
}
}
2.7.修改login.jsp文件
修改 form>标签: formaction=”/login”>。 2.8.测试 操作: [Menu]Run/Run,选择MyEclipseServerApplication方式运行 (要正常执行Run操作,需先安装Tomcat5.5。 ) 点击index.jsp页面的“Login”链接,跳转到login.jsp页面。 在login.jsp页面输入“test/test”,应该会登录成功,然后跳转到index.jsp页面;输入“test/123″,应该保持在login.jsp页面。 如果测试成功,证明Structs运行正常。 3.Spring部分 3.1.添加Spring功能支持 操作: [Menu]MyEclipse/ProjectCapabilities/AddSpringCapabilities Spring版本(Springversion)选择“Spring1″; 开发包(libraries)选择“Spring1.2AOPLibraries、Spring1.2CoreLibraries、Spring1.2PersistenceCoreLibraries、Spring1.2PersistenceJDBCLibraries”四项; JARLibraryInstallation选择“copychecked…”,”LibraryFolder”项选择“/WebRoot/WEB-INF/lib”(这样的话所需的类库都将拷贝到项目目录,方便以后的布署)。 点击“下一步(Next)”创建配置文件,修改文件路径(Folder)到“WebRoot/WEB-INF”目录(以便和Struts配置文件一起管理),文件名称为默认的”applicationContext.xml”。 点击“完成(Finish)”。 3.2.配置struts-config.xml文件 添加Spring插件(在 修改LoginAction的配置(只需修改type属性): attribute=”loginForm” input=”/login.jsp” name=”loginForm” path=”/login” scope=”request” type=”org.springframework.web.struts.DelegatingActionProxy”/> 绿色字体部份为被修改过的内容,这里将使用spring的代理器DelegatingActionProxy来对Action进行控制。 3.3.修改Spring配置文件applicationContext.xml xmlversion=”1.0″encoding=”UTF-8″? > DOCTYPEbeansPUBLIC“-//SPRING//DTDBEAN//EN”“http: //www.springframework.org/dtd/spring-beans.dtd”> 绿色字体是关于接受和处理Action控制权的配置内容,”com.login.struts.action.LoginAction”即为原struts里的配置。 org.springframework.web.struts.ContextLoaderPlugIn: 没找到,需要在WebRoot/WEB-INFO/lib下添加spring-struts.jar 在web.xml中添加 applicationContext*.xml --为spring添加监听器--> org.springframework.web.context.ContextLoaderListener没找到 需要添加spring-web.jar 3.4.测试 同上一次测试。 测试成功证明Spring运行正常。 4.Hibernate部分 下面开始Hibernate部分,将原例修改为使用数据库进行用户名/密码验证。 4.1.创建mysql数据库和表 添加表的代码如下: CREATETABLEuser_table( IDintNOTNULLauto_increment, USERNAMEvarchar(45)NOTNULLdefault”, PASSWORDvarchar(45)NOTNULLdefault”, PRIMARYKEY(ID) ) 再添加一条记录: insertintouser_table(USERNAME,PASSWORD)values(’test’,'test’) 4.2.创建MyEclipse数据库驱动(DBDriver) 操作: [Menu]MyEclipse/Prefrences/MyEclipse/DatabaseExplorer/DatabaseDriver/DBBrower 在DBBrower的菜单中选择“New”,”DriverName”项输入“login-conn”,”ConnectionURL”项输入“jdbc: mysql: //localhost: 3306/test”,然后输入正确的用户名(UserName)和密码(Password)按实际情况输入; 在“DriverJARs”项添加“mysql-connector-java-5.0.4-bin.jar”(可从网上下载),在“Driverclassname”里选择“com.mysql.jdbc.Driver”,其它自选。 点击“完成(Finish)”。 4.3.添加Hibernate功能支持 操作: [Menu]MyEclipse/ProjectCapabilities/AddHibernateCapabilities Hibernate版本(HibernateSpecification)选择“Hibernate3.1″,开发包(libraries)选择Hibernate3.1CoreLibraries一项; JARLibraryInstallation选择“copychecked…”,”LibraryFolder”选择“/WebRoot/WEB-INF/lib”。 点击“下一步(Next)”设置配置文件,选择“Springconfigurationfile(applicationContext.xml)”。 “下一步(Next)”设置Spring-Hibernate,选择“ExistingSpringconfigurationfile”,”SessionFactoryID”项输入“sessionFactory”。 “下一步(Next)”创建数据源对象,在BeanId中输入dataSource,”DataSource”项选择“UseJDBCDirver”,DBDriver项选择“login-conn”,其余项会自动填充; 记得选中“CopyDBdriverjar(s)toprojectandaddtobuidpath”项,以便将数据连接的库文件复制到项目,方便以后的布署。 “下一步(Next)”创建SessionFactory类,”Javapackage”项设置为“com.login.Hibernate”(没有则点击”New”按钮添加),”Classname”项修改为”SessionFactory”,JavaComplianceLevel选择和创建项目时选择的Java版本。 (本例中并没有用到SessionFactory类,留作今后扩展) 点击“完成(Finish)”。 4.4.创建对象关系映射(ORM)的相关文件 操作: [Menu]Window/OpenPerspective/MyEclipseDatabaseExplorer 选中user_table表,点击右键,在出现的菜单中选择“HibernateReverseEngnieering”。 在弹出的窗口中保持“Javapackage”项为“com.login”; 选中“Hibernatemappingfile(*.hbm.xml)foreachdatabasestable”,并保持“Updatehibernate…”项选中; 选中“JavaDataObject”项,并保持“Createabstractclass”选中; “Basepersistentclass”项留空; 取消“JavaDataAccessObject…”项和“Usecustomtemplates”项。 点击“下一步(Next)”,再点击“下一步(Next)”,在“Configurereverseengineeringdetails”页选中“user_table”表,在右边出现的“ClassName”项中输入“com.login.User”,其它不变。 点击“完成(Finish)”。 完成此操作,会在“com.login”包下创建三个文件: AbstractUser.java、User.java、User.hbm.xml。 4.5.创建UserDAO.java接口和UserDAOImpl.java类 UserDAO和UserDAOImpl通过Hibernate访问数据库。 UseDAO.java内容如下: packagecom.login; publicinterfaceUserDAO{ publicabstractbooleanisValidUser(Stringusername,Stringpassword); } UserDAOImpl.java内容如下: packagecom.login; importjava.util.List; importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; publicclassUserDAOImplextendsHibernateDaoSupportimplementsUserDAO{ privatestaticStringhql=“fromUseruwhereu.username=? “; publicbooleanisValidUser(Stringusername,Stringpassword){ //验证用户 ListuserList=this.getHibernateTemplate().find(hql,username); if(userList.size()>0){ returntrue; } returnfalse; } } 4.6.修改LoginAction.java文件 使用UseDAO对象来验证: packagecom.login.struts.action; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importorg.apache.struts.action.Action; importorg.apache.struts.action.ActionForm; importorg.apache.struts.action.ActionForward; importorg.apache.struts.action.ActionMapping; importcom.login.struts.form.LoginForm; importcom.login.UserDAO; publicclassLoginActionextendsAction{ privateUserDAOuserDAO; publicUserDAOgetUserDAO(){ returnuserDAO; } publicvoidsetUserDAO(UserDAOuserDAO){ this.userDAO=userDAO; } publicActionForwardexecute(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ LoginFormloginForm=(LoginForm)form; Stringusername=loginForm.getUsername(); Stringpassword=loginForm.getPassword(); if(userDAO.isValidUser(username,password)){ returnmapping.findForward(“indexForword”); }else{ returnmapping.getInputForward(); } } } 绿色字体为修改部分。 4.7.Spring的最终配制文件applicationContext.xml xmlversion="1.0"encoding="UTF-8"? > //www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance"xmlns: p="http: //www.springframework.org/schema/p" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-3.0.xsd"> -- --====================数据源=======================--> mysql: //localhost: 3306/root"> --====================连接工厂=======================--> --配置sessionFactory,注意这里引入的包的不同--> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> org.hibernate.dialect.MySQLDialect
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSH 整合
![提示](https://static.bdocx.com/images/bang_tan.gif)