PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ServletRequest wird vom Server nicht erkannt



noob222
14.05.2007, 14:02
Hallo,

habe zwei Java-Datei aus einem Server geholt und diese Geändert. Beim Kompilieren der Datien über der Konsole (nachdem ich mich beim Server angemeldet habe) kriege ich eine Fehlermeldung:



package javax.servlet does not exist
import javax.servlet.ServletRequest;


hatte das Problem auch über Eclipse bekommen. Habe mir dann den servlet.jar runtergeladen. Auf dem Rechner hat Eclips mir die Fehlermeldung nicht mehr angezeigt.

Aber das Problem ist, das der Server die servlet.jar Datei nicht findet. Deswegen habe ich unter /usr/java/lib/ mal nachgeschaut und dort fehlte mein servlet.jar Datei. Jetzt habe ich es in den /usr/java/lib/ Ordner kopiert. Aber nach wie vor die gleiche Fehlermeldung.

Muss ich was anderes machen?

Bitte sehr um hilfe.

vielen dank

supersucker
14.05.2007, 14:07
Bei mir liegt die hier:



find /usr/ -name servlet.jar
/usr/share/java/servlet.jar


Und wir sprechen hier gerade von Tomcat, oder?

noob222
14.05.2007, 14:12
bei mir hier: :-)



finde /usr -name servlet.jar
/usr/j2sdk1.4.2_12/lib/servlet.jar


also, ich bin in servlets nicht der beste. aber wenn man servlets benutz dann laufen die doch meistens über tomcat oder?
und in der regel befindet sich auch der servlet.jar in dem order von TomCat-Common-lip nicht?

Hab jetzt gelesen, das man eventuell sein classpath definieren muss. In der Art:


javac -cp .:/usr/java/lib/servlet.jar MeinServlet.java


Kann das vielleicht weiterhelfen?
Wenn ja, kann ich diesen Befehl überall auf meiner Konsole ausführen oder muss ich im Verzeichnis


/usr/java/lib/

bzw wo mein "MeinServlet.java" ist, sein?

supersucker
14.05.2007, 14:27
Äh, kann es sein, das du das über Konsole / Eclipse oder was auch immer ausführen willst?

Servlets laufen nur in einem Servlet-Container! Die kannst du nicht so einfach ausführen.

Sprich, kurz was ändern, recompilen und dann erwarten das es funktioniert ist nicht.

Mach mal ein Hello-World Servlet-Tutorial (google!), dann weißt du was ich meine.

Ohne die Grundlagen ist hier jeder Versuch zum Scheitern verurteilt.


aber wenn man servlets benutz dann laufen die doch meistens über tomcat oder?

Nicht meistens, Servlets laufen __ausschließlich__ in einem Servlet-Container wie Tomcat.


javac -cp .:/usr/java/lib/servlet.jar MeinServlet.java

So etwas kann gar nicht klappen.

Wie schon gesagt, lies Tutorials und mach die einfachen Beispiele aus den Tutorials nach.

Ich kann dir das nicht mal eben so erklären, weil dann müsste ich hier einen 100-Seiten-Roman schreiben.

Und genau dafür gibt es schließlich massig Tutorials.

noob222
14.05.2007, 14:34
Zu der Beschreibung.

Habe die Javadateien aus dem Server geholt. Diese um ein paar Zeilen verändert. Dann über Fillzilla wieder hochgeladen.
Natürlich muss ich die Dateien ja auch kompilieren.
Habe die Dateien in dem Order kompiliert wo auch die anderen Java-Dateien für das Projekt drin sind.
Das ganze über Konsole(putty).

Und dann die Fehlermeldung

jetzt habe ich in dem Order wo meine Datei drin ist folgenden eingegeben:


javac -cp .:/usr/j2sdk1.4.2_12/lib/servlet.jar MeinServlet.java


und bekomme


javac: invalid flag: -cp
Usage: javac <options> <source files>
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
-g:{lines,vars,source} Generate only some debugging info
-nowarn Generate no warnings
-verbose Output messages about what the compiler is doing
-deprecation Output source locations where deprecated APIs are used
-classpath <path> Specify where to find user class files
-sourcepath <path> Specify where to find input source files
-bootclasspath <path> Override location of bootstrap class files
-extdirs <dirs> Override location of installed extensions
-d <directory> Specify where to place generated class files
-encoding <encoding> Specify character encoding used by source files
-source <release> Provide source compatibility with specified release
-target <release> Generate class files for specific VM version
-help Print a synopsis of standard options



Ich kann es halt nicht lokal auf meinem Rechner nicht kompilieren, weil er abhängig von andere Sachen von Server abängig ist.
PS: Arbeite unter einer Solaris 8 Maschine

Das ist die Beschreibung.

Habe ja auch schon früher mal bisschen an Servlet rumprobiert und hier und dort. Aber über Konsole halt zum ersten mal.

supersucker
14.05.2007, 14:37
Bitte lies dir noch meinen Edit durch, hab noch einiges hinzugefügt.

noob222
14.05.2007, 14:39
ok, habe es jetzt gelesen was du geschrieben hast (währendessen war ich selber naoch am schreiben)

dann muss ich mal halt bisschen googeln :rtfm:

noob222
21.05.2007, 14:04
hi,

mal noch ne kleine Frage.

bentuze die folgende java version:
java version "1.4.2_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_12-b03)
Java HotSpot(TM) Client VM (build 1.4.2_12-b03, mixed mode)


wie ich jetzt mittlerweile gelesen haben, brauche ich die JEE (also Java Enterprise Edition) um mein servlet.jar übergeben zu können.
Also reicht mein momentanter JRE Standard Edition für mein Problem nicht aus. verstehe ich das richtig?
muss ich jetzt JEE nachinstallieren oder kann man das problem andersweitig umgehen?

supersucker
21.05.2007, 14:08
Doch,

die JRE reicht aus.

noob222
21.05.2007, 14:19
hab mir auch einiges über tomcat und servlet durchgelesn.

aber ich verstehe nicht wo das problem ist.
die java datei, die ich geändert habe, hat vorher auch mit der gleichen version die servlet.jar akezptiert.
ich hab auch keine zusätzlichen imports vorgenommen.
warum klappt es dann nicht jetzt?

habe jetzt mal die ganzen daten vom server auf dem rechner kopiert und wollte es mit eclipse editieren und dann per tomcat starten.
es sind einige (viele) java dateien, die einige (auch viele) imports erwarten. nicht alle imports sind von java.
ich habe jetzt mit eclipse das problem, das die imports nicht erkannt werden, die zu der Software gehören, woran ich arbeite aber wiederum wird das ServletRequest.class schon gefunen und angenommen.

und auf dem Rechner ist auch die gleiche Version wie auf dem Server.

ich bin am verzweifeln.

habe über konsole meinem CLASSPATH auch den Pfad /usr/java/lib/servlet.jar übergeben. aber nach wie vor kein Ergebnis. :(

:hilfe2:


PS: das mit den Imports wird wohl meine blödheit sein, aber ich glaube ich kriege das gleich hin. :-) :-)