Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich blicke nicht mehr durch. :cry:
In meiner Anwendung nutzt die JSP Page eine Bean, die wiederrum einen Prozess bei mir auf dem Rechner startet. Nun blicke ich allerdings nicht durch das Verzeichnis Gewurschtel von tomcat durch.
In meinem Programm nutzt die Bean eine Datei (count.txt) um sich dort einen aktuellen Zählerstand herzuholen.
eshalb finde ich nach dem Aufruf meiner JSP plötzlich im $TOMCAT\bin Verzeichnis MEINE count.txt Datei wieder?? ???:L
Nutzt Tomcat das \bin Verzeichnis als temporäres Verzeichnis?
Kann ich nicht irgendwie festlegen welche Verzeichnisse meine Umgebung darstellen sollen?
in welchem Verzeichniss müsste ein Programm (*.exe) liegen, wenn es von einer Bean aufgerufen wird. Imselben wie die Bean oder im root Verzeichniss meiner JSP Anwendung?
Mal etwas zu meinem Programm:
Die JSP Page:
Code:
<%-- XPath Visualisierungs Tool / JSP Modul --%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<jsp:useBean id="xpathBeanobj" class="test.XPathBean"/>
<jsp:setProperty name="xpathBeanobj" property="*"/>
<html>
<head>
<title> Test </title>
</head>
<body>
<%
xpathBeanobj.serviceBean();
xpathBeanobj.writeFile();
%>
</body>
</html>
Wie man sieht liegt meine Bean im Paket "test".
Nun meine Bean:
Code:
package test;
import java.io.*;
public class XPathBean {
String countfilename = new String("count.txt");
String currentDir = new File("").getPath();
String tempDir = new String("\\temphtml");
int count;
String qry;
/** Creates a new instance of XPathBean */
public XPathBean(){
try{
BufferedReader readIn = new BufferedReader(new FileReader(countfilename));
String tempIn = readIn.readLine();
this.count = Integer.parseInt(tempIn);
readIn.close();
}catch(IOException e){ System.err.println(e); }
} // Ende des Konstruktors
public void setQry(String newqry){
this.qry = newqry;
} // Ende der Methode setQry
public String getQry(){
return this.qry;
} // Ende der Methode setQry
public void writeFile(){
try{
this.count++;
BufferedWriter writeOut = new BufferedWriter(new FileWriter(countfilename));
String tempString = new String();
tempString = Integer.toString(this.count);
Byte tempOut = new Byte(tempString);
writeOut.write(tempString);
writeOut.close();
}catch(IOException e){System.err.println(e);}
}
public void serviceBean(){
Runtime runtimeobj = Runtime.getRuntime(); //Aktuelle Umgebung laden
Process proc; // Neues Prozessobjekt
String execString = new String("msxsl.exe lit.xml style.xsl -o "+currentDir+tempDir+"\\out"+count+".html"+" selectedNodes='"+qry+"'");
try{
proc = runtimeobj.exec(execString);
}catch(IOException e){System.err.println(e);}
} // Ende der Methode serviceBean
} // Ende der Klasse XPathBean
So, in welchem Verzeichnis arbeitet Tomcat dann? Sprich müsste die .exe Datei im Verzeichnis der Bean liegen (\WEB-INF\classes\test) oder im root Verzeichnis oder wo?
Ich verstehe einfach nicht warum plötzlich im \bin Verzeichnis meine "count.txt" Datei steht. Tomcat hat einfach eine Kopie dieser Datei gemacht und dort hinterlegt und am Zählstand kann ich erkennen, dass die Bean auf DIESE \bin\count.txt Datei zugreift und nicht auf die gewünschte.
ich weiß das hört sich jetzt seltsam und faul an , doch könntest Du mir vielleicht einen Link auf DIESES Dokument geben? Wenn ich nach Dokus zum Tomcat suche, finde ich nur jede Menge kleine Dokus aber wahrscheinlich nicht DIE Doku.