package com.how2java.service;
import java.util.List;
import com.how2java.pojo.Product;
public interface ProductService {
public List list();
}
package com.how2java.service.impl;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.how2java.dao.ProductDAO;
import com.how2java.pojo.Product;
import com.how2java.service.ProductService;
public class ProductServiceImpl implements ProductService {
ProductDAO productDAO;
public List list() {
List products= productDAO.list();
if(products.isEmpty()){
for (int i = 0; i < 5; i++) {
Product p = new Product();
p.setName("product " + i);
productDAO.add(p);
products.add(p);
}
}
return products;
}
public ProductDAO getProductDAO() {
return productDAO;
}
public void setProductDAO(ProductDAO productDAO) {
this.productDAO = productDAO;
}
}
步骤 11 : ProductAction
ProductAction提供对ProductService的注入,借助SSH的整合,ProductAction就充当非常单纯的控制层的角色:
1. 取得数据
2. 跳转到页面 “listJsp”
package com.how2java.action;
import java.util.List;
import com.how2java.pojo.Product;
import com.how2java.service.ProductService;
public class ProductAction {
ProductService productService;
List products;
public String list() {
products = productService.list();
return "listJsp";
}
public ProductService getProductService() {
return productService;
}
public void setProductService(ProductService productService) {
this.productService = productService;
}
public List getProducts() {
return products;
}
public void setProducts(List products) {
this.products = products;
}
}
步骤 12 : struts.xml
指定objectFactory 为spring,把action的生命周期管理交给spring进行
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
list.jsp
步骤 13 : applicationContext.xml
applicationContext.xml应该放在WEB-INF目录下
提供action的管理,并且在创建action的时候,注入dao
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
com/how2java/pojo/Product.hbm.xml
true
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=true
hbm2ddl.auto=update
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
步骤 14 : 配置web.xml
web.xml 增加Context监听器
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
FORWARD
REQUEST
/*
org.springframework.web.context.ContextLoaderListener
步骤 15 : list.jsp
用于显示products的jsp
pageEncoding="UTF-8" isELIgnored="false"%>
id | name |
${p.id} | ${p.name} |
步骤 16 : 访问http://127.0.0.1/listProduct
部署在Tomcat中,重启tomcat,然后访问地址,观察效果
http://127.0.0.1:8080/ssh/listProduct
部署办法请参考 通过Eclipse启动Tomcat-Run On Server