《Web常用工具类总结.doc》由会员分享,可在线阅读,更多相关《Web常用工具类总结.doc(15页珍藏版)》请在金锄头文库上搜索。
1、表单后台验证; package cn.kgli.utils;import java.util.Enumeration;import java.util.UUID;import javax.servlet.http.HttpServletRequest;import mons.beanutils.BeanUtils;public class WebUtils /把request对象中的请求参数封装到bean中public static T request2Bean(HttpServletRequest request,Class clazz)tryT bean = clazz.newInstan
2、ce();/username=aa password=bb email=Enumeration 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 Run
3、timeException(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 mons.beanutils.locale.converters.DateLocaleConverter;public class RegisterFormBean private String username;private Stri
4、ng 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.u
5、sername = 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 setEm
6、ail(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; 可以
7、为空,不为空要是一个合法的邮箱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
8、(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(
9、password2, 两次密码不一致!);/private String email; 可以为空,不为空要是一个合法的邮箱/ flx_if(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.co
10、nvert(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.Htt
11、pServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import mons.beanutils.BeanUtils;import mons.beanutils.ConvertUtils;import mons.beanutils.locale.converters.DateLocaleConverter;import cn.itcast.domain.User;import cn.itcast.exception.UserExistExceptio
12、n;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)thro
13、ws 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