Du bist nicht angemeldet.

motja

Trainee

  • »motja« ist der Autor dieses Themas

Beiträge: 53

Registrierungsdatum: 08.11.2004

1

30.10.2007, 14:51

JavaServer Pages (JSP)

Hi,

ich arbeite jetzt an einem kleinem Projekt, das folgendes tun soll.
Es gibt eine .txt Datei, die von .jsp unter verwendung von JavaBeans eingelesen wird. Als Ergebnis soll eine html-Seite erscheinen, die an bestimmten Stellen die eingelesene Textstellen aus der .txt Datei hat.
Entwicklungsumgebung ist NetBeans 5.5.1.

Wenn ich nur die Java-Klasse compiliere (main-Methode schreibe ich extra rein, sonst gehört sie nicht dazu), dann wird mir auf der Konsole die Ausgabe richtig angezeigt, d.h. die .txt Datei wird eingelesen.
Wenn ich aber das Projekt laufen lasse, dann wird mir angezeigt, dass die .txt Datei nicht gefunden wird.

hier ist der Ausschnitt aus der Java-Klasse:

public String processRequest() {

String textString = null;
File file = new File("list.txt");

try {
// reader oeffnen
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);


Der File list.txt wird nicht gefunden egal wohin ich es packe ;)
Ich vermute, dass in web.xml etwas angepasst werden soll, nur weis ich nicht genau was un dan welcher Stelle.

würde mich freuen, wenn mir jemand bei der Sache hilft.

motja

Trainee

  • »motja« ist der Autor dieses Themas

Beiträge: 53

Registrierungsdatum: 08.11.2004

2

31.10.2007, 16:16

ich habe jetzt die Datei direkt auf C:// gespeichert um auszuprobieren, ob sie gefunden wird, wenn ich den absoluten Pfad angebe. Und das funktioniert.
Wenn ich jetzt das Projekt im NetBeans laufen lasse, funktioniert alles.
Habe ich Sachen auf dem Server gespeichert und rufe die index.jsp auf so werden die scripting nicht ausgewertet, sondern auf der Seite als Text ausgegeben.
Woran kann nun das liegen?

hyperion

Erfahrener Schreiberling

  • »hyperion« ist männlich

Beiträge: 422

Registrierungsdatum: 08.10.2004

3

31.10.2007, 17:57

Habe ich Sachen auf dem Server gespeichert und rufe die index.jsp auf so werden die scripting nicht ausgewertet, sondern auf der Seite als Text ausgegeben.
Woran kann nun das liegen?


Also, wenn Du per Browser auf die Seite gehst, dann kommt nicht Deine HTML Seite, sondern der Quelltext? Das liegt daran, dass der Server die Seite nicht interpretiert. Du musst nun den Server richtig einstellen. Wie, wo und was sollte bei der Serverhilfe, sowie bei dem Interpreter stehen.
"Der Klügere gibt nach! Eine traurige Wahrheit, sie begründet die Weltherrschaft der Dummheit." --Marie von Ebner-Eschenbach

migu

free rider

  • »migu« ist männlich

Beiträge: 2 643

Registrierungsdatum: 11.12.2001

Beruf: Developer

4

04.11.2007, 00:53

Versuche es doch einmal mit dem ResourceLoader:

Quellcode

1
2
InputStream inputStream = this.getClass().getResourceAsStream("file");
BufferedReader breader = new BufferedReader(new InputStreamReader(inputStream));

Genaueres steht in der Dokumentation zu Class.getResourceAsStream().
tar: Anlegen eines leeren Archivs wird feige verweigert.

migu

free rider

  • »migu« ist männlich

Beiträge: 2 643

Registrierungsdatum: 11.12.2001

Beruf: Developer

5

04.11.2007, 01:00

ich habe jetzt die Datei direkt auf C:// gespeichert um auszuprobieren, ob sie gefunden wird, wenn ich den absoluten Pfad angebe. Und das funktioniert.
In Webanwendungen ist das keine gute Vorgehensweise. Wenn du die Webanwendung als WAR-Archiv auf einem Server deployst, dann kannst du keine Dateien außerhalb dieser Datei ablegen. Außerdem weißt du nicht, ob der Server überhaupt Laufwerke hat oder welche. (Siehe auch mein Hinweis oben zu getResourceAsStream().)

Zitat

Wenn ich jetzt das Projekt im NetBeans laufen lasse, funktioniert alles.
Habe ich Sachen auf dem Server gespeichert und rufe die index.jsp auf so werden die scripting nicht ausgewertet, sondern auf der Seite als Text ausgegeben.
Woran kann nun das liegen?
Welche Servlet/JSP-Engine benutzt du denn? Wo hast du die index.jsp gespeichert? Hast du eine Webanwendung für den Server konfiguriert? Wie?
tar: Anlegen eines leeren Archivs wird feige verweigert.

motja

Trainee

  • »motja« ist der Autor dieses Themas

Beiträge: 53

Registrierungsdatum: 08.11.2004

6

05.11.2007, 16:27

ich habe die Anwendung als WAR auf den Apache Tomcat deployt und die list.txt in demselben Verzeichnis plaziert, auf die ich dann über File file = new File("/var/lib/tomcat5/webapps/ROOT/text/list.txt") zugreife. das funktioniert, nur wollte ich die Datei im WAR drin haben.besser gesagt, die Datei habe ich auch in WAR, nur wenn ich den Pfad zu der Datei angebe, funktioniert alles wieder nicht.

migu

free rider

  • »migu« ist männlich

Beiträge: 2 643

Registrierungsdatum: 11.12.2001

Beruf: Developer

7

13.11.2007, 13:11

ich habe die Anwendung als WAR auf den Apache Tomcat deployt und die list.txt in demselben Verzeichnis plaziert, auf die ich dann über File file = new File("/var/lib/tomcat5/webapps/ROOT/text/list.txt") zugreife. das funktioniert, nur wollte ich die Datei im WAR drin haben.besser gesagt, die Datei habe ich auch in WAR, nur wenn ich den Pfad zu der Datei angebe, funktioniert alles wieder nicht.
Wenn du eine Datei im WAR/JAR/whatever öffnen willst, musst du so vorgehen, wie ich es oben beschrieben habe. Falls du dazu noch Fragen hast, melde dich hier einfach noch mal zu Wort. :)
tar: Anlegen eines leeren Archivs wird feige verweigert.