Spring+Struts+Hibernate比较详细的整合配置方案.docx

上传人:b****6 文档编号:9046026 上传时间:2023-02-02 格式:DOCX 页数:14 大小:21.18KB
下载 相关 举报
Spring+Struts+Hibernate比较详细的整合配置方案.docx_第1页
第1页 / 共14页
Spring+Struts+Hibernate比较详细的整合配置方案.docx_第2页
第2页 / 共14页
Spring+Struts+Hibernate比较详细的整合配置方案.docx_第3页
第3页 / 共14页
Spring+Struts+Hibernate比较详细的整合配置方案.docx_第4页
第4页 / 共14页
Spring+Struts+Hibernate比较详细的整合配置方案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Spring+Struts+Hibernate比较详细的整合配置方案.docx

《Spring+Struts+Hibernate比较详细的整合配置方案.docx》由会员分享,可在线阅读,更多相关《Spring+Struts+Hibernate比较详细的整合配置方案.docx(14页珍藏版)》请在冰豆网上搜索。

Spring+Struts+Hibernate比较详细的整合配置方案.docx

Spring+Struts+Hibernate比较详细的整合配置方案

Spring+Struts+Hibernate 比较详细的整合配置方案

1. 准备

 

工具:

MyEclipse 6.0.1 GA、mysql-connector-java-5.0.4-bin.jar、MySql

GUI Tools 5.0(便于管理 MySql 数据库,不是必须)

环境:

Tomcat 5.5、MySql 5.0

1.1. 新建工程

操作:

[Menu] File/New/Web Project

工程名:

login

 

2. Struts 部分

2.1. 添加 Struts 功能支持

操作:

[Menu] MyEclipse/Project Capabilities/Add Struts Capabilities

 

2.2. 创建 ActionForm 类

操作:

[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Form

类名:

LoginForm

 

在 “Form Properties” 选项卡为 loginForm 新增两个属性:

username、password;

在 “JSP” 选项卡钩选 “Create JSP form” 选项,将新建路径改为

“/login.jsp”(login.jsp 文件将被自动创建)。

2.3. 创建 Action 类

操作:

[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Action

类名:

LoginAction

 

在 “Form” 选项卡的 “Name” 项选择 “loginForm”,”Input Source”

项输入 “/login.jsp”。

2.4. 创建 index.jsp 文件

如果没有,创建 index.jsp 文件,并添加一个指向 login.jsp 的链接:

href=”login.jsp”>Login。

2.5. 创建 Forword 类

操作:

[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Forword

类名:

indexForword

 

“Name” 项输入 “indexForword” ,”Path” 项输入 “/index.jsp” 。

2.6. 修改 LoginAction.java 文件

修改 LoginAction 类的 execute 方法:

public class LoginAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

LoginForm loginForm = (LoginForm) form;

String username=loginForm.getUsername();

String password=loginForm.getPassword();

if(username.equals(”test”)||password.equals(”test”)){

return mapping.findForward(”indexForword”);

}else{

return mapping.getInputForward();

}

}

}

2.7. 修改 login.jsp 文件

修改 

form> 标签:

form action=”/login”>。

2.8. 测试

操作:

[Menu] Run/Run,选择 MyEclipse Server Application 方式运行

(要正常执行 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/Project Capabilities/Add Spring Capabilities

 

Spring 版本( Spring version )选择 “Spring 1″;

开发包(libraries)选择 “Spring 1.2 AOP Libraries、Spring 1.2 Core

Libraries、Spring 1.2 Persistence Core Libraries、Spring 1.2

Persistence JDBC Libraries” 四项;

JAR Library Installation 选择 “copy checked…” ,”Library Folder”

项选择 “/WebRoot/WEB-INF/lib”(这样的话所需的类库都将拷贝到项目目录,

方便以后的布署)。

点击 “下一步(Next)” 创建配置文件,修改文件路径(Folder)到

“WebRoot/WEB-INF” 目录(以便和 Struts 配置文件一起管理),文件名称为

默认的”applicationContext.xml”。

 

点击 “完成(Finish)” 。

3.2. 配置 struts-config.xml 文件

添加 Spring 插件(在  标签后面添加):

className=”org.springframework.web.struts.ContextLoaderPlugIn”>

INF/applicationContext.xml” />

修改 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

xml version=”1.0″ encoding=”UTF-8″?

>

DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN”

“http:

//www.springframework.org/dtd/spring-beans.dtd”>

singleton=”false”>

绿色字体是关于接受和处理 Action 控制权的配置内容,”

com.login.struts.action.LoginAction” 即为原 struts 里的配置。

之后,检查 lib 之下是否有 spring.jar ,没有请从 MyEclipse 的安装目录下找

到并复制过来。

若还有问题可选:

还有就是一定要在 struts 配置文件中加:

 

processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/& gt;。

这样你的

action 才能真的委托给 spring。

3.4. 测试

同上一次测试。

测试成功证明 Spring 运行正常。

 

4. Hibernate 部分

 

下面开始 Hibernate 部分,将原例修改为使用数据库进行用户名/密码验证。

4.1. 创建 mysql 数据库和表

添加表的代码如下:

CREATE TABLE user_table(

ID int NOT NULL auto_increment,

USERNAME varchar(45) NOT NULL default ”,

PASSWORD varchar(45) NOT NULL default ”,

PRIMARY KEY (ID)

再添加一条记录:

insert into user_table (USERNAME,PASSWORD) values (’test’,'test’)

4.2. 创建 MyEclipse 数据库驱动(DB Driver)

操作:

[Menu] MyEclipse/Prefrences/MyEclipse/Database

Explorer/Database Driver/DB Brower

 

在 DB Brower 的菜单中选择 “New” ,”Driver Name” 项输入 “login-

conn” ,”Connection URL” 项输入

“jdbc:

mysql:

//localhost:

3306/test” ,然后输入正确的用户名(User

Name)和密码(Password)按实际情况输入;

在 “Driver JARs” 项添加 “mysql-connector-java-5.0.4-bin.jar” (可

从网上下载),在 “Driver classname” 里选择 “com.mysql.jdbc.Driver”

,其它自选。

点击 “完成(Finish)”。

4.3. 添加 Hibernate 功能支持

操作:

[Menu] MyEclipse/Project Capabilities/Add Hibernate

Capabilities

 

Hibernate 版本(Hibernate Specification)选择 “Hibernate 3.1″ ,开

发包(libraries)选择 Hibernate 3.1 Core Libraries 一项;

JAR Library Installation 选择 “copy checked…” ,”Library Folder”

选择 “/WebRoot/WEB-INF/lib” 。

点击 “下一步(Next)” 设置配置文件,选择 “Spring configuration file

(applicationContext.xml)” 。

 

“下一步(Next)” 设置 Spring-Hibernate,选择 “Existing Spring

configuration file” ,”SessionFactory ID” 项输入

“sessionFactory” 。

 

“下一步(Next)” 创建数据源对象,在 Bean Id 中输入 dataSource,”

DataSource” 项选择 “Use JDBC Dirver” ,DB Driver 项选择 “login-

conn” ,其余项会自动填充;

 

记得选中 “Copy DB driver jar(s) to project and add to buidpath” 项,

以便将数据连接的库文件复制到项目,方便以后的布署。

“下一步(Next)” 创建 SessionFactory 类,”Java package” 项设置为

“com.login.Hibernate” (没有则点击”New”按钮添加),”Class name”

项修改为”SessionFactory” ,Java Compliance Level 选择和创建项目时选

择的 Java 版本。

(本例中并没有用到 SessionFactory 类,留作今后扩展)

 

点击 “完成(Finish)”。

4.4. 创建对象关系映射(ORM)的相关文件

操作:

[Menu] Window/Open Perspective/MyEclipse Database Explorer

 

选中 user_table 表,点击右键,在出现的菜单中选择 “Hibernate Reverse

Engnieering” 。

 

在弹出的窗口中保持 “Java package” 项为 “com.login” ;

选中 “Hibernate mapping file (*.hbm.xml) for each databases table”

,并保持 “Update hibernate…” 项选中;

选中 “Java Data Object” 项,并保持 “Create abstract class” 选中;

“Base persistent class” 项留空;

取消 “Java Data Access Object…” 项和 “Use custom templates” 项。

点击 “下一步(Next)” ,再点击 “下一步(Next)” ,在 “Configure

reverse engineering details” 页选中 “user_table” 表,在右边出现的

“Class Name” 项中输入 “com.login.User”,其它不变。

点击 “完成(Finish)”。

完成此操作,会在 “com.login” 包下创建三个文件:

AbstractUser.java、User.java、User.hbm.xml。

4.5. 创建 UserDAO.java 接口和 UserDAOImpl.java 类

UserDAO 和 UserDAOImpl 通过 Hibernate 访问数据库。

UseDAO.java 内容如下:

package com.login;

public interface UserDAO {

public abstract boolean isValidUser(String username, String

password);

}

UserDAOImpl.java 内容如下:

package com.login;

import java.util.List;

import

org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class UserDAOImpl extends HibernateDaoSupport implements

UserDAO {

private static String hql = “from User u where u.username=?

 “;

public boolean isValidUser(String username, String password) {

// 验证用户

List userList = this.getHibernateTemplate().find(hql, username);

if (userList.size() > 0) {

return true;

}

return false;

}

}

4.6. 修改 LoginAction.java 文件

使用 UseDAO 对象来验证:

package com.login.struts.action;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import com.login.struts.form.LoginForm;

import com.login.UserDAO;

public class LoginAction extends Action {

private UserDAO userDAO;

public UserDAO getUserDAO() {

return userDAO;

}

public void setUserDAO(UserDAO userDAO) {

this.userDAO = userDAO;

}

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

LoginForm loginForm = (LoginForm) form;

String username=loginForm.getUsername();

String password=loginForm.getPassword();

if( userDAO.isValidUser( username, password ) ){

return mapping.findForward( “indexForword” );

}else{

return mapping.getInputForward();

}

}

}

绿色字体为修改部分。

4.7. Spring 的最终配制文件 applicationContext.xml

xml version=”1.0″ encoding=”UTF-8″?

>

DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN”

“http:

//www.springframework.org/dtd/spring-beans.dtd”>

class=”mons.dbcp.BasicDataSource”>

value=”com.mysql.jdbc.Driver”>

value=”jdbc:

mysql:

//localhost:

3306/test”>

– 配置 sessionFactory, 注意这里引入的包的不同 –>

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

com/login/User.hbm.xml

key=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect

true

class=”org.springframework.orm.hibernate3.HibernateTransactionManage

r”>

class=”org.springframework.transaction.interceptor.TransactionProxyF

actoryBean”>

PROPAGATION_REQUIRED

PROPAGATION_REQUIRED,readOnly

PROPAGATION_REQUIRED,readOnly

singleton=”false”>

4.8. 测试

同第一次测试。

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

当前位置:首页 > 高等教育 > 医学

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

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