protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();
        
        //Der User, dessen Passwort geändert werden soll
        User u = (User) session.getAttribute("user");

        //Map mit mögliche Fehlermeldungen
        Map<String, String> messages = new HashMap<String, String>();
        
        //Map mit den eventuell schon vorhandenen Werten 
        Map<String, String> values = new HashMap<String, String>();
        boolean allRight = true;

        //Die übergebenen Parameter
        String oldpassword = request.getParameter("oldpassword");
        String newpassword = request.getParameter("newpassword");
        String repeatnewpassword = request.getParameter("repeatnewpassword");

        //Parameter werden auf ihre Korrektheit geprüft.
        if (oldpassword.isEmpty()) {
            allRight = false;
            values.put("newpassword", newpassword);
            values.put("repeatnewpassword", repeatnewpassword);
            messages.put("oldpassword", "Geben Sie das alte Passwort ein");
        } else if (newpassword.isEmpty()) {
            allRight = false;
            values.put("oldpassword", oldpassword);
            values.put("repeatnewpassword", repeatnewpassword);
            messages.put("newpassword", "Geben Sie ein neues Passwort ein");
        } else if (repeatnewpassword.isEmpty()) {
            allRight = false;
            values.put("oldpassword", oldpassword);
            values.put("newpassword", newpassword);
            messages.put("repeatnewpassword", "Bestätigen Sie das neue Passwort");
        } else if (userserv.checkPassword(oldpassword, u.getId()) == false) {
            allRight = false;
            values.put("newpassword", newpassword);
            values.put("repeatnewpassword", repeatnewpassword);
            messages.put("oldpassword", "Altes Passwort stimmt nicht");
        } else if (!newpassword.equals(repeatnewpassword)) {
            allRight = false;
            values.put("oldpassword", oldpassword);
            messages.put("newpassword", "Die Passwörter stimmen nicht überein");
        } else if (userserv.changePassword(u.getId(), newpassword) == false) {
            messages.put("changepassword", "Passwort ändern fehlgeschlagen");
            allRight = false;
        }
        
        //Falls keine Fehler auftreten, wird zur nächsten Seite weitergeleitet
        if (allRight == true) {
            response.sendRedirect("changed.jsp");
            
            //Falls doch, wird die jeweilige Fehlermeldung angezeigt
        } else {
            request.setAttribute("messages", messages);
            request.setAttribute("values", values);
            request.getRequestDispatcher((String) session.getAttribute("page")).forward(request, response);
        }
    }