|
|
Mit Servlets auf eine Datei zugreifen ???
Thorsten, 27.09.2001 09:38:32
Ich habe verschiedene Servlets programmiert über die dann auch eine Netzwerkverbindung zu einem anderen Rechner aufgebaut wird. Rechnername und Portnummer sind bisher hart codiert. Jetzt wollte ich das ganz etwas komfortabler gestalten und den Namen sowie die Portnummer in einer Textdatei auf dem Server ablegen.
Zu diesem Zweck habe ich mir eine einfache Javaklasse (A) geschrieben, die die Daten aus der Datei holt. Das Testprogramm dazu funktioniert einwandfrei !
Danach habe ich eine Instanz der Klasse A in meinem Servlet angelegt, um dann mit den Methoden der Klasse A auf die Datei zuzugreifen. Dies führt leider zu einer FilenotfoundException :-(
Offensichtlich funktioniert das so nicht. Hat jemand einen Tipp für mich ?
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Mit Servlets auf eine Datei zugreifen ???
Thorsten, 27.09.2001 10:01:29
Entwarnung ! Da habe ich die Mitteilung etwas zu früh geschrieben. Ich habe jetzt einfach anstatt aus der Datei zu lesen, eine andere Datei neu angelegt und dann nach ihr gesucht. Dia Datei wurde im Verzsichnis /tomcat/bin angelegt. Das erscheint mir zwar seltsam, aber jetzt funktionierts ! :-)
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Re: Mit Servlets auf eine Datei zugreifen ???
shark, 27.09.2001 12:11:06
Hallo Thorsten,
Deine Lösung gefällt mir nicht zu 100%...
Webspezifische Parameter für Servlets und JSP's
plaziert man standardmäßig in der Datei: "web.xml".
Für Deine Anwendung sollte in der "web.xml" folgendes stehen:
<context-param>
<param-name>PortNummer</param-name>
<param-value>7001</param-value>
<context-param>
</context-param>
<param-name>ServerName</param-name>
<param-value>WebHost</param-value>
</context-param>
Von Deinem Servlet aus gesehen, greifst Du folgendermassen auf die Datei "web.xml" zu:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
// Beispiel (lesen der Parameter aus "web.xml")
public class MyServlet extends HttpServlet
{
// Attribute für Init-Parameter aus "web.xml"
String strPortnummer;
String strServerName;
// Servlet Init-Methode
public void init()
{
// Kontext ermitteln
ServletContext context = getServletContext();
// Portnummer aus "web.xml" lesen
strPortnummer = context.getInitParameter("PortNummer");
// Servername aus "web.xml" lesen
strServerName = context.getInitParameter("ServerName");
}
}
ciao Jörg
ps: Deine applikationsspezifische "web.xml" liegt im Verzeichnis /webapps/<deine-applikation>/Web-inf/
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Re: Re: Mit Servlets auf eine Datei zugreifen ???
Thorsten, 27.09.2001 14:02:42
Voll danke !
Da wär ich von alleine nicht drauf gekommen ! Diese Lösung ist sicher viel eleganter als meine und außerdem kann ich bei mir eine Klasse aus dem Modell streichen :-))
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Re: Re: Re: Mit Servlets auf eine Datei zugreifen ???
Thorsten, 29.10.2001 12:22:29
Hallo,
ich habe Deinen Tipp erst heute ausprobiert. Für meine Applikationen benutze ich die Standardverzeichnisse, habe dann die Datei /tomcat/webapps/examplesWeb-inf/web.xml editiert und Tomcat neu gestartet. Leider bringt er jetzt einen Fehler beim Starten von Tomcat! Aber ich bin mir sicher das meine Eingabe stimmt:
<context-param>
<param-name>dbServerName</param-name>
<param-value>csstar</param-value>
</context-param>
Wenn ich auf dbServerName zugreife, hat es den Wert null :-(
Weiss jemand Rat ?
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Re: Re: Re: Re: Re: Mit Servlets auf eine Datei zugreifen ???
Thorsten, 29.10.2001 18:05:09
Sorry zu früh gefragt. Mittlerweile funktioniert es :-) Offensichtlich darf man context-param nicht nach den Servlets definieren.
Zum Antworten auf einen Beitrag müssen Sie registriert und angemeldet sein.
|
Legende: Anonymer User registrierter User sehr aktiver User
|
|
Hinweis: Auf dieser Seite liegen Links zu anderen Seiten im Internet. Für alle diese Links gilt: Wir
betonen ausdrücklich, daß wir keinerlei Einfluß auf die Gestaltung und die Inhalte der gelinkten Seiten
haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf
dieser Homepage und machen uns ihre Inhalte nicht zueigen. Diese Erklärung gilt für alle auf unserer
Homepage angebrachten Links
Redaktion/Betreiber von JSP-Develop übernehmen keinerlei Gewährleistung und Verantwortung für die Richtig-
und/oder Vollständigkeit von den auf den Webseiten JSP-Develop veröffentlichten Source Codes.
Die Verantwortung der Verwendung/Anwendung sowie etwaige Modifikation der hier veröffentlichten Sourcen
obliegt einzig dem Benutzer der Webseite, welche die veröffentlichten Sourcen in einer Applikation/Anwendung
einsetzt. Durch das Kopieren und/oder Benutzen der Sourcen in einer Applikation/Anwendung
bzw. etwaigen Abschriften wird dieser Rechtshinweis anerkannt.
Java, JSP, JavaServer Pages, J2EE, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries.
IBM, WebSphere are trademarks or registered trademarks of International Business Machines Corporation.
Other trademarks and registered trademarks are the property of their respective owners.
|
|
|
|