Zum Inhalt springen

kingofbrain

Mitglieder
  • Gesamte Inhalte

    2093
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von kingofbrain

  1. Fehler suchen, ohne gelernt zu haben, dauert in der Regel noch länger. Deshalb jetzt die Grundlagen schaffen und danach weniger Zeit mit blinder Fehlersuche verbringen. Und falls es sich um Dein IHK Abschlussprojekt handelt: hier hättest Du ja einen Gegenvorschlag machen können. Es ist in meinen Augen ziemlich fahrlässig, ein Thema zu wählen, in das man sich erst einarbeiten muss. Ist jetzt zwar zu spät, aber in der Zukunft weißt Du es. Peter
  2. Servus, das ist wie beim letzten Mal ein relativ trivialer Fehler, für den Dir allerdings das Grundwissen fehlt. Ich vermute, Du wirst Dich auf diese Weise jetzt von Fehler zu Fehler und damit hier von Thread zu Thread hangeln, ohne den Grundlagen aber wesentlich näher zu kommen. Dein konkretes Problem hat mit dem Classloading zu tun. Dein Server versucht, eine Klasse zu finden und schafft das nicht. Zaunpfahl: wie hast Du die commons-fileupload.jar im Server eingebunden? Die wird nämlich gefunden, aber von dort aus die Klasse javax.servlet.http.HttpServletRequest nicht. Und noch mal der Tipp: Befass Dich mit den Grundlagen von Java EE, dann treten solche Schwierigkeiten nicht so häufig auf. Peter
  3. Deine Pfadangabe in der JSP im "form" Element hat erstmal nichts mit dem Mapping in der web.xml zu tun, sondern allgemein damit, wie die URLs in einer Java EE Webanwendung aufgebaut sind. Standardmäßig ist das nämlich bei den meisten Servlet-Container-Herstellern so, dass nach dem Host (z.B. localhost mit Port 8080 unter Verwendung von HTTP -> Fachinformatiker.de) der Kontextpfad aus dem Namen der Anwendung gebildet wird (also bei der Anwendung "myapp" -> "/myapp". An diesen Kontextpfad werden dann die weiteren Pfade innerhalb der Anwendung gehängt, also z.B. "/myservlet". Wenn Du jetzt aber in HTML eine absolute Pfadangabe verwendest (-> "/*"), dann heißt das, dass eine Ressource unterhalb der Hostadresse gesucht wird. Das ist kein Problem von Java EE, sondern eine allgemeine Regelung in HTML. Du musst also bei einer absoluten Pfadangabe den Kontextpfad mit berücksichtigen (den bekommst Du über Expression Language auch innerhalb der JSP), oder relativ adressieren (deshalb meine Frage, wo die JSP liegt. Wenn die nämlich - wie bei Dir der Fall - direkt in der Root des Webarchivs liegt, dann kannst Du auch einfach so adressieren: ./myservlet Das liegt daran, dass im Kontextpfad Deiner Anwendung statische Ressourcen und JSPs nach dem Verzeichnisbaum innerhalb des Archivs gesehen werden, und Du auch Dein Servlet auf die Wurzel gemappt hast. Ich hoffe, das hilft Dir weiter. Du solltest allerdings wirklich noch einmal ein ausführliches Dokument zum Thema lesen (ich empfehle die Spezifikation, weil sie die einzige "wahre" Referenz ist, und alle Tutorials und Bücher zum Thema an der einen oder anderen Stelle Fehler und Missinterpretationen enthalten). Peter
  4. Lies Dir bitte nochmal meine Antwort durch. Wenn Du Probleme hast, dort etwas zu verstehen, dann frag nach. Ich weiß, wie ein WTP-Projekt in Eclipse aussieht, auch wenn ich damit nicht arbeite. Mein Tipp für mittelfristig (die mutmaßliche Lösung Deines konkreten Problems steht ja schon oben): Setz Dich mit den Grundlagen von Java EE auseinander, in Deinem Fall speziell mit dem Bereich JSP / Servlet. Also: Wie sind Java Webanwendungen allgemein aufgebaut, was ist ein WAR, was steckt da drin, wie wird die Anwendung beschrieben (web.xml), was sind Servlets und wofür braucht man die, warum gibt es JSPs und was ist das eigentlich, wie hängen JSPs mit Servlets zusammen bzw. was ist der Unterschied zwischen beiden, usw. Mit einer fundierten Basis ist die Fehlersuche sehr viel einfacher und schneller zu bewerkestelligen, auch wenn es am Anfang erst mal viel Mühe macht, sich in den Themenkomplex einzuarbeiten. Ich habe meine ersten Schritte mit J2EE 2002 gemacht und auch erst mal so vor mich hinprogrammiert. Allerdings bringt einen das bei EE nicht weit und ich musste auch nach einem guten Jahr Arbeit in dem Thema noch mal von vorne anfangen und mir die Basics aneignen. Peter
  5. Servus! Wenn Dein Servlet wirklich unter "/servlet" gemappt ist, dann fehlt evtl. noch der Kontextpfad zur Anwendung. Wie sieht denn die Adresse zur JSP aus, in der das Formular drin steckt? Wenn es in etwa so ist: http://localhost:8080/myapp/form.jsp, dann ist der korrekte Pfad zu Deinem Servlet eins von den folgenden: - http://localhost:8080/myapp/servlet - /myapp/servlet - servlet Peter
  6. kingofbrain

    Anfänger Java Test

    Naja, wir sind ja hier kein Hausaufgaben- oder Testforum, deshalb ist schon Eigeninitiative gefragt von Dir. Was ist also Dein Lösungsansatz? D.h., was macht die Anweisung in Deinen Augen? Peter
  7. Das ist bei einer Massenkommunikationsaufnahme sicher ein wichtiger Hinweis. Bei der professionellen Akquise (zumindest bei der Firma, in der ich arbeite) ist es allerdings so, dass man nicht wahllos bei einem Unternehmen anruft und sich und seine Dienste verkaufen will. Man informiert sich, was das Unternehmen so macht, ob es offene Projekte und Bedarf an IT Dienstleistungen gibt (Social Networking on- und offline) und spricht dann gezielt mit den Leuten. Nicht umsonst ist der Vertrieb ein wichtiges Thema bei den meisten Dienstleistern und wird durch gute Mitarbeiter erledigt. Selbst wenn es nämlich erlaubt wäre, hilft es einem nichts, wenn man dem Gegenüber derart auf den Senkel geht, dass dieser sowieso nichts mit einem machen wird. Peter
  8. "funktioniert nicht" ist keine Fehlerbeschreibung. Was probierst Du und welche Fehlermeldung erhältst Du? Bisher müssen wir leider die Glaskugel verwenden, und die ist bei Sonne immer ein wenig trüb. Peter
  9. Es wird hier ja auch gelesen: in den BLOB hinein. Am Ende erhalte ich einen aus dem InputStream gefüllten BLOB von der Methode zurück. Das sollte schon das sein, was gewünscht ist. Der BLOB muss dann natürlich trotzdem noch in die Datenbank kommen, aber das ist ja das Problem von Hibernate. Mit dem erzeugten BLOB befüttere ich meine Beans, den Rest erledigt das ORM. Peter
  10. Indem Du klassische Kaltaquise machst: Du suchst Dir Telefonnummern von Firmen, bei denen Du Dir vorstellen könntest, dass sie jemanden wie Dich brauchen, und rufst dort an. So machen das Vertriebler in den Unternehmen schließlich auch. Ich denke, das wollte der Chief mit seinem Einwand sagen. Oder Du hängst einen Zettel an eine Littfasssäule, setzt Dich neben das Telefon und hoffst, das jemand anruft. Oder Du nimmst eine der 1000 Möglichkeiten dazwischen (im Internet in Freelancerportalen, über Freunde, die jemanden kennen, der jemanden kennt, ...). Ergo: Wenn Du nicht weißt, wo Du anfangen sollst, ist vielleicht eine selbständige Tätigkeit eh nichts für Dich. Im Normalfall muss man dann nämlich einfach Sachen ausprobieren, weil man ja *selbst*ständig ist (um die neue Schreibweise mal zu verwenden). Peter
  11. Ich habe jetzt mal die JPA Spezifikation durchsucht. Scheinbar wird dort nicht geregelt, wie eine Implementierung ein großes Binärobjekt speichert, nur dass es gekonnt werden muss. Gleichzeitig habe ich mal die Dokumentation zu Hibernate durchsucht und gesehen, dass es in der Klasse org.hibernate.Hibernate eine statische Methode createBlob(InputStream) gibt. Das könnte bedeuten, dass funktioniert, was Du willst (allerdings abseits vom Standard JPA), es muss aber nicht sein. Ich denke, der beste Weg ist hier, sich gleich auf JDBC zu verlassen und für diesen Zweck ein althergebrachtes JDBC-DAO zu schreiben. Das sollte - entsprechend gekapselt - gut funktionieren und ansonsten die Verwendung von JPA nicht beeinträchtigen. Peter
  12. Dann haben wir ja die Implementierung: Hibernate. javax.persistence.EntityManager ist nur die Schnittstelle, die dann von Hibernate implementiert wird. Ob Hibernate allerdings eine Möglichkeit gibt, die von den beiden anderen angesprochene Speicherung per Stream durchzuführen, kann ich Dir nicht sagen. Auf die Schnelle hat mir auch eine Suche nichts gegeben. Sollte es mit Hibernate als EM nicht funktionieren, dann kannst Du natürlich - einen entsprechenden JDBC-Treiber vorausgesetzt - den direkten Weg über JDBC gehen. Da können Dir vielleicht dann die zwei anderen Kollegen weiterhelfen. Peter
  13. Ah ja, gut zu wissen. Dass man bei JDBC inhaltlich große Felder per Stream schicken kann, war mir nicht bewusst. Wie das ein EntityManager (welche Implementierung wird denn verwendet?) löst, ist wohl dann Sache der konkreten Implementierung. Peter
  14. Ja, gib dem Java-Prozess mehr Speicher (-Xmx als Parameter an die VM). ich vermute, der EntityManager muss die gesamte Datei im Speicher halten, um sie per JDBC an die Datenbank zu schicken. Deshalb wird eine Lösung, die nach und nach Daten aus einem Stream liest und die bereits gelesenen Daten verwirft, nachdem sie zum Server geschickt wurden, nicht funktionieren. Ein Statement muss meines Wissens nach immer komplett an das RDBMS geschickt werden. Schöne Grüße, Peter
  15. Dir ist hoffentlich bewusst, dass Du die Inhalte der Gelben Seiten nicht einfach so kopieren und für Deine Zwecke verwenden darfst (siehe Nutzungsbedingungen). Dazu zählt natürlich auch eine einzelne Abspeicherung oder ein Abtippen. Genau dafür gibt es ja bei den einschlägigen Anbietern teure APIs, die man verwenden kann, um mit den Daten arbeiten zu dürfen. Und dann besteht natürlich immer noch der Einwand vom Chief, dessen Nichtbeachtung Dir eine Menge Ärger einhandeln kann. Deshalb finde ich seinen Hinweis auf eine gut gefüllte Brieftasche und einen guten Kreis von Anwälten auch ziemlich nett. Peter
  16. Das kommt wohl auf Deine Datenbank an, oder? Wenn dort die Daten vorhanden sind, dann geht das. Wenn Du allerdings keine Datenbank mit den entsprechenden Daten hast (ich gehe davon aus), dann kenne ich keinen freien Dienst, der Dir das so bieten würde. Evtl. gibt es von den einschlägigen Branchenbuchanbietern entsprechende APIs mit Geodatenunterstützung. Dann gehört der Post allerdings in ein anderes Unterforum. Peter
  17. Keine Ahnung welchen der Editoren Du jetzt meinst, aber beim Notepad++ ist es so, dass bei jedem Speichern von Dir ein Backup weggesichert wird. Du hast also von jedem Speichern eine Version. Bei Crimson ist es ein zeitlich gesteuertes Backup, wenn ich mich recht erinnere. Wie gesagt, das musst Du ausprobieren.
  18. Nachdem JasperReports mit JDBC auf die Datenbanken zugreift, sollte jede Datenbank, die über einen JDBC-Treiber (>= 2.0) erreichbar ist, funktionieren. [EDIT] s. http://jasperforge.org/website/jasperreportswebsite/trunk/index.html -> JasperReports Datasheet [/EDIT] Peter
  19. Servus, also die Editoren "Notepad++" und "Crimson Editor" können das (Notepad++ habe ich hier, bei dem kann ich es sicher sagen, beim Crimson kann ich es nur aus der Erinnerung sagen). Aber wie gesagt, ich würde für ernsthafte Softwareentwicklung oder Webentwicklung auf ein Versionierungssystem setzen und nicht auf eine solche Bastellösung. Schöne Grüße, Peter
  20. Servus nochmal, hier mal Deine Lieblingsseite der nächsten Zeit, sofern Du mit Java weitermachen willst: Java Platform SE 6 Dort findest Du die Dokumentation zu den Klassen im JDK 6 (wenn Du ein anderes verwendest, einfach nach der passenden Doku suchen). Enthalten ist natürlich auch die Dokumentation der Klasse Scanner (damit Du Dein abgetipptes Beispiel verstehst) und deren Methoden (z.B. nextDouble()), damit Du auch Fließkommazahlen berechnen kannst. Viel Spaß (einmal programmieren, immer programmieren, oder? )! [EDIT] Ach ja, für die nächsten Posts kannst Du die schönen CODE-Tags verwenden, damit Dein Quellcode auch gut lesbar ist. [/EDIT] Peter
  21. Da wird Dein Junior wahrscheinlich nicht alles mitgeschrieben haben. Es sind auch gleich mehrere Fehler im Quellcode. Die Methode wird nicht "read double" heißen, sondern wahrscheinlich "readDouble". Im JDK gibt es keine Klasse "console", deshalb schätze ich, in der Schule verwenden sie eine Hilfsklasse namens "console" mit der statischen Methode readDouble(String) (-> höchst unschön, weil der Klassenname gegen Java Konventionen verstößt), oder es gibt in der Schule in der Klasse mit der main-Methode eine Instanzvariable (oder Klassenvariable) namens "console" mit der genannten Methode (nicht statisch, die bessere Variante). Peter
  22. Kann es sein, dass Du bei Deinen Posts jeweils vergisst, konkrete Fragen zu stellen? In Deinem letzten Codebeispiel sind diverse System.out.println()s. Die Frage ist, welcher ist der relevante? Beim Einlesen der Datei oder nach dem Tokenizen? Wenn beim Einlesen, warum ist das so? Wird die Datei nicht gefunden, ist sie leer, oder was läuft sonst schief? Aus der Ferne können wir Dir das nicht beantworten. Im Gegenteil, Du musst uns das sagen, damit wir eine sinnvolle Antwort geben können. [EDIT] Zusätzlich solltest Du den Quellcode, den Du hier postest, noch mal korrekt formatieren (-> Einrückungen)[/EDIT] Peter
  23. Da verstehe ich den Begriff backup bei Deiner Lösung anders als bei der des OP. Ich kenne Editoren, die alle n Minuten eine Datei im lokalen Filesystem neben die editierte Datei schreiben (file.bak0, file.bak1, ...). Bei der Verwendung eines Versionierungssystems gehe ich natürlich davon aus, dass dieses auch insgesamt gesichert wird. Peter
  24. Servus, an Deiner Stelle würde ich nicht so eine Backupfunktion nutzen, sondern gleich ein Versionierungssystem (z.B. CSV oder SVN). Das ist in meinen Augen vielseitiger und besser als ein Backup auf Filebasis. Peter
  25. kingofbrain

    Konsole auslesen

    Nein, Du hast nicht Dein Problem geschildert, sondern Du hast eine mögliche Lösung für Dein Problem vorweggenommen. Wenn Du uns noch das wirkliche Problem erzählst, werden wir Dir mit höchster Wahrscheinlichkeit einen besseren Lösungsweg sagen können als das Ermitteln von Werten aus einer auf die Kommandozeile ausgegebenen Ausgabe. Mit Quellcode hat die Forderung von flashpixx nichts zu tun, im Gegenteil, eine fachliche Schilderung des Problems wäre angemessen und erwünscht. Beispiel: Ich habe eine Anwendung zur Einkommensteuerberechnung geschrieben und will dem Benutzer eine schöne Übersicht über seine Einnahmen und Ausgaben mit Steuerberechnung liefern. Was ist in Euren Augen eine gute Möglichkeit? Peter

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...