资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
表单后台验证; package cn.kgli.utils;import java.util.Enumeration;import java.util.UUID;import javax.servlet.http.HttpServletRequest;import org.apache.commons.beanutils.BeanUtils;public class WebUtils /把request对象中的请求参数封装到bean中public static T request2Bean(HttpServletRequest request,Class clazz)tryT bean = clazz.newInstance();/username=aa password=bb email=aasina.comEnumeration e = request.getParameterNames(); while(e.hasMoreElements()String name = (String) e.nextElement(); /username=aaa password=123String value = request.getParameter(name);BeanUtils.setProperty(bean, name, value);return bean;catch (Exception e) throw new RuntimeException(e);public static String makeId()/UUID 128 36位字符return UUID.randomUUID().toString();package cn.itcast.web.formbean;import java.util.HashMap;import java.util.Map;import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;public class RegisterFormBean private String username;private String password;private String password2;private String email;private String birthday;private Map errors = new HashMap();public Map getErrors() return errors;public void setErrors(Map errors) this.errors = errors;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;public String getEmail() return email;public void setEmail(String email) this.email = email;public String getBirthday() return birthday;public void setBirthday(String birthday) this.birthday = birthday;/*private String username; 用户名不能为空,并且要是3-8的字符 abcdABcdprivate String password; 密码不能为空,并且要是3-8的数字private String password2; 两次密码要一致private String email; 可以为空,不为空要是一个合法的邮箱private String birthday; 可以为空,不为空时,要是一个合法的日期 * */public boolean validate()boolean isOk = true;if(this.username=null | this.username.trim().equals() )isOk = false;errors.put(username, 用户名不能为空!);elseif(!this.username.matches(a-zA-Z3,8)isOk = false;errors.put(username, 用户名必须是3-8位的字母!);if(this.password=null | this.password.trim().equals()isOk = false;errors.put(password, 密码不能为空!);elseif(!this.password.matches(d3,8)isOk = false;errors.put(password, 密码必须是3-8位的数字!);/private String password2; 两次密码要一致if(this.password2!=null)if(!this.password2.equals(this.password)isOk = false;errors.put(password2, 两次密码不一致!);/private String email; 可以为空,不为空要是一个合法的邮箱/ flx_itcastsina.com.cnif(this.email!=null)if(!this.email.matches(w+w+(.w+)+)isOk = false;errors.put(email, 邮箱不是一个合法邮箱!);/private String birthday; 可以为空,不为空时,要是一个合法的日期if(this.birthday!=null)tryDateLocaleConverter conver = new DateLocaleConverter();conver.convert(this.birthday);catch (Exception e) isOk = false;errors.put(birthday, 生日必须要是一个日期!);return isOk;package cn.itcast.web.controller;import java.io.IOException;import java.lang.reflect.InvocationTargetException;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.beanutils.BeanUtils;import org.apache.commons.beanutils.ConvertUtils;import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;import cn.itcast.domain.User;import cn.itcast.exception.UserExistException;import cn.itcast.service.BusinessService;import cn.itcast.service.impl.BusinessServiceImpl;import cn.itcast.utils.WebUtils;import cn.itcast.web.formbean.RegisterFormBean;public class RegisterServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException RegisterFormBean formbean = WebUtils.request2Bean(request, RegisterFormBean.class);/表单校验if(formbean.validate()=false)request.setAttribute(formbean, formbean);request.getRequestDispatcher(/WEB-INF/jsp/register.jsp).forward(request,response);return;/把表单的数据填充到javabean中User user = new User();try /注册字符串到日期的转换器Conv
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号