Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RegisterServlet extends HttpServlet {
- private static final Logger l = Logger.getLogger(RegisterServlet.class);
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
- }
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- String email = req.getParameter("email");
- String password = req.getParameter("password");
- String repassword = req.getParameter("repassword");
- String name =req.getParameter("name");
- String login=req.getParameter("login");
- boolean remember = "on".equals(req.getParameter("remember_me"));
- if (!email.matches("^[A-Za-z0-9]+@[a-z0-9]+(?:.[a-z]+[a-z]*)+$")) {
- req.setAttribute("error", "Email must be valid.");
- getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
- return;
- }
- if (!password.equals(repassword)) {
- req.setAttribute("error", "Typed passwords does not match.");
- getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
- return;
- }
- User user=new User();
- user.setCash(0);
- user.setEmail(email);
- user.setLogin(login);
- user.setName(name);
- try {
- user.setPasswordRaw(password);
- } catch (NoSuchAlgorithmException e) {
- l.error(e.getLocalizedMessage());
- l.error(e.getMessage());
- req.setAttribute("error", "Some troubles with encrypting your password. Please try again.");
- getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
- return;
- }
- try {
- UserDAO.INSTANCE.register(user);
- } catch (SQLException e) {
- String sqlErrorState = e.getSQLState();
- l.error(sqlErrorState);
- l.error(e.getErrorCode());
- l.error(e.getLocalizedMessage());
- l.error(e.getMessage());
- String errorMessage = "Some troubles occured in database. Please try again.";
- if (sqlErrorState.equals("23505")) {
- errorMessage = "This email is already registered, please use another.";
- }
- req.setAttribute("error", errorMessage);
- getServletContext().getRequestDispatcher("/registration.jsp").forward(req, resp);
- return;
- }
- resp.sendRedirect(req.getContextPath() + "/");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement