public class ProfilServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ProfilServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
String message = "";
String message1 = "";
String message2 = "";
String message3 = "";
String message4 = "";
String message5 = "";
String alter = request.getParameter("alter");
String email = request.getParameter("email");
String telefon = request.getParameter("telefon");
String passwordNeu = request.getParameter("passwordNeu");
String passwordWdh = request.getParameter("passwordWdh");
String agb = request.getParameter("checkbox1");
String datenschutzbestimmungen = request.getParameter("checkbox2");
FehlerManager manager = new FehlerManager();
boolean alterKorrekt = manager.alterKorrekt(alter);
boolean mailKorrekt = manager.mailKorrekt(email);
boolean telefonKorrekt = manager.telefonKorrekt(telefon);
Benutzer benutzer = (Benutzer) session.getAttribute("benutzer");
if(agb.equals("on") && datenschutzbestimmungen.equals("on") && alterKorrekt && mailKorrekt &&
telefonKorrekt && passwordNeu.equals(passwordWdh)) {
message += "Alle Eingaben korrekt - Benutzer angelegt.";
benutzer.setAlter(alter);
benutzer.setEmail(email);
benutzer.setTelefon(telefon);
benutzer.setPasswort(passwordNeu);
session.setAttribute("benutzer", benutzer);
session.setAttribute("message", message);
request.getRequestDispatcher("index.jsp").forward(request, response);
} else if (!agb.equals("on") || !datenschutzbestimmungen.equals("on")) {
message1 += "Checkboxen sind nicht checked.";
session.setAttribute("message1", message1);
request.getRequestDispatcher("profil.jsp").forward(request, response);
} else if (!alterKorrekt) {
message2 += "Das Alter ist eine Zahl im Intervall [0, 123]";
session.setAttribute("message2", message2);
request.getRequestDispatcher("profil.jsp").forward(request, response);
} else if (!mailKorrekt) {
message3 += "Email nicht korrekt: Mindestens 5, Maximal 20 Groß- oder Kleinbuchstaben, optional mit Sonderzeichen ”\r\n" +
".- +“ (Punkt, Minus, Unterstrich, Plus)\r\n" +
"“@” gefolgt von beliebig vielen Klein- oder Großbuchstaben oder Zahlen\r\n" +
"“.” gefolgt von minimal zwei, maximal drei Kleinbuchstaben";
session.setAttribute("message3", message3);
request.getRequestDispatcher("profil.jsp").forward(request, response);
} else if (!telefonKorrekt) {
message4 += "Eine Telefonnummer beginnt entweder mit + und zwei Zahlen oder mit einer 0\r\n" +
"nach der 5. Stelle kann optional ein / oder ein - stehen\r\n" +
"gefolgt von bis zu 10 weiteren Zahlen";
session.setAttribute("message4", message4);
request.getRequestDispatcher("profil.jsp").forward(request, response);
} else if (passwordNeu != passwordWdh) {
message5 += "Passwörter stimmen nicht überein.";
session.setAttribute("message5", message5);
request.getRequestDispatcher("profil.jsp").forward(request, response);
}
}
}