javaweb简单注册
先创建一个UserDao
public class UserDao{
private QueryRunner qr=new QueryRunner();
//按用户名查询
public User findByUsername(String username){
try{
String sql="select * from tb_user where username=?";
return qr.query(sql,new BeanHandler<User>(User.class,username);
}catch(SQLException e){
throw new RuntimeException(e);
}
}
//按邮箱查询
public User findByEmail(String email){
try{
String sql="select * from tb_user where email=?";
return qr.query(sql,new BeanHandler<User>(User.class,email);
}catch(SQLException e){
throw new RuntimeException(e);
}
}
//添加用户
public void add(User user){
try{
String sql="insert into tb_user values(?,?,?,?)";
Object[] params={user.getId(),
user.getUsername(),
user.getPassword(),
user.getEmail()};
qr.update(sql,params);
}catch(SQLException e){
throw new RuntimeException(e);
}
}
}
然后我们创建UserService
public class UserService{
private UserDao userDao=new UserDao();
public void register throws UserException(User form){
//校验用户名
User user =userDao.findByUsername(form.getUsername());
if(user!=null) throw new UserException("用户名已存在");
//校验Email
User user =userDao.findByEmail(form.getEmail());
if(user!=null) throw new UserException("Email已存在");
//插入用户到数据库
userDao.add(form);
}
}
然后我们创建一个UserException
public class UserException extends Exception{
public UserException(){
super();
}
public UserException(String message){
super(message);
}
}
然后我们创建一个Servlet
public class UserSerlet extends BaseServlet{
private UserService userService=new UserService();
public String register(HttpServletRequest request,
HttpServletResponse response)
throws SerletException, IOException{
//封装表单数据到form对象中
User form =CommonUtils.toBean(request.getParameterMap(),User.class);
//输入校验
Map<String,String> errors=new HashMap<String,String>();
//调用service方法完成注册
String username=form.getUsername();
if(username==null || user.trim().isEmpty()){
errors.put("username","用户名不能为空");
}else if(username.length()<3 || username.length()>10){
errors.put("username","用户名长度必须在3-10之间");
}
//保存成功信息转发到msg.jsp
if(errors.size()>0){
//保存错误信息
//保存表单数据
//转发到register.jsp
request.setAttribute("errors",errors);
request.setAttribute("form",form);
return "f:/user/register.jsp";
}
//调用service的register()方法
try{
userService.register(form);
}catch(UserException e){
request.setAttribute("msg",e.getMessage());
request.setAttribute("form",form);
return "f:/user/register.jsp";
}
//userService执行成功,没有异常
//保存成功信息
//转发到msg.jsp
request.setAttribute("msg","注册成功");
return "f:/user/msg.jsp";
}
}