(二)Struts2与Spring的整合
来源:互联网 发布:河南网络教育 编辑:程序博客网 时间:2024/05/17 23:03
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,否则不会发生跳转。
0 0
- (二)Struts2与Spring的整合
- spring+struts2整合(二)
- Struts2与Spring的整合(补充!!)
- Struts2与Spring的整合
- Struts2与Spring的整合
- struts2 与spring 的整合
- SPRING与STRUTS2的整合
- spring 与struts2 的整合
- Struts2与Spring的整合
- struts2与spring的整合
- spring与struts2的整合
- struts2与spring的整合
- struts2与struts2-spring-plugin的整合
- Struts2 与 Spring 整合
- Struts2与Spring整合
- Struts2与Spring整合
- spring与struts2整合
- spring与struts2整合
- pxhawk软件分析之伺服控制
- 编译的原理
- Mac上安装cocoapods教程
- linux常用文本查看、操作命令
- Linux压缩与解压缩和打包命令详解
- (二)Struts2与Spring的整合
- C#的第4课的内容
- #基于SVM的人脸识别
- wlan之802.11n原理解析
- Spring任务调度Scheduling Tasks
- java对redis的基本操作
- partition-list-leetcode-C++
- 【Lucene02】索引的相关概念
- 答答租车系统(imooc综合练习)