Java tutorial
/* * Copyright 2010 Tim Moore * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.incrementalism.tooter; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import static net.incrementalism.tooter.UserSession.setCurrentUser; import static org.apache.commons.lang.StringUtils.isBlank; public class SignUpServlet extends BaseTooterServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (isBlank(request.getParameter("userName"))) { request.setAttribute("error", "'User Name' must not be empty."); } else if (isBlank(request.getParameter("email"))) { request.setAttribute("error", "'Email Address' must not be empty."); } else if (isBlank(request.getParameter("password"))) { request.setAttribute("error", "'Password' must not be empty."); } else if (isBlank(request.getParameter("passwordConfirm"))) { request.setAttribute("error", "'Confirm Password' must not be empty."); } else if (!request.getParameter("password").equals(request.getParameter("passwordConfirm"))) { request.setAttribute("error", "'Password' and 'Confirm Password' did not match."); } else { try { setCurrentUser(request, addUser(User.builder().userName(request.getParameter("userName")) .email(request.getParameter("email")).password(request.getParameter("password")).build())); response.sendRedirect("/profile"); return; } catch (DuplicateUserException e) { request.setAttribute("error", "User Name '" + e.getUserName() + "' is already taken."); } } request.getRequestDispatcher("/index.jsp").include(request, response); } }