BeanUtils的string转date****
ConvertUtils.register方法 可以将转换器注册到BanUtils
就可以将string自动转成java.util.Date
ConvertUtils.register(new Converter() {
public Object convert(Class type, Object value) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return simpleDateFormat.parse(value.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}, Date.class);
register.jsp
$("#registerForm").submit(function () {
//ajax提交
if(checkUsername()&&checkPassword()&&checkEmail()){
//使用jquery
$.post("registerServlet",$("#registerForm"). serialize(),
function(data){
//{code:1,data:成功}
if(1 == data.code){
//注册成功
window.location = "login.jsp";
}else{
//注册失败
$("#errorMsg").html(data.data);
}
},"json");
}
return false;
})
验证码处理
package com.lp.web.servlet;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.lp.domain.ResponseInfo;
import com.lp.domain.User;
import com.lp.service.UserService;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
@WebServlet("/registerServlet")
public class RegisterServlet extends HttpServlet {
static {
//静态代码块在加载的时候自动执行一次
//将string转date的转换器注册给beanUtils
ConvertUtils.register(new Converter() {
public Object convert(Class type, Object value) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
return simpleDateFormat.parse(value.toString());
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}, Date.class);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//从请求中获取check1码
String check1 = request.getParameter("check");
//从session中获取check2码
String check2= (String) request.getSession().getAttribute("CHECKCODE_SERVER");
//从session中删除check2码
System.out.println(check1);
System.out.println(check2);
request.getSession().removeAttribute("CHECKCODE_SERVER");
//比较check1 和check2码
//相同表示验证码不正确,将提示信息写到页面的错误提示
if(check1==null||!check1.equalsIgnoreCase(check2)){
//验证码不看大小写
ResponseInfo responseInfo = new ResponseInfo();
responseInfo.setData(-4);
responseInfo.setData("注册失败,验证码出错");
//json
String json = new ObjectMapper().writeValueAsString(responseInfo);
response.getWriter().println(json);
return;
}
//接受请求,获取参数
Map<String,String[]> map = request.getParameterMap();
User user = new User();
//将请求中的参数赋值给变量
try {
BeanUtils.populate(user,map);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
//对参数处理
UserService userService = new UserService();
int code = userService.register(user);
//响应给浏览器
ResponseInfo responseInfo = new ResponseInfo();
responseInfo.setCode(code);
if(code==1){
responseInfo.setData("注册成功");
}else{
responseInfo.setData("注册失败,用户名已注册");
}
String json = new ObjectMapper().writeValueAsString(responseInfo);
response.getWriter().println(json);
}
}