servlet业务逻辑
1表单提交账号密码到servlet
2servlet收到账号密码后,先判断账号是否存在(validate方法),存在执行下去,不存在就返回到注册页。
3存在就把账号和密码赋值给(register方法),注册成功就跳转到信息页面,不存在就返回注册页面。
View视图层
建立一个账号注册的表单,里面有账号,密码,等其他信息,并且发送到指定的servlet
biz业务逻辑
public interface UserBiz {
public User login(String name, String password);
public boolean register(User user);
public boolean validate(String name);
public User getUserById(Integer id);
}
/*
*validate模块(验证):得到传入的账号参数,赋值给findByProperty()方法
*如果得到的参数不为null则说明数据库里面有此账号
*返回false。否则说明没有此账号可以注册返回null
*@ param 账号 account
*return boolean 是否有此账号
*/
public boolean validate(String name) {
List<User> list=userdao.findByProperty("Name",name);
if(null!=list&&list.size()>0){
return false;
}
return true;
}
/**
*register模块(注册):把传入的User对象用数据访问层的add方法添加到数据库中,成功返回大于0的整数,否则返回0或-1
*@param 用户账号对象信息 User
*return int 成功返回大于0的整数
*/
public boolean register(User user) {
int i=0;
i=userdao.add(user);
if(i>0){
return true;
}
else{
return false;
}
}
数据访问层逻辑
findByProperty逻辑(通过属性查找记录集合)
/**
*findByProperty模块:通过得到账号的属性和值,拼接为sql语句,返回查到的集合
*@param 字段名 propertieName
*@param 属性值 value
* return List
*/
public List<User> findByProperty(String propertyName, String value) {
String sql=String.format("select * from users where %s='%s'", propertyName,value);
System.out.println(sql);
return find(sql);
}
add模块
/**
*add模块:得到账号对象,用get方法读取对象信息拼接sql语句,返回执行后的结果(int类型),成功返回大于0的值
*@param 账号信息 User
*return int 返回执行后的结果(int类型),成功返回大于0的值
*/
public int add(User user) {
String sql=String.format("insert into users values('%s','%s','%s','%s','%s','%s')",
user.getId(),user.getName(),user.getPassword(),user.getTelephone(),user.getUsername(),user.getIsadmin());
System.out.println(sql);
User u=null;
int i =executeUpadate(sql);
return i;
}