Einhaltung von Spezifikationen

zeromancer

Erfahrenes Mitglied
Hallo Leute!

Ich werde gleich wahnsinnig!

Ich habe es nach langen Sitzungen endlich hinbekommen, dass zumindest auf meinem lokalen WSAD-Testserver meine Mini-Apps laufen.
Nun will ich das ganze auf dem angeblich J2EE konformen Tomcat 5 zum laufen kriegen, erhalte aber eine völlig irre Meldung:

java.lang.IllegalArgumentException: Path Result.jsp does not start with a "/" character com.busse.Servlets.Servlet.doPost(Servlet.java:29) javax.servlet.http.HttpServlet.service(HttpServlet.java:763) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

Im Servletcode steht als forward-Adresse eine Datei "Result.jsp". WSAD führt es aus, Tomcat sagt, es müsse ein "/" vorangestellt werden - oder verstehe ich bloss die Meldung falsch?
Nun mal eine Frage: bisher sieht es so aus, als wenn WSAD die Spezifikationen nicht einhält, denn auch Sun ONE gibt die gleiche Meldung.

Wenn ich nun den gewünschten / voranstelle, funktioniert es aber auch nicht, nein, warum sollte es auch ("/ServletTest/Result.jsp" oder aber auch "/Result.jsp").

Bin ich zu blöd oder was läuft hier falsch?

Danke Euch für Tipps!

Gruß, Zero, der bald aufgibt mit diesem absolut unausgegorenen Mist
 
Wenn ich die Fehlermeldung richtig lese, erwartet der Tomcat eine absolute Pfadangabe.
Wobei Dateinamen wie:
/ServletTest/Result.jsp
logischerweise nicht gefunden werden können, weil sie einfach nicht vorhanden sind. ;)
Versuch einfach mal, den Dateinamen in eine - für die Laufzeitumgebung - absolute Angabe umzuformen. Also mit getRealPath().

Kann aber auch sein, dass ich gerade Mist erzähle. Ich hol mir mal besser Kaffee... :rolleyes:
 
Ich kann Dir absolut nicht folgen... :(

Abgesehen davon geht auch der WSAD nicht mehr, da spielt der Cache verrückt.
Meine Frage:
Was soll das für eine Software sein, bei der man für die Entwicklung der simpelsten Dinge mehrere Stunden braucht, nur weil das Environment absoluter Schrott ist und macht, was es will?
Ich denke mal, meinen Kunden kann und will ich das sicherlich nicht verkaufen, solange das nicht aus dieser frühen Alphaphase heraus ist!
Es ist absolut der Hammer, was einem mit diesem J2EE Dreck geboten wird!

Danke für Deine Antwort, aber ich bin seit heute, nach 1 Woche herumfrickelnm echt geheilt von diesem Thema! Nie wieder WebSphere, nie wieder J2EE, nie wieder Java!
 
Zuletzt bearbeitet:
Dateinamen mit einem führenden Schrägstrich sind absolute Angaben auf Unix-Systemen. Vergleichbar mit "C:\Dateiname" unter Windows. Daneben gibt es noch relative Pfadangaben, die sich auf das aktuelle Verzeichnis beziehen, die fangen weder mit / noch mit X:\ an.

Eigentlich sind für den Servlet-Container relative Pfadangaben zum Wurzelverzeichnis der Webanwendung eingestellt. Das heisst, dass / das oberste Verzeichnis der Webanwendung ist (abhängig von den Projekteinstellungen). Die /index.jsp ist z.B. die typische Startseite der Webanwendung, obwohl die ja eigentlich nicht unter / bzw. C:\ liegt.
/index.jsp ist also eine Pfadangabe für den Server, nicht für das Betriebssystem. Und um das umzuschalten, gibt es in im ServletContext zwei Methode namens getRealPath() und getContextPath().

Aber ich glaub, wir reden irgendwie aneinander vorbei. :rolleyes:

Edit: Ich kann irgendwie nicht so richtig nachvollziehen, was das bei Dir für Probleme sind. Bei mir funktioniert Eclipse mit Tomcat- und Lomboz-Plugin bestens. Mit dem WSAD kenn ich mich zwar nicht aus, aber ich denke nicht, dass das ein Problem der Software ist. :rolleyes:
 
Was die Angaben betrifft sehe ich durch, aber das kann jeder Billig-Webserver besser - denn er akzeptiert wenigstens dieses relativen Angaben.
Ich starte eine JSP aus einem /Verzeichnis heraus und ich rufe ebenfalls in diesem /Verzeichnis/dasServlet auf - da sollte es auch der dümmste Server raffen, was ich meine. Wenn nicht, dann nicht.

Oh ja, WebSphere ist das Problem - ein Riesenproblem, wie alles, was aus dem Hause IBM kommt (Immer Besser Manuell). :mad:

Oh nein, bitte nicht anfangen von irgendwelchen Plugins für dieses komische Eclipse! Es reicht schon, dass dies der Grundstein in WebSphere ist.
 
Zuletzt bearbeitet:
Ich möchte gerne was grundlegendes Wissen:

Ist J2EE nicht dafür erdacht worden, dass man skalierbare, plattformunabhängige Software entwickelt, die man dann lediglich auf den verschiedenen Systemen deployen muss?

Wenn ja, frage ich mich doch, wie dies ermöglicht werden kann, wenn doch wieder jeder sein eigenes Ding dreht und sich einen Teufel darum schert, was der Standard besagt. Ich mag Java sehr, nur die Server spielen nicht das, was sie sollen. Mehr als mich durch Dokumentationen welzen, Samples nachvollziehen und in den Adminkonsolen rumschrauben kann man wohl nicht. Und irgendwann ist der Frust deart groß, dass man diese "Errungenschaft" verteufelt und wieder back to the roots geht, die da einfach nur Perl und CGI heissen!

Schöne neue Welt :mad:
 
Original geschrieben von zeromancer
Ich kann Dir absolut nicht folgen... :(

Abgesehen davon geht auch der WSAD nicht mehr, da spielt der Cache verrückt.
Meine Frage:
Was soll das für eine Software sein, bei der man für die Entwicklung der simpelsten Dinge mehrere Stunden braucht, nur weil das Environment absoluter Schrott ist und macht, was es will?
Ich denke mal, meinen Kunden kann und will ich das sicherlich nicht verkaufen, solange das nicht aus dieser frühen Alphaphase heraus ist!
Es ist absolut der Hammer, was einem mit diesem J2EE Dreck geboten wird!

Danke für Deine Antwort, aber ich bin seit heute, nach 1 Woche herumfrickelnm echt geheilt von diesem Thema! Nie wieder WebSphere, nie wieder J2EE, nie wieder Java!

Sorry zeromancer,
nur weil du nach nur einer Woche noch nicht klar kommst eine Technik als Alpha zu beurteilen, die seid mehreren Jahren produktiv (u.a von mir) eingesetzt wird ist ziemlich .
Wenn du mit J2EE nicht klar kommst und kein Interresse hast energien zum Aneignen zu verwenden, dann lass es.

Original geschrieben von zeromancer
Was die Angaben betrifft sehe ich durch, aber das kann jeder Billig-Webserver besser - denn er akzeptiert wenigstens dieses relativen Angaben.
Ich starte eine JSP aus einem /Verzeichnis heraus und ich rufe ebenfalls in diesem /Verzeichnis/dasServlet auf - da sollte es auch der dümmste Server raffen, was ich meine. Wenn nicht, dann nicht.

Erstmal schliesse nicht von deinem Unwissen darauf was ein "Billig-Webserver" kann oder nicht.
Denn Dario hat dir leider was falsches erzählt, aber ihn trifft da keine Schuld, bevor mann über was meckert muss mann sich selber die Kenntnisse beibringen und schauen ob das Problem nicht schon wieder zwischen Tastartur und Stuhl zu suchen ist.

Vielleicht beschäftigst du dich mal mit der web.xml und liest mal das Changelog der verschiedenen Tomcat versionen, dann wirst du auch kapieren was <servlet-mapping> bedeutet, und schwupps lösen sich deine Probleme in nichts auf.
Aber erstmal meckern .... :rolleyes:

Tut mir ein gefallen, und bleib bei Perl denn für Java hast du nicht die benötigte Geduld.
Ich habe mir mehr als eine Woche zum J2EE lernen zugestanden ... bzw mann lernt gerade bei so einem komplexen Thema nicht aus, ich lerne seid / und die nächsten jahren dran, und weist du was, darüber freu ich mich, denn immer wieder dazulernen, ist einer der Haupgründe weshalb ich diesen Beruf gewählt habe. Wenn das nicht dein Gebiet ist, dann solltest du deine Berufung überdenken....


Original geschrieben von zeromancer
Ich möchte gerne was grundlegendes Wissen:

Ist J2EE nicht dafür erdacht worden, dass man skalierbare, plattformunabhängige Software entwickelt, die man dann lediglich auf den verschiedenen Systemen deployen muss?

Wenn ja, frage ich mich doch, wie dies ermöglicht werden kann, wenn doch wieder jeder sein eigenes Ding dreht und sich einen Teufel darum schert, was der Standard besagt.

Komischerweise funktioniert die Plattformunabhängige Entwicklung bei mir wunderbar.
Und dann sag mir mal welche Standards gebrochen werden?
Einfach Behauptungen ohne zu untermauern in den Raum stellen ist schon sehr fragwürdig, also bitte belegen!


Original geschrieben von zeromancer

Ich mag Java sehr, nur die Server spielen nicht das, was sie sollen. Mehr als mich durch Dokumentationen welzen, Samples nachvollziehen und in den Adminkonsolen rumschrauben kann man wohl nicht. Und irgendwann ist der Frust deart groß, dass man diese "Errungenschaft" verteufelt und wieder back to the roots geht, die da einfach nur Perl und CGI heissen!

Schöne neue Welt :mad:
Komischerweise spielen bei mir die Server genau das was sie sollen.
Das kann vielleicht auch daran liegen das ich mich nicht nur durch Dokumentation welze, sondern diese komplett lese und mir Zeit dazu lasse. Ich gehe lieber ein Buch durch und lese etwas über den Lebenszyklus von Servlets als irgendwelche Samples nachzucoden. Rumschrauben in Adminkonsolen ist auch nicht mein Ding, ich konfiguriere lieber jene Eigenschafften die ich aufgrund meines angeeignetem Wissen sehr wohl verstehe und konfigurieren kann.

Ich habe kein Frust, und wenn ich merke das mich doch etwas frustet, dann poste ich nicht wild irgendwelchen Nonsense in ein Forum, sondern reagiere mich am Sofa oder sonstwas ab, und überlege dann was ich falsch gemacht habe.

Geh lieber wieder zurück zu Perl und CGI, denn etwas neues lernen scheint ja nicht gerade deine Stärke zu sein.
 
Ok, 2 Möglichkeiten:

1. Ich bin dafür einfach zu blöd - kann ja sein.
2. alle anderen sind intelligenter, weil bei denen immer alles läuft.

Nun die ehrliche Antwort von Euch bzw. Dir, Christian: wie lange hat es gedauert, BIS alles lief? Woher kommen die Infos? Welche Dokumentation? Das HMTL Zeug kann man nicht als solche bezeichnen.
Wäre nett, wenn Du mir eine Roadmap aufzeigen könntest, á la "wie komme ich zu meinem Environment" oder "totsichere Methode, ohne Kollaps J2EE zu machen".

Ich bin sowas von geladen, deswegen könnte es sein, dass einiges unsachlich klingt - wers nicht mag, liest nicht. Danke fürs lesen!

Wie Du aber vielleicht auch gesehen hast, ist es sehr wohl auch mir möglich, Dinge zu lernen - ich bringe andere schließlich auch etwas bei. Aber je komplexer eine Sache wird, desto mehr habe ich den Eindruck, als wenn alle, die damit etwas zu tun haben, absichtlich extra komplex und geheimnisvoll Dinge entwickeln, damit bloss niemand damit klarkommt - und das wurmt.
Ich setze auch Software ein, die sich nicht intuitiv bedienen lässt, habe da aber eine Doku, die man verstehen kann.

Es liegt zu 80% immer an dem, der davor sitzt - aber wenn Du nicht mal eine kleine Chance hast, das zu ändern, dann ist es frustend.

BTW: ich weiss, was ein DD ist, ich hatte 1 Woche J2EE bis zum Erbrechen. Die Deskriptoren sind alle korrekt, auf Server A läuft auch fast alles, bis aufs Caching (WebSphere). Das GLEICHE auf Server B läuft nicht -- die DDs werden anscheinend nicht verarbeitet. Usw.usw etc. pp.

Tut mir ein gefallen, und bleib bei Perl denn für Java hast du nicht die benötigte Geduld.

Da magst Du Recht haben, allerdings nicht in Bezug auf die Sprache, nur auf die Tools da fehlt mir wirklich etwas.
 
Zuletzt bearbeitet:
zeromancer hat gesagt.:
Wäre nett, wenn Du mir eine Roadmap aufzeigen könntest, á la "wie komme ich zu meinem Environment" oder "totsichere Methode, ohne Kollaps J2EE zu machen".

Lernen.

zeromancer hat gesagt.:
Ich bin sowas von geladen, deswegen könnte es sein, dass einiges unsachlich klingt - wers nicht mag, liest nicht. Danke fürs lesen!

Nein umgekehrt, wenn mann geladen ist dann kotzt mann sich nicht in einem Forum aus.
Zudem lese ich im Java Forum grundsätzlich alles, was u.a zu meinem Job als Mod/Admin gehört.


zeromancer hat gesagt.:
Wie Du aber vielleicht auch gesehen hast, ist es sehr wohl auch mir möglich, Dinge zu lernen - ich bringe andere schließlich auch etwas bei. Aber je komplexer eine Sache wird, desto mehr habe ich den Eindruck, als wenn alle, die damit etwas zu tun haben, absichtlich extra komplex und geheimnisvoll Dinge entwickeln, damit bloss niemand damit klarkommt - und das wurmt.

Nein umso komplexer einen eine Sache scheint, umso klarer sollte einem werden das mann sich nicht genügend in das Thema hineingearbeitet hat.


zeromancer hat gesagt.:
Ich setze auch Software ein, die sich nicht intuitiv bedienen lässt, habe da aber eine Doku, die man verstehen kann.
BTW: ich weiss, was ein DD ist, ich hatte 1 Woche J2EE bis zum Erbrechen. Die Deskriptoren sind alle korrekt, auf Server A läuft auch fast alles, bis aufs Caching (WebSphere). Das GLEICHE auf Server B läuft nicht -- die DDs werden anscheinend nicht verarbeitet. Usw.usw etc. pp.

In einer Woche kann mann kein J2EE lernen. Wenn die Weiterbildungsfirma deinen Chef das verkauft hat, so lässt sich dazu nur sagen:
Diese Consultingfirmen verdienen mit solchen Werbeaussagen Geld.

Da magst Du Recht haben, allerdings nicht in Bezug auf die Sprache, nur auf die Tools da fehlt mir wirklich etwas.

Tools, Tools ...
Ich schreibe wenn ich Eclipse nicht benutze (in Lernphasen) Servlets mit einem reinen Texteditor (emacs).
Zum lernen benötigt mann keine Tools, diese hindern einen nur das zu verstehen was wirklich wichtig ist.

Geh in den nächsten Fachbuchhandel, dort wirst du erschlagen von guten J2EE Büchern. Ich allein habe 10 J2EE Bücher im Regal stehen, die alle sehr hervorragend gewesen sind.

Mit irgendwelchen Online Dokus - Sprachdefinitionen sich rumzuplagen sollte mann erst dann machen wenn in diesem Gebiet diese Doku auf fundiertes Backgroundwissen aufgreifen kann.
 
Warum kommt es mir so vor, als würdest auch Du von vorherein dazu neigen, Dinge (oder Menschen) vorzuverurteilen, in dem Punkt scheinen wir uns ähnlich zu sein :)

Nun mal wieder back²topic:

Du sprichst von Büchern: auch wenn es gegen jede Regel ist, aber könntest Du eines von diesen 10 Büchern auch empfehlen?
Ich habe absolut nichts dagegen, einen Editor zu verwenden - ehrlich gesagt gefiel mir das gehacke mit Notepad und dem reinen JDK sowieso immer am besten.

Um es nochmal klar zu sagen:

Ich verurteile nur folgenden Sachverhalt:
Ich habe hier Software im Einsatz, für ein Endkunde eine Lizenzgebühr von mind. 120.000 $ berappen darf, da man WebSphere nur als 400-User Lizenz erhält (pro Kopf dann 300 $). Ich erwarte einfach von so einem Produkt, dass es schmerzfrei anwendbar ist. Ich habe diese Software, weil meine Firma IBM Business Partner ist und wir diese zu Schulungszwecken verwenden dürfen. Da erwarte ich eine gewisse Zuverlässigkeit - aber wenn dieses Produkt nicht mal Änderungen am Code umsetzt, dann weiss ich auch nicht, was man damit anfangen soll.
Ich habe diese Woche versucht, mit kostenlosen Mitteln das gleiche zu bewerkstelligen - es ist mir aber nicht gelungen.
Ich habe den Sun ONE und Tomcat verwendet, beide verhalten sich in etwa gleich (gleiche Fehlermeldungen etc.). Als Editor natürlich Eclipse, denn es gefällt mir an sich gut, obwohl bei mir dort auch wieder als einzigstem Erdenmenschen wieder nicht alles zu funktionieren scheint, denn Plugins werden einfach ignoriert.
Die Server machen nicht das, was sie sollen und auch die wiederholte Neuinstallation des J2EE von Sun brachte nichts (ich dachte, daran läge es, denn es waren bis dato 3 verschiedene installiert: Sun ONE, J2EE 1.4 extra, DB2 bringt auch noch eines mit).

Wenn man sich diesen Overhead betrachtet und bedenkt, dass alle Programme extreme Anforderungen an die Technik stellen, dann muss einfach der Gedanke in mir wachsen, dass dies alles nur noch Marketing-Gag ist, was es sicher nicht sein soll.

Als Basis für meine "Tests" diente eine Schulungsunterlage der IBM, in der alles beschrieben ist - es sind auch keine wilden Dinge, die ich hier tun will, ich will nur die Beispiele der Schulung noch einmal nachvollziehen können - und selbst das ist mir nicht vergönnt.

Meine Wunschkonfigruation wäre die folgende, nur für den Fall, dass jemand doch noch Tipps hat, wie man ein funktionierendes Environment auf die Beine stellt und was man alles dazu braucht:

- Eclipse als IDE (welche Plugins?)
- Server Tomcat, weil er am wenigsten Resourcen verschlingt - Version ist egal

Und nun der Lesestoff: welches Werk vermittelt Wissen so, dass man es nachvollziehen kann? Ich bin kein Idiot, aber wenn ich sage, ich brauche eine Erklärung so, als wäre ich 6 Jahre alt, dann meine ich damit einen Stil, der nicht überkandidelt und/oder extra verwirrend ist. Das Thema ist schon konfus genug, da braucht man nicht noch einen oben drauf.

Merci
 

Neue Beiträge

Zurück