ssh三大框架的整合

今天复习了一下ssh三大框架的整合,记个笔记,忘记的时候可以随时来翻翻,只为自己看,如果能给你带来一些帮助,那就是我最大的快乐
了,我写的是最基本的东西,有不足的地方,请多多指教。我们这里用的是struts2.2.3+sprint3.1+hibernate3.6.3的版本。

1、导入jar包。包括数据库的连接包,一共需要38个jar包。

2、构建基本的类包结构,其结构如图所示。

ssh三大框架的整合_第1张图片

因为我们这里侧重于三个框架的整合,所以只用了“增删改查”中的“增”加一个用户来进行测试,其他的的方法大家有需要的可以自己去测试一下。

3、首先我们来写实体层的代码(即vo层)的User类。

@Entity
@Table(name="Users")
public class User {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private Integer id;
	@Column
	private String name;
	@Column
	private String pass;
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
	public User(Integer id, String name, String pass) {
		super();
		this.id = id;
		this.name = name;
		this.pass = pass;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
}
4、配置数据层,代码如下:

@Repository("userDao")//指定此类为数据层类,并指定向业务层注入的对象的名字为“userDao”
public class UserDaoImpl implements UserDao {

	@Resource //向数据层注入HibernateTemplate对象,用来操作数据
	private HibernateTemplate template;
	
	@Override
	public void save(User user) {
		template.save(user);//用HibernateTemplate来添加数据

	}
}
5、配置业务层,代码如下:

@Service("userService") //此注解指定本类为业务层的类,并且向action中注入的对象名称为“userService”
@Scope(value="prototype")//spring默认为单例模式,prototype指定为非单例模式
@Transactional //用注解指定事物
public class UserServiceImpl implements UserService {

	@Resource//从数据层注入userDao对象(和数据层注入的对象名字保持一致,如果没有相同名字的对象,则会选择按照类型注入)
	private UserDao userDao;
	
	@Override
	public void save(User user) {
		// TODO Auto-generated method stub
		userDao.save(user);//添加用户
	       //throw new RuntimeException();//如果这里抛出异常,那么用户添加不成功;注意:这里只有在测试事物的时候才有用,否则就处于注释状态
	}
}

6、配置控制层,其代码如下:

@Controller//指定本类为控制层的类
public class UserAction extends ActionSupport {
	
	@Resource//注入业务层的对象
	private UserService userService;
	
	private User user;
	
	public String execute(){
		userService.save(user);//添加用户
		return SUCCESS;//如果添加成功,返回SUCCESS常量
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
}

7、在src包下建立beans.xml,其基本配置如下:


	
		
		
		
		
		
		
		
		
	
	 
	
	
	
		
		
		
		
			
				com.ssh.vo.User
			
		
		
		
			
				true
				true
				thread
				org.hibernate.dialect.Oracle10gDialect
				create
			
		
	
	
	  
	
		
	
	   
	
	
		
	
	
	
	
	
	
	

8、配置struts.xml,在src包下面进行配置:


		 
			/success.jsp
		
	
指定action的名字为“useraction”,如果成功返回“success",则跳转到success.jsp页面。

9、在web.xml中配置struts过滤器和上下文监听器


        org.springframework.web.context.ContextLoaderListener
    
    
    	contextConfigLocation
    	classpath:beans.xml
    


  
  	struts2
  	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  
  
  	struts2
  	/*
  

10、写页面index.jsp,进行添加用户测试。

 
    
用户名:
密码:
 
第一次的时候,要把数据库连接的连接属性create,hibernate会自动给我们创建数据表;再次添加的时候,要把”create“改为”update“,否则会把第一次添加的数据覆盖。在进行事物测试的时候,手动抛出RuntimeException异常,数据添加就不会成功。

至此,SSH框架整合基本就完成了。




你可能感兴趣的:(JavaEE)