教你实现第一个SSH项目mfj.docx

上传人:b****5 文档编号:7184975 上传时间:2023-01-21 格式:DOCX 页数:28 大小:737.43KB
下载 相关 举报
教你实现第一个SSH项目mfj.docx_第1页
第1页 / 共28页
教你实现第一个SSH项目mfj.docx_第2页
第2页 / 共28页
教你实现第一个SSH项目mfj.docx_第3页
第3页 / 共28页
教你实现第一个SSH项目mfj.docx_第4页
第4页 / 共28页
教你实现第一个SSH项目mfj.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

教你实现第一个SSH项目mfj.docx

《教你实现第一个SSH项目mfj.docx》由会员分享,可在线阅读,更多相关《教你实现第一个SSH项目mfj.docx(28页珍藏版)》请在冰豆网上搜索。

教你实现第一个SSH项目mfj.docx

教你实现第一个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的链接:

Login

创建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文件

去掉标签中的catalog="test"属性(为啥?

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">

com.mysql.jdbc.Driver

jdbc:

mysql:

//localhost:

3306/test

root

root

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

org.hibernate.dialect.MySQLDialect

com/login/User.hbm.xml

class="org.springframework.orm.hibernate3.HibernateTransactionManag

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1