教你实现第一个SSH项目mfj.docx
- 文档编号:7184975
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:28
- 大小:737.43KB
教你实现第一个SSH项目mfj.docx
《教你实现第一个SSH项目mfj.docx》由会员分享,可在线阅读,更多相关《教你实现第一个SSH项目mfj.docx(28页珍藏版)》请在冰豆网上搜索。
教你实现第一个SSH项目mfj
Struts+Spring+HibernateStepbyStep
1.准备
工具:
Eclipse3.2.1、MyEclipse5.1.0GA、mysql-connector-java-5.0.4-bin.jar、MySqlGUITools5.0
环境:
Tomcat5.0、MySql5.0.18
备注:
Eclipse、MyEclipse、MySql以及Tomcat都可选择更高版本,在界面菜单上可能会有些许差别,当然也可使用Netbeans和其他数据库例如sqlserver等
1.1.新建工程
操作:
MyEclipse菜单->File->New->WebProject
工程名:
login
J2EE版本:
根据自己机器上安装的实际版本而定
2.Struts
添加Struts功能支持
操作:
工程名login右键菜单->MyEclipse->AddStrutsCapabilities…
Struts版本:
选择Struts1.2
Basepackagefornewclasses:
yourcompany改为login
创建ActionForm类
操作:
工程名login右键菜单->New->MyEclipse->Web-Struts->Struts1.2Form
UseCase名:
Login
类名:
loginForm
“FormProperties”选项卡:
为loginForm新增两个String类型属性:
username、password
“JSP”选项卡:
选中“CreateJSPform”,将新建路径改为“/login.jsp”(login.jsp文件将被自动创建)
创建Action类
操作:
工程名login右键菜单->New->MyEclipse->Web-Struts->Struts1.2Action
UseCase名:
Login
“Form”选项卡:
“Name”项选择“loginForm”,“InputSource”项输入“/login.jsp”
创建Index.jsp
操作:
工程WebRoot右键菜单->New->JSP
FileName:
index.jsp
中添加一个指向login.jsp的链接:创建Forward类
操作:
工程名login右键菜单->New->MyEclipse->Web-Struts->Struts1.2Forward
Name:
indexForward
Path:
/index.jsp
保存struts-config.xml文件
修改LoginAction.java类
修改LoginAction类的execute方法(蓝色的部分为增加的部分)
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
LoginFormloginForm=(LoginForm)form;//TODOAuto-generatedmethod
Stringusername=loginForm.getUsername();
Stringpassword=loginForm.getPassword();
if(username.equals("test")&&password.equals("test")){
returnmapping.findForward("indexForward");
}else{
returnmapping.getInputForward();
}
}
修改login.jsp类
修改 form>标签: formaction="/login"> 运行测试 操作: MyEclipse工具栏 进行部署 Project: 选择login点击add按钮 Server: 选择Tomcat5(根据自己安装的Tomcat服务器而定,首次安装MyEclipse需要在preference里面指定server) 运行: MyEclipse工具栏 启动服务器 浏览器: 输入http: //localhost: 8080/login/index.jsp 点击Login链接页面跳转至login.jsp 在login.jsp页面输入密码test用户名test,应该会登录成功,然后跳转回到index.jsp页面; 如果输入不正确的密码和用户名,应该停留在login.jsp页面。 如果按照上述步骤测试成功,则证明Struts已经正常运行。 3.Spring 添加Spring功能支持 操作: 工程名login右键菜单->MyEclipse->AddSpringCapabilities… 开发包(libraries)选择MyEclipseLibraries下的全部(本例中其实只用到了部分,为了扩展方便建议选择全部,当然也可以选择UserLibraries使用自己下载的Spring包,将lib文件夹下的所有jar包导入) JARLibraryInstallation选择“copychecked…” “LibraryFolder”项选择“/WebRoot/WEB-INF/lib”(这样的话所需的类库都将拷贝到项目目录,方便以后的部署) 点击“下一步(Next)”创建配置文件,修改文件路径(Folder)到“WebRoot/WEB-INF”目录(以便和Struts配置文件一起管理),文件名称为默认的“applicationContext.xml” 点击Finish按钮,如果出现部分jar包已经存在的提示,选择KeepExisting 3.2.配置struts-config.xml文件 添加Spring插件(添加在 / ///注意这个地方,要根据applicationContext.xml的实际位置来 修改LoginAction的配置(红色部分为修改的部分,只需修改type属性): attribute="loginForm" input="/login.jsp" name="loginForm" path="/login" scope="request" type="org.springframework.web.struts.DelegatingActionProxy"/> 此处意义在于将Action的控制权移交给spring的代理器DelegatingActionProxy 3.3.修改Spring配置文件applicationContext.xml 蓝色部分配置Action控制权的接受和处理,com.login.struts.action.LoginAction即原struts里的配置 singleton="false"> //在myeclipse5.5及以上中,上面singleton="false"需要去掉。 3.4.运行测试 同2.9。 重新部署后,测试成功证明Spring已经正常运行。 4.Hibernate 下面开始Hibernate部分,将LoginAction修改为使用数据库进行身份验证。 4.1.创建MySql数据库和表 在MySql默认的test库下新建user_table表,建表sql如下: CREATETABLEuser_table( IDintNOTNULLauto_increment, USERNAMEvarchar(45)NOTNULLdefault'', PASSWORDvarchar(45)NOTNULLdefault'', PRIMARYKEY(ID) ) 再在user_table表中添加一条记录: insertintouser_table(USERNAME,PASSWORD)values('test','test') 上面的语句有一定问题。 导出的user_table.sql文件应该是: /* MySQLDataTransfer SourceHost: localhost SourceDatabase: test TargetHost: localhost TargetDatabase: test Date: 2009-4-417: 51: 47 */ SETFOREIGN_KEY_CHECKS=0; ------------------------------ --Tablestructureforuser_table ------------------------------ CREATETABLE`user_table`( `ID`int(11)NOTNULLauto_increment, `USERNAME`varchar(45)NOTNULLdefault'', `PASSWORD`varchar(45)NOTNULLdefault'', PRIMARYKEY(`ID`) )ENGINE=InnoDBDEFAULTCHARSET=latin1; ------------------------------ --Records ------------------------------ INSERTINTO`user_table`VALUES('1','test','test'); 4.2.创建MyEclipse数据库驱动(DBDriver) 操作: MyEclipse菜单->Window->Preferences…->MyEclipse->DatabaseExplorer->Drivers 点击New按钮为新建一个MySql数据库的DBDriver DriverName: mysql-test ConnectionURL: jdbc: mysql: //localhost: 3306/test “DriverJARs”添加“mysql-connector-java-5.0.4-bin.jar”(可从网上下载) “Driverclassname”选择“com.mysql.jdbc.Driver” 4.3.创建数据库连接对象 操作: MyEclipse菜单->Window->OpenPerspective->MyEclipseDatabaseExplorer 在DBBrowser中点击 按钮新建一个DatabaseConnectionProfile ProfileName: login-conn Driver: 选择刚才创建的mysql-test 用户名和密码根据实际MySql数据库的设置填写 //在myeclipse5.5中,这步不需要 4.4.添加Hibernate功能支持 操作: 工程名login右键菜单->MyEclipse->AddHibernateCapabilities… Hibernate版本: 选择Hibernate3.1 开发包(libraries)选择MyEclipseLibraries下的全部 JARLibraryInstallation选择“CopycheckedLibrariesJarsto…” “LibraryFolder”项选择“/WebRoot/WEB-INF/lib”(这样的话所需的类库都将拷贝到项目目录,方便以后的部署) 点击“Next”设置配置文件,选择“Springconfigurationfile(applicationContext.xml)” 点击“Next”设置Spring-Hibernate,选择“ExistingSpringconfigurationfile” “SessionFactoryID”项输入“sessionFactory” 点击“Next”创建数据源对象 BeanId: dataSource DataSource: UseJDBCDirver DBProfile: 选择前面创建的“login-conn”,其余项会自动填充 选中“CopyDBProfileJDBCDriverJar(s)toprojectandaddtoclasspath? ”项,以便将数据连接的库文件复制到项目,方便以后的部署 点击“Next”创建SessionFactory类 Javapackage: com.login.Hibernate(没有则点击New按钮添加) Classname: 修改为“SessionFactory” JavaComplianceLevel: 和创建项目时选择的Java版本一致 点击Finish按钮,如果出现部分jar包已经存在的提示,选择KeepExisting 4.5.创建对象关系映射(ORM)的相关文件 操作: MyEclipse菜单->Window->OpenPerspective->MyEclipsehibernate 选中刚才创建的login-conn,点击 按钮连接 选中test库中的user_table表点击右键,选择“HibernateReverseEngineering” Javapackage: com.login 其他设置如下图 点击“Next”,再点击“Next” Generateartifactsforthefollowingtables: 选中“user_table”表 右边出现的“ClassName”项中输入“com.login.User”,其它不变 点击“Finish”完成此操作,会在“com.login”包下创建三个文件: AbstractUser.java、User.java、User.hbm.xml 4.6.修改User.hbm.xml文件 去掉 ) 4.7.创建UserDAO.java接口和UserDAOImpl.java类 操作: 在com.login包下建立UserDAO.java接口和UserDAOImpl.java类,通过Hibernate访问数据库 UserDAO接口内容如下: packagecom.login; publicinterfaceUserDAO{ publicabstractbooleanisValidUser(Stringusername,Stringpassword); } UserDAOImpl类内容如下: packagecom.login; importjava.util.List; importorg.springframework.orm.hibernate3.support.HibernateDaoSupport; publicclassUserDAOImplextendsHibernateDaoSupportimplementsUserDAO{ publicbooleanisValidUser(Stringusername,Stringpassword){ //验证用户 ListuserList=this.getHibernateTemplate().find("fromUseruwhereu.username='"+ username+"'andu.password='"+password+"'"); if(userList.size()>0){ returntrue; } returnfalse; } } 4.8.修改LoginAction.java文件 使用UseDAO对象来进行login身份验证,新的LoginAction类内容如下: 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;//TODOAuto-generatedmethod Stringusername=loginForm.getUsername(); Stringpassword=loginForm.getPassword(); if(userDAO.isValidUser(username,password)){ returnmapping.findForward("indexForward"); }else{ returnmapping.getInputForward(); } } } 蓝色部分为添加的部分,红色部分为修改的部分 4.9.修改Spring配制文件applicationContext.xml 新的applicationContext.xml文件内容如下: xmlversion="1.0"encoding="UTF-8"? > DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http: //www.springframework.org/dtd/spring-beans.dtd"> singleton="false"> -- class="mons.dbcp.BasicDataSource"> 这段要修改为以下class! ! class="org.springframework.jdbc.datasource.DriverManagerDataSource"> mysql: //localhost: 3306/test class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> org.hibernate.dialect.MySQLDialect class="org.springframework.orm.hibernate3.HibernateTransactionManag
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实现 第一 SSH 项目 mfj