spring_SSH整合之_架构的历史(架构整合JSP+Hibernate+Spring+Struts2+DTO)_8

48 篇文章 0 订阅
47 篇文章 0 订阅
=======================================================
DTO= Data Transfer Object
数据传输对象
VO = Value Object
值对象

=======================================================
界面原型
实体类


package com.bjsxt.registration.vo;

public class UserRegisterInfo {
	private String username;
	private String password;
	private String password2;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPassword2() {
		return password2;
	}

	public void setPassword2(String password2) {
		this.password2 = password2;
	}

}

package com.bjsxt.registration.action;

import com.bjsxt.registration.model.User;
import com.bjsxt.registration.service.UserManager;
import com.bjsxt.registration.vo.UserRegisterInfo;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

@SuppressWarnings("serial")
// 如果要使用模型驱动,得实现ModelDriven里面的getModel(DTO)
// >>>它是Struts2种独有的一种接收用户输入的机制,想在项目中使用模型驱动
// >>>(ModelDriven)需要让Action实现com.opensymphony.xwork2.ModelDriven 接口,使用它
// >>>的getModel()方法来通知Struts2要注入的属性类型,并且声明属性时一定要实例化,但不需get,
// >>>set方法。
public class UserAction extends ActionSupport implements
		ModelDriven<UserRegisterInfo> {
	private UserRegisterInfo info;
	private UserManager userManager;

	public UserManager getUserManager() {
		return userManager;
	}

	public void setUserManager(UserManager userManager) {
		this.userManager = userManager;
	}

	public UserRegisterInfo getInfo() {
		return info;
	}

	public void setInfo(UserRegisterInfo info) {
		this.info = info;
	}

	@Override
	public String execute() throws Exception {
		User user = new User();
		user.setUsername(info.getUsername());
		user.setPassword(info.getPassword());
		if (userManager.exists(user)) {
			return "FAIL";
		}
		userManager.add(user);
		return "SUCCESS";
	}

	public UserRegisterInfo getModel() {
		return info;
	}
}

package com.bjsxt.registration.model;

//贫血模型 充血模型
public class User {
	private Integer id;
	private String username;
	private String password;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getpassword() {
		return password;
	}

	public void setpassword(String password) {
		this.password = password;
	}

}

   
   



   
   


   
   
	
    
    
		
     
     
			
      
      
		
     
     
		
     
     
		
     
     
	
    
    


   
   
package com.bjsxt.registration.dao;

import com.bjsxt.registration.model.User;

public interface UserDao {
	/** 保存数据 */
	public void save(User user);

	/** 查询某个数据是否存在 */
	public boolean checkUserExistsWithName(String username);
}
package com.bjsxt.registration.dao.impl;

import java.util.List;

import org.springframework.orm.hibernate3.HibernateTemplate;

import com.bjsxt.registration.dao.UserDao;
import com.bjsxt.registration.model.User;

public class UserDaoImpl implements UserDao {
	private HibernateTemplate hibernateTemplate;

	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	public void save(User user) {
		hibernateTemplate.save(user);
	}

	public boolean checkUserExistsWithName(String username) {
		List users = hibernateTemplate
				.find("from User u where u.username='" + username + "'");
		if (users != null && users.size() > 0) {
			return true;
		}
		return false;
	}
}
package com.bjsxt.registration.service;

import com.bjsxt.registration.model.User;

public interface UserManager {
	/** 判断是否存在 */
	public boolean exists(User user);

	/** 增加数据 */
	public void add(User user);
}
package com.bjsxt.registration.service.impl;

import com.bjsxt.registration.dao.UserDao;
import com.bjsxt.registration.model.User;
import com.bjsxt.registration.service.UserManager;

public class UserManagerImpl implements UserManager {
	private UserDao userDao;

	public UserDao getUserDao() {
		return userDao;
	}

	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

	public boolean exists(User user) {
		return userDao.checkUserExistsWithName(user.getUsername());
	}

	public void add(User user) {
		userDao.save(user);
	}
}
package com.bjsxt.registration.action;

import com.bjsxt.registration.model.User;
import com.bjsxt.registration.service.UserManager;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class UserAction extends ActionSupport {
	private String username;
	private String password;
	private String password2;
	private UserManager userManager;

	public String getPassword2() {
		return password2;
	}

	public void setPassword2(String password2) {
		this.password2 = password2;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public UserManager getUserManager() {
		return userManager;
	}

	public void setUserManager(UserManager userManager) {
		this.userManager = userManager;
	}

	@Override
	public String execute() throws Exception {
		User user = new User();
		user.setUsername(username);
		user.setpassword(password);
		if (userManager.exists(user)) {
			return "FAIL";
		}
		userManager.add(user);
		return "SUCCESS";
	}
}
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/spring
jdbc.username=root
jdbc.password=root
    
    

    
    

	
     
     
	
     
     
		
      
      
	
     
     

	
     
     
	
     
     
		
      
      
	
     
     
	
     
     
	
     
     
		
      
      
	
     
     

	
     
     
	
     
     
		
      
      
			
       
       
         classpath:jdbc.properties 
       
		
      
      
	
     
     
	
     
     
		
      
      
		
      
      
		
      
      
		
      
      
	
     
     

	
     
     
	
     
     
		
      
      
		
      
      
			
       
        
        
          classpath:com/bjsxt/registration/model/ 
         
       
		
      
      
		
      
      
			
       
        
         
        
          true 
         
         
        
          update 
         
       
		
      
      
	
     
     

	
     
     
	
     
     
		
      
      
	
     
     

	
     
     
	
     
     
		
      
      
	
     
     
	
     
     
	
     
     
		
      
      
			
       
       
			
       
       
		
      
      
	
     
     

	
     
     
	
     
     
		
      
      
		
      
      
	
     
     

    
    
    
    



    
    
	
     
     
	
     
     
	
     
     
	
     
     

	
     
     
		
      
      
			
       
       
         /registSuccess.jsp 
       
			
       
       
         /registFail.jsp 
       
		
      
      
	
     
     


    
    

    
    

    
    

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

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

	
     
     
		
      
      
       
       struts2
      
      
		
      
      
       
       /*
      
      
	
     
     

	
     
     
	
     
     
		
      
      
       
       regist.jsp
      
      
	
     
     

    
    
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>





用户注册


    
    

    
    

    
    




	

用户注册


用户名:
密码:
确认密码:
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> 失败

Fail!

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> 成功

Success!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值