(二)Struts2与Spring的整合

原创 2016年08月30日 12:54:25

1.页面的创建

我们直接在WEB-INF下面创建addProduct.jsp页面,部分代码如下:

这里写图片描述

2.编写Action、Service和DAO层的相应类

Action下新建类如下:

package com.vayne.ssh.action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.vayne.ssh.domain.Product;
import com.vayne.ssh.service.ProductService;

/**
 * 商品管理action
 * @author vayne
 *
 */

public class ProductAction extends ActionSupport implements ModelDriven<Product>{

    //模型驱动使用的类
    private Product product = new Product();
    @Override
    public Product getModel() {
        // TODO Auto-generated method stub
        return product;
    }

    //struts和spring整合过程中按名称自动注入的业务层类
    private ProductService productService;

    public void setProductService(ProductService productService) {
        this.productService = productService;
    }


}

service下的类:

package com.vayne.ssh.service;

import com.vayne.ssh.dao.ProductDAO;

/**
 * 商品管理的Service类
 * @author vayne
 *
 */

public class ProductService {
    //业务层注入DAO类
    private ProductDAO productDao;


    public void setProductDao(ProductDAO productDao) {
        this.productDao = productDao;
    }



}

DAO下的类:

package com.vayne.ssh.dao;
/**
 * 
 * 商品管理的DAO类
 * 
 */
public class ProductDAO {

}

3.配置Action 、Service和DAO的类

配置Action实际上是决定action由谁创建。

这里有两种方式,一种是Action由struts自身负责创建,第二种是由spring负责创建,但是配置第一种方式的时候,我的项目无法正常运行,因此我这里仅仅介绍第二种方式,如果以后第一种方式出错原因我找到了再回来补充。

(1)spring负责创建struts的action

首先在spring中配置bean:

这里写图片描述

我们这里要注意scope属性:

由struts2创建的action是多例的,有spring创建的action是单例的,因此指定scope=”prototype”,使其变成多例。

然后在struts.xml文件中引用:

这里写图片描述

为了检测是否已经打通,我们分别在action、service和dao层编写一个save方法来验证,各自代码如下:

ProductAction.java:

package com.vayne.ssh.action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.vayne.ssh.domain.Product;
import com.vayne.ssh.service.ProductService;

/**
 * 商品管理action
 * @author vayne
 *
 */

public class ProductAction extends ActionSupport implements ModelDriven<Product>{

    //模型驱动使用的类
    private Product product = new Product();
    @Override
    public Product getModel() {
        // TODO Auto-generated method stub
        return product;
    }

    //struts和spring整合过程中按名称自动注入的业务层类
    private ProductService productService;

    public void setProductService(ProductService productService) {
        this.productService = productService;
    }


    /**
     * 商品保存执行方法
     */

    public String save(){
        System.out.println("Action中的save执行了...");

        productService.save(product);

        return NONE;
    }




}

ProductService.java

package com.vayne.ssh.service;

import com.vayne.ssh.dao.ProductDao;
import com.vayne.ssh.domain.Product;

/**
 * 商品管理的Service类
 * @author vayne
 *
 */

public class ProductService {
    //业务层注入DAO类
    private ProductDao productDao;


    public void setProductDao(ProductDao productDao) {
        this.productDao = productDao;
    }


    public void save(Product product) {
        // TODO Auto-generated method stub
        System.out.println("Service中的save执行了...");
        productDao.save(product);

    }



}

ProductDao.java:

package com.vayne.ssh.dao;

import com.vayne.ssh.domain.Product;

/**
 * 
 * 商品管理的DAO类
 * 
 */
public class ProductDao {

    public void save(Product product) {
        // TODO Auto-generated method stub

        System.out.println("dao中的save执行了...");
    }

}

注意:要在jsp文件中添加action,否则不会发生跳转。

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

struts2_hibernate_spring整合(二)

  • 2008年10月31日 10:38
  • 4.09MB
  • 下载

Struts2、Spring3、MyBatis3整合ExtJS,完成ColumnTree 【二】

三、加入Struts2框架 1、 准备工作 添加jar文件如下: org.springframework.web-3.0.5.RELEASE.jar org.springframework...

Spring整合Struts2和Hibernate+Maven(二)之SSH的配置文件

上次讲到的是maven项目的创建以及pom.xml的配置。 这里推荐一个网站:maven整合jar包,这里可以查询并生成配置文件中jar包导入格式的文本,复制粘贴到pom.xml中即可由idea自动...

struts2+hibernate3.2+spring2.0整合篇(二)

通过一个添加用户的实例,讲解struts2+hibernate3.2+spring2.0的整合过程。

Struts2+Spring 整合成功测试案例----利用jquery+Json实现简单的Ajax的效果(二)

经过几番搜索+测试,利用jquery+Json写了个实现Ajax效果实例,批量显示数据。此数据接上节内容。   一、准备工作jar包    1.commons-beanutils-1.8.0.ja...
  • TnQin
  • TnQin
  • 2012年07月03日 19:18
  • 1512

【SSH学习笔记】整合spring3-struts2的小项目(二)

接下来开始实现功能   操作步骤: 1、创建用户表并添加测试数据 create table users( userid number(8) primary key, username nv...

架构学习(二):经典J2EE架构之 SSE(spring3 struts2 ejb3的整合)

因为代码比较多,这里只是列出了针对SSH整合而言新的东西,这里附源码下载,如果对SSH整合不清楚,可以看SSH2框架搭建。 刚开始使用EJB做项目,如果有问题欢迎和我交流,共同进步。   这是比较流行...

使用Maven实现Struts2+Hibernate4+Spring3整合SSH框架(二):导入Spring的jar包并添加测试实现

在maven项目中添加Spring4的支持,并测试搭建。

Struts2+Spring+Hibernate step by step 04 整合Spring之二,从数据库验证用户名和密码

SSH整合开发,Spring AOP事务控制
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(二)Struts2与Spring的整合
举报原因:
原因补充:

(最多只允许输入30个字)