- Feb 8, 2004
- 12,604
- 15
- 81
Heres a method I coded for a servlet, it deals with the user requesting to change their email address. I tend to put comments next to the if/else conditions like that quite often but ive read too much comments can be bad. If im honest these massively help me when I go back to refactor something like this and ive totally forgot whats going on in the code. What do you guys think?
Code:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
ServletContext sc = this.getServletContext();
HttpSession session = request.getSession();
String id_user = (String) session.getAttribute("id_user");
String password = request.getParameter("password");
String newEmail = request.getParameter("newEmail");
boolean success = false;
//if user has entered the correct password
if (Authorization.isCurrentUserAuthorized(password, request))
{
//if the users email does not already exist in the datbase
if (!DatabaseAccess.userAlreadyExistsCheckEmail(newEmail))
{
success = DatabaseAccess.changeEmail(newEmail, id_user);
//if email changed successfully
if (success)
{
session.setAttribute("email", newEmail);
RequestDispatcher rd = sc.getRequestDispatcher("/" + GlobalValues.getWebPagesDirectory() + "/" + GlobalValues.getSettingsPage());
PrintWriter out = response.getWriter();
out.println("<div class=\"alert alert-success\" role=\"alert\">Email changed successfully.</div>");
rd.include(request, response);
} else //if email change failed for some reason
{
RequestDispatcher rd = sc.getRequestDispatcher("/" + GlobalValues.getWebPagesDirectory() + "/" + GlobalValues.getSettingsPage());
PrintWriter out = response.getWriter();
out.println("<div class=\"alert alert-danger\" role=\"alert\">Email change request failed.</div>");
rd.include(request, response);
}
} else //if the users new email is already in the database
{
RequestDispatcher rd = sc.getRequestDispatcher("/" + GlobalValues.getWebPagesDirectory() + "/" + GlobalValues.getSettingsPage());
PrintWriter out = response.getWriter();
out.println("<div class=\"alert alert-danger\" role=\"alert\">Email already exists!</div>");
rd.include(request, response);
}
} else //user entered incorrect password
{
RequestDispatcher rd = sc.getRequestDispatcher("/" + GlobalValues.getWebPagesDirectory() + "/" + GlobalValues.getSettingsPage());
PrintWriter out = response.getWriter();
out.println("<div class=\"alert alert-danger\" role=\"alert\">Incorrect password.</div>");
rd.include(request, response);
}
}