metal-Tiffy Geschrieben 4. Februar 2011 Geschrieben 4. Februar 2011 Hi, ich habe ein Großes Problem MEine JSP mag die Klasse nicht.. Es kommt immer die Meldung DatenValidieren cannot be resolved to a type Code der JSP-Datei <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page language="java" %> <%@ page language="java" %> <%@ page import="java.util.*" %> <!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>Datenerfassung</title> </head> <%! private String starteValidierung(String cvorname, String cnachname, String cstrasse, String chausnummer, String chausnummernzusatz, String cplz, String cort){ String vorname = cvorname; String nachname = cnachname; String strasse = cstrasse; String hausnummer = chausnummer; String hausnummernzusatz = chausnummernzusatz; String plz = cplz; String ort = cort; DatenValidieren object = new DatenValidieren(vorname, nachname, strasse, hausnummer, hausnummernzusatz, plz, ort); String fehlermeldung= DatenValidieren.datenValidieren(); System.out.println(fehlermeldung + "alles supi"); } %> <body> <div align="center"> <h1>Adresserfassung</h1> <form action="DatenValidieren.jsp" method="post"> <table> <tr> <td>Vorname:</td> <td><input name="vorname" type="text" size="30" maxlength="30" ></td> </tr> <tr> <td>Nachname:</td> <td><input name="nachname" type="text" size="30" maxlength="30" ></td> </tr> <tr> <td>Straße:</td> <td><input name="strasse" type="text" size="30" maxlength="30"></td> </tr> <tr> <td>Hausnummer:</td> <td><input name="hausnummer" type="text" size="4" maxlength="4" ></td> </tr> <tr> <td>Hausnummernzusatz:</td> <td><input name="hausnummernzusatz" type="text" size="1" maxlength="1"></td> </tr> <tr> <td>Postleitzahl:</td> <td><input name="plz" type="text" size="5" maxlength="5" ></td> </tr> <tr> <td>Ort:</td> <td><input name="ort" type="text" size="30" maxlength="30" ></td> </tr> <tr> <td></td> <td><input type="submit" value="Absenden"> </td> </tr> </table> </form> </div> <% if (request.getParameter("name") != null){ String vorname = request.getParameter("vorname"); String nachname = request.getParameter("nachname"); String strasse = request.getParameter("strasse"); String hausnummer = request.getParameter("hausnummer"); String hausnummernzusatz = request.getParameter("hausnummernzusatz"); String plz = request.getParameter("plz"); String ort = request.getParameter("ort"); //hier soll die Funtkion starteValidierung mal aufgerufen werden, wenn das mal läuft } %> </body> </html> Und hier die Java-Klasse public class DatenValidieren { static String vorname; static String nachname; static String strasse; static String hausnummer; static String hausnummernzusatz; static String plz; static String ort; //Variablen mit C sind die die dem Konstruktor übergeben wurden public DatenValidieren (String cvorname, String cnachname, String cstrasse, String chausnummer, String chausnummernzusatz, String cplz, String cort){ vorname = cvorname; nachname = cnachname; strasse = cstrasse; hausnummer = chausnummer; hausnummernzusatz = chausnummernzusatz; plz = cplz; ort = cort; } public static void main (String[] args){ datenValidieren(); } public static String datenValidieren() { String fehlermeldung = ""; boolean richtig = true; Character[] sonderzeichen = { '+', '-', '"', '<', '>', '/', '\\', '|', '*', '?' , '@', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; if(vorname == ""){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Vorname"; richtig = false; } else{ for (int i = 0; i < sonderzeichen.length; i++) if (vorname.contains(sonderzeichen[i].toString())){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Vorname"; richtig = false; } } if(nachname == ""){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Nachname"; richtig = false; } else{ for (int i = 0; i < sonderzeichen.length; i++) if (nachname.contains(sonderzeichen[i].toString())){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Nachname"; richtig = false; } } if(strasse == ""){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Straße"; richtig = false; } else{ for (int i = 0; i < sonderzeichen.length; i++) if (strasse.contains(sonderzeichen[i].toString())){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Straße"; richtig = false; } } //Länge muss nicht geprüft werden, da dass Formular nicht mehr als 1 Zeichen zulässt if(hausnummernzusatz == ""){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Hausnummernzusatz"; richtig = false; } else{ for (int i = 0; i < sonderzeichen.length; i++) if (hausnummernzusatz.contains(sonderzeichen[i].toString())){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Hausnummernzusatz"; richtig = false; } } if(ort == ""){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Ort"; richtig = false; } else{ for (int i = 0; i < sonderzeichen.length; i++) if (ort.contains(sonderzeichen[i].toString())){ //Wenn schon vorher Fehler aufgetreten sind, wird ein Komma ergänzt if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Ort"; richtig = false; } } if (hausnummer == "") { if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Hausnummer"; richtig = false; } else { try { Integer.parseInt(hausnummer); } catch(NumberFormatException nfe) { if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "Hausnummer"; richtig = false; } } if (plz == "") { if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "PLZ"; richtig = false; } else { try { Integer.parseInt(plz); } catch(NumberFormatException nfe) { if (fehlermeldung != "") { fehlermeldung = fehlermeldung + ", "; } fehlermeldung = fehlermeldung + "PLZ"; richtig = false; } } //Wenn Fehler vorhanden sind, wird die Fehlermeldung ergänzt if (richtig == false){ fehlermeldung = "Bitte füllen sie: " + fehlermeldung + " richtig aus"; System.out.println(fehlermeldung); } return fehlermeldung; } } Ich habe es mit dem IE und FF versucht. habe die Daten direkt in einen Ordner gepackt oder den kompletten Java Worksapce miot der Struktur reinkopiert in den Tomcat.. Datenerfassung->src-Javaklasse Datenerfassung->Webcontent->jsp-Datei Zu hilf.. ich muss das als Probearbeit abgeben und kriege diese doofe Klasse nciht zum laufen.. LG Steffi Zitieren
metal-Tiffy Geschrieben 4. Februar 2011 Autor Geschrieben 4. Februar 2011 Juhu, es geht.. habe eine Tipp von einem alten Klassen kameraden bekommen.. Zitat: * für Webanwendungen hast du zwei möglichkeiten: Klassen direkt müssen in "WEB-INF/classes" deines WAR files, JARs landen in WEB-INF/lib - alles was da rumliegt wird vom Classloader gefunden Habe in den Ordner die class Datei gepackt und alles ist super.. Bin nur zu blöd zum Einrichten.. Besser als wenn es an meinen Programmierkenntnissen die in dem Bereich noch kaum vorhande sind liegt.. Lasse den Fred aber erstmal noch auf.. mir fällt schon noch was anderes dummes ein ^^ Zitieren
metal-Tiffy Geschrieben 4. Februar 2011 Autor Geschrieben 4. Februar 2011 Tatsache... ein neues Problem.. aber diesmal inhaltlich und nciht knfigurationsmäßig.. Hier meine aktuelle Version der Klasse <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page language="java" %> <%@ page language="java" %> <%@ page import="java.util.*" %> <!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>Datenerfassung</title> </head> <%! private String starteValidierung(String cvorname, String cnachname, String cstrasse, String chausnummer, String chausnummernzusatz, String cplz, String cort){ String vorname = cvorname; String nachname = cnachname; String strasse = cstrasse; String hausnummer = chausnummer; String hausnummernzusatz = chausnummernzusatz; String plz = cplz; String ort = cort; DatenValidieren object = new DatenValidieren(vorname, nachname, strasse, hausnummer, hausnummernzusatz, plz, ort); String fehlermeldung= DatenValidieren.datenValidieren(); System.out.println(fehlermeldung + "alles supi"); return fehlermeldung; } %> <body> <div align="center"> <h1>Adresserfassung</h1> <form action="<% out.println("Ausgabe"); if (request.getParameter("name") != null){ DatenValidieren object = new DatenValidieren(vorname, nachname, strasse, hausnummer, hausnummernzusatz, plz, ort); String fehlermeldung= DatenValidieren.datenValidieren(); out.println(fehlermeldung); //wenn fehlermeldung null soll hier noch was in eine DB geschrieben werden. } %>" method="post"> <table> <tr> <td>Vorname:</td> <td><input name="vorname" type="text" size="30" maxlength="30" ></td> </tr> <tr> <td>Nachname:</td> <td><input name="nachname" type="text" size="30" maxlength="30" ></td> </tr> <tr> <td>Straße:</td> <td><input name="strasse" type="text" size="30" maxlength="30"></td> </tr> <tr> <td>Hausnummer:</td> <td><input name="hausnummer" type="text" size="4" maxlength="4" ></td> </tr> <tr> <td>Hausnummernzusatz:</td> <td><input name="hausnummernzusatz" type="text" size="1" maxlength="1"></td> </tr> <tr> <td>Postleitzahl:</td> <td><input name="plz" type="text" size="5" maxlength="5" ></td> </tr> <tr> <td>Ort:</td> <td><input name="ort" type="text" size="30" maxlength="30" ></td> </tr> <tr> <td></td> <td><input type="submit" value="Absenden"> </td> </tr> </table> </form> </div> <% /*if (request.getParameter("name") != null){ String vorname = request.getParameter("vorname"); String nachname = request.getParameter("nachname"); String strasse = request.getParameter("strasse"); String hausnummer = request.getParameter("hausnummer"); String hausnummernzusatz = request.getParameter("hausnummernzusatz"); String plz = request.getParameter("plz"); String ort = request.getParameter("ort"); out.println(starteValidierung(vorname, nachname, strasse, hausnummer, hausnummernzusatz, plz, ort)); //hier soll die Funtkion starteValidierung mal aufgerufen werden, wenn das mal läuft }*/ -->%> </body> </html> Wenn ich auf das Knöpfli klicke passiert aber auch nichts.. es gibt keinen Fehler, aber es erfolg auch keine Ausgabe, obwohl das 1. nur eine Ausgabe ist.. Oder habe ich da einen Denkfehler?? LG Steffi Zitieren
metal-Tiffy Geschrieben 5. Februar 2011 Autor Geschrieben 5. Februar 2011 Scheinbar lädt der tomcat seit gestern abend immer die gleiche Version und ich bekomme deswegen ncihts anderes zu sehen.. habe schon die Datei gelöscht, tomcta hoch und runter gefahren, rechner neugestartet.. argh.. kann mir jemand schnell mal sagen,wie ich das abstellen kann.. so kann ich garnicht testen.. LG Steffi Zitieren
metal-Tiffy Geschrieben 5. Februar 2011 Autor Geschrieben 5. Februar 2011 So das wäre gelöst. allerdings werden jetzt die Java-Klassen nicht mehr erkannt. Obwohl alles noch in dem Ordner leigt, wo es vorher auch lief.. Ich verstehe die ganze Sache echt nicht mehr.. :old LG Steffi Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.