public class RegisterServlet extends HttpServlet { private UsersService usersService = new UsersService(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 解决request的中文乱码 request.setCharacterEncoding("UTF-8"); // 获取用户输入的验证码 String checkcode = request.getParameter("checkCode"); // 获取Session中的验证码 String code = (String) request.getSession().getAttribute("checkcode_session"); // 进行比较判断 if (!checkcode.equals(code)) { //System.out.println("验证码错误!"); request.setAttribute("info", "验证码错误!"); request.getRequestDispatcher("/register.jsp").forward(request, response); return; } // 获取所有请求参数的MAP集合 Map<String, String[]> map = request.getParameterMap(); // 创建users对象 Users users = new Users(); // 用BeanUtils中的方法将map集合中的参数封装到Users对象中 // 原理:根据map中的key 跟user对象中的属性名一一映射 try { BeanUtils.populate(users, map); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 封装uid(随机产生36位不重复的id) users.setUid(UUID.randomUUID().toString()); // 调Service方法 System.out.println(users); usersService.register(users); // 成功后,重定向到登录页面 response.sendRedirect(request.getContextPath() + "/login.jsp"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
private UsersDao usersDao=new UsersDao(); //注册 public void register(Users users){ try { usersDao.register(users); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
// 注册 public void register(Users users) throws SQLException { /* * Connection conn = JDBCUtils.getConn(); String sql = * "insert into users(uid,username,password,email,name,sex,birthday) values(?,?,?,?,?,?,?)" * ; PreparedStatement pst=conn.prepareStatement(sql); pst.setString(1, * users.getUid()); pst.setString(2, users.getUsername()); * pst.setString(3, users.getPassword()); pst.setString(4, * users.getEmail()); pst.setString(5, users.getName()); * pst.setString(6, users.getSex()); pst.setString(7, * users.getBirthday()); //执行sql pst.executeUpdate(); //释放资源 * JDBCUtils.close(conn, pst); */ QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource()); String sql = "insert into users(uid,username,password,email,name,sex,birthday) values(?,?,?,?,?,?,?)"; qr.update(sql, new Object[] { users.getUid(), users.getUsername(), users.getPassword(), users.getEmail(), users.getName(), users.getSex(), users.getBirthday() }); }