uebung2/aufgabe17

This commit is contained in:
2026-02-12 18:10:37 +01:00
parent 63a55be350
commit 5b6ee976c4
4 changed files with 193 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
package org.example.demo.models;
import java.time.LocalDate;
public class Student {
private String name;
private long matrikelnummer;
private LocalDate geburtsdatum;
public Student(String name, long matrikelnummer, LocalDate geburtsdatum) {
super();
this.name = name;
this.matrikelnummer = matrikelnummer;
this.geburtsdatum = geburtsdatum;
}
public Student() {
this("",-1, LocalDate.now());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getMatrikelnummer() {
return matrikelnummer;
}
public void setMatrikelnummer(long matrikelnummer) {
this.matrikelnummer = matrikelnummer;
}
public LocalDate getGeburtsdatum() {
return geburtsdatum;
}
public void setGeburtsdatum(LocalDate geburtsdatum) {
this.geburtsdatum = geburtsdatum;
}
public String toString() {
return matrikelnummer + ": " + name + ", " + geburtsdatum;
}
}

View File

@@ -0,0 +1,77 @@
package org.example.demo.models;
import java.io.IOException;
import java.text.ParseException;
import java.time.DateTimeException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.time.format.FormatStyle;
import java.util.Locale;
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/uebung2/aufgabe17/studentServlet")
public class StudentServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String fehler = "";
long matrikelnummer = 0;
LocalDate geburtsdatum = null;
String name = request.getParameter("name");
if (name==null || name.isBlank()) {
fehler += "Der Name wurde fehlerhaft eingegeben!<br/>";
}
String matrikelnummerString = request.getParameter("matrikelnummer");
if (matrikelnummerString == null || matrikelnummerString.isBlank()) {
fehler += "Die Matrikelnummer muss eingegeben werden!<br/>";
}
else {
try {
matrikelnummer = Long.parseLong(matrikelnummerString);
}
catch(NumberFormatException e) {
fehler += "Die Matrikelnummer wurde fehlerhaft eingegeben!<br/>";
}
}
String geburtsdatumString = request.getParameter("geburtsdatum");
if (geburtsdatumString == null || geburtsdatumString.isBlank()) {
fehler += "Das Geburtsdatum muss eingegeben werden!<br/>";
}
else {
try {
geburtsdatum = LocalDate.parse(geburtsdatumString, DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(Locale.GERMANY));
}
catch(DateTimeParseException e) {
fehler += "Das Datum muss dem Format tt.mm.jjjj entsprechen!<br/>";
}
}
if (!fehler.equals("")) {
request.setAttribute("fehler", fehler);
// Der Inhalt der Variable fehler wird in den Request als Attribut eingefuegt.
// Wenn das Attribut fehler im request nicht enthalten ist, wird ein Leerstring
// im View StudentAnlegen angezeigt.
RequestDispatcher dispatcher = request.getRequestDispatcher("studentAnlegen.jsp");
dispatcher.forward(request, response);
}
else {
Student student = new Student(name, matrikelnummer, geburtsdatum);
request.setAttribute("student", student);
RequestDispatcher dispatcher = request.getRequestDispatcher("studentAnzeigen.jsp");
dispatcher.forward(request, response);
}
}
}

View File

@@ -0,0 +1,39 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Student anlegen</title>
</head>
<body>
<h1>Student anlegen</h1>
<%= request.getAttribute("fehler")!=null
? request.getAttribute("fehler")
: ""
%>
<form action="studentServlet" method="post">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>Matrikelnummer:</td>
<td><input type="text" name="matrikelnummer"/></td>
</tr>
<tr>
<td>Geburtsdatum:</td>
<td><input type="text" name="geburtsdatum"/></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="right"><input type="submit" value="Anlegen"/></td>
</tr>
</table>
</form>
</body>
</html>

View File

@@ -0,0 +1,29 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Student anzeigen</title>
</head>
<body>
<jsp:useBean id="student" class="org.example.demo.models.Student" scope="request"/>
<h1>Student</h1>
<table>
<tr>
<td>Name:</td>
<td><jsp:getProperty name="student" property="name"/></td>
</tr>
<tr>
<td>Matrikelnummer:</td>
<td><jsp:getProperty name="student" property="matrikelnummer"/></td>
</tr>
<tr>
<td>Geburtsdatum:</td>
<td><jsp:getProperty name="student" property="geburtsdatum"/></td>
</tr>
</table>
</body>
</html>