主要是表单提交的日期是String类型,User需要的类型是Date类型
/**
* Servlet implementation class RegisterServlet
*/
@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
IUserService userService=new UserServiceImpl();
User user=new User();
try {
ConvertUtils.register(new DateLocaleConverter(), Date.class);
BeanUtils.populate(user, request.getParameterMap());
System.out.println("请求参数"+user);
userService.register(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
添加注册成功后的中文提示和跳转主页,还有注册失败后的提示
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=utf-8");
IUserService userService=new UserServiceImpl();
User user=new User();
try {
ConvertUtils.register(new DateLocaleConverter(), Date.class);
BeanUtils.populate(user, request.getParameterMap());
System.out.println("请求参数"+user);
userService.register(user);
response.getWriter().write("注册成功,3秒后转回主页");
response.setHeader("refresh", "3;url="+request.getContextPath()+"/index.jsp");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
response.getWriter().write("注册失败,"+e.getMessage());
}
}