MyEclipse开发SSH(Struts+Spring+Hibernate)入门2008-01-3101:31(本文参考自oksonic的“Struts+Spring+Hibernate练习(完整)”)源码下载:=28577031.准备工具:MyEclipse6.0.1GA、mysql-connector-java-5.0.4-bin.jar、MySqlGUITools5.0(便于管理MySql数据库,不是必须)环境:Tomcat5.5、MySql5.01.1.新建工程操作:[Menu]File/New/WebProject工程名:login2.Struts部分2.1.添加Struts功能支持操作:[Menu]MyEclipse/ProjectCapabilities/AddStrutsCapabilities2.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的链接:ahref=”login.jsp”Login/a。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”)){request.setAttribute(“userName”,loginForm.getUsername());returnmapping.findForward(”indexForword”);}else{returnmapping.getInputForward();}}}2.7.修改login.jsp文件修改html:form标签:html: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/AddSpringCapabilitiesSpring版本(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插件(在message-resources标签后面添加):plug-inclassName=org.springframework.web.struts.ContextLoaderPlugInset-propertyproperty=contextConfigLocationvalue=/WEB-INF/classes/applicationContext.xml//plug-in修改LoginAction的配置(只需修改type属性):action-mappingsactionattribute=”loginForm”input=”/login.jsp”name=”loginForm”path=”/login”scope=”request”type=”org.springframework.web.struts.DelegatingActionProxy”//action-mappings绿色字体部份为被修改过的内容,这里将使用spring的代理器DelegatingActionProxy来对Action进行控制。3.3.修改Spring配置文件applicationContext.xml?xmlversion=”1.0″encoding=”UTF-8″?!DOCTYPEbeansPUBLIC“-//SPRING//DTDBEAN//EN”“”beansbeanname=”/login”class=”com.login.struts.action.LoginAction”singleton=”false”/bean/beans绿色字体是关于接受和处理Action控制权的配置内容,”com.login.struts.action.LoginAction”即为原struts里的配置。3.4.测试同上一次测试。测试成功证明Spring运行正常。4.Hibernate部分下面开始Hibernate部分,将原例修改为使用数据库进行用户名/密码验证。4.1.创建mysql数据库和表添加表的代码如下:CREATETABLEuser_table(IDintNOTNULLauto_increment,USERNAMEvarchar(45)NOTNULL”,PASSWORDvarchar(45)NOTNULL”,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/AddHibernateCapabilitiesHibernate版本(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)”,在“Configurere