uebung2/aufgabe17
This commit is contained in:
48
src/main/java/org/example/demo/models/Student.java
Normal file
48
src/main/java/org/example/demo/models/Student.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
77
src/main/java/org/example/demo/models/StudentServlet.java
Normal file
77
src/main/java/org/example/demo/models/StudentServlet.java
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
39
src/main/webapp/uebung2/aufgabe17/studentAnlegen.jsp
Normal file
39
src/main/webapp/uebung2/aufgabe17/studentAnlegen.jsp
Normal 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> </td>
|
||||||
|
<td align="right"><input type="submit" value="Anlegen"/></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
29
src/main/webapp/uebung2/aufgabe17/studentAnzeigen.jsp
Normal file
29
src/main/webapp/uebung2/aufgabe17/studentAnzeigen.jsp
Normal 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>
|
||||||
Reference in New Issue
Block a user