Advertisement
eventhelawn

Untitled

Nov 26th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. public class RegisterServlet extends HttpServlet {
  2.  
  3. private static final Logger l = Logger.getLogger(RegisterServlet.class);
  4.  
  5. @Override
  6. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  7. getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
  8. }
  9.  
  10. @Override
  11. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  12. String email = req.getParameter("email");
  13. String password = req.getParameter("password");
  14. String repassword = req.getParameter("repassword");
  15. String name =req.getParameter("name");
  16. String login=req.getParameter("login");
  17. boolean remember = "on".equals(req.getParameter("remember_me"));
  18.  
  19. if (!email.matches("^[A-Za-z0-9]+@[a-z0-9]+(?:.[a-z]+[a-z]*)+$")) {
  20. req.setAttribute("error", "Email must be valid.");
  21. getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
  22. return;
  23. }
  24.  
  25. if (!password.equals(repassword)) {
  26. req.setAttribute("error", "Typed passwords does not match.");
  27. getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
  28. return;
  29. }
  30. User user=new User();
  31. user.setCash(0);
  32. user.setEmail(email);
  33. user.setLogin(login);
  34. user.setName(name);
  35. try {
  36. user.setPasswordRaw(password);
  37. } catch (NoSuchAlgorithmException e) {
  38. l.error(e.getLocalizedMessage());
  39. l.error(e.getMessage());
  40. req.setAttribute("error", "Some troubles with encrypting your password. Please try again.");
  41. getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
  42. return;
  43. }
  44. try {
  45. UserDAO.INSTANCE.register(user);
  46. } catch (SQLException e) {
  47. String sqlErrorState = e.getSQLState();
  48. l.error(sqlErrorState);
  49. l.error(e.getErrorCode());
  50. l.error(e.getLocalizedMessage());
  51. l.error(e.getMessage());
  52. String errorMessage = "Some troubles occured in database. Please try again.";
  53. if (sqlErrorState.equals("23505")) {
  54. errorMessage = "This email is already registered, please use another.";
  55. }
  56. req.setAttribute("error", errorMessage);
  57. getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
  58. return;
  59. }
  60. resp.sendRedirect(req.getContextPath() + "/");
  61.  
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement