Struts2,Spring,Hibernate整合例子一个

Struts2,Spring,Hibernate整合例子一个

1.建立web项目

2.在web.xml 配置struts2,和spring ,

struts2

org.apache.struts2.dispatcher.FilterDispatcher(struts的过滤器)

(加载struts2)

struts2

/*

org.springframework.web.context.ContextLoaderListener(spring监听器)

(程序从此处开始加载.xml 文件,并执行)

contextConfigLocation

classpath*:*.xml

3.在src根目录下创建struts.xml文件

固定格式,用到此包

4.在src根目录创建hibernate.cfg.xml文件

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"https://www.360docs.net/doc/b13123460.html,/hibernate-configuration-3.0.dtd">

org.hibernate.dialect.Oracle9Dialect

false

true

true

2

8

20

系统给的文件只需要拷贝,都是一些数据库库的基本配置

5.在src根目录拷贝struts.properties文件

struts.objectFactory = spring 该项是告诉系统用spring来控制hibernate和Action

struts.action.extension=action 告诉系统访问时以什么结尾。可以改为: do 例如:login.do ,此处为:login.action

6.在src根目录下创建applicationContext.xml

配置数据源

创建sessionFactory 工厂

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

type="org.springframework.core.io.Resource">classpath:hibernate.cfg.xml

考来用

7.创建实体类

就是写一个bean 含有get/set 方法

8.在实体类所在的目录下,写一个类名.hbm.xml文件,在配置文件中添加属性

主键的类型为Long

SEQ_LB_USER指定主键生成方式,必须在pl/sql 创建主键生成方式

所有属性的name 必须与bean中的set后的名称一样

9.创建一个Dao 实现操作方法

10 创建service 调用Dao中的方法

11.创建Action 将service的得到的user 加到Action中

12.在applicationContext.xml 中配置

将userDao注入到sessionFactory中

将userService 注入到UserDao中

将userAction 注入到userService中

13.在struts.xml中配置Action

/userShow.jsp

此处配置了访问时的路径:/user/userAdd

14.将8中的配置文件加入到4 中

引用配置文件

15.写jsp页面表单提交到Action

9.10.11:是Action 调用Service ,Service调用Dao 也是分层的体现

Web.xml 是web工程的配置文件

ApplicationContext 是spring的配置文件

Hibernate.hbm.xml 是hibernate的配置文件

建表是注意创建主键时name 为表明

项目目录:

User.java

package com.zx.test.model;

public class User {

private Long id;

private String name;

private Integer age;

private String password;

// get/set方法

}

User.hbm.xml

SEQ_LB_USER

UserDao.java

package com.zx.test.dao;

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

import https://www.360docs.net/doc/b13123460.html,er;

public class UserDao extends HibernateDaoSupport {

/**

* 保存user

* @param user

*/

public void saveUser(User user){

// spring自带方法保存

this.getHibernateTemplate().save(user);

}

//update, delete ,findAll 方法同上,省略!

}

UserService.java

package com.zx.test.service;

import https://www.360docs.net/doc/b13123460.html,erDao;

import https://www.360docs.net/doc/b13123460.html,er;

public class UserService {

private UserDao userDao;

public void setUserDao(UserDao userDao) { https://www.360docs.net/doc/b13123460.html,erDao = userDao;

}

public void saveUser(User user){

userDao.saveUser(user);

}

// 在此处添加业务逻辑方法;

}

UserAction.java

package com.zx.test.action;

import com.opensymphony.xwork2.ActionSupport; import https://www.360docs.net/doc/b13123460.html,er;

import https://www.360docs.net/doc/b13123460.html,erService;

public class UserAction extends ActionSupport { private User user;

public User getUser() {

return user;

}

public void setUser(User user) {

https://www.360docs.net/doc/b13123460.html,er = user;

}

private UserService userService ;

public void setUserService(UserService userService) {

https://www.360docs.net/doc/b13123460.html,erService = userService;

}

public String userAdd(){

https://www.360docs.net/doc/b13123460.html,erService.saveUser(user);

return SUCCESS;

}

//添加action方法

}

struts.xml:

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"https://www.360docs.net/doc/b13123460.html,/dtds/struts-2.0.dtd">

/userShow.jsp

hibernate.cfg.xml

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"https://www.360docs.net/doc/b13123460.html,/hibernate-configuration-3.0.dtd">

org.hibernate.dialect.Oracle9Dialect

false

true

true 2

8

20

applicationContext.xml

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

type="org.springframework.core.io.Resource">classpath:hibernate.cfg.xml

web.xml:

struts2

org.apache.struts2.dispatcher.FilterDispatcher

config

/WEB-INF/struts.xml

struts2

/*

org.springframework.web.context.ContextLoaderListener

contextConfigLocation

classpath*:*.xml

index.jsp:

userName:

password:

age:

 

userShow.jsp

在第一行添加struts2 的标签

即:<%@ taglib prefix="s" uri="/struts-tags" %>

userName:

password:

age:

struts.properties 文件可要可无!(可以自己配置)

相关文档
最新文档