import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * @author  Christph Wimmer
 * @version 
 */

public class Check2 extends HttpServlet
{
    private PrintWriter out;
    private File f;
    
    public void doGet(HttpServletRequest req, HttpServletResponse resp)	throws ServletException, IOException
    {
        resp.setContentType("text/html");
        out=new PrintWriter(resp.getOutputStream());
        out.println("<h1>RESPONSE DES SERVLETS \"Check2\"</h1>");
        out.println("<i>Geben Sie hinter dem Aufruf von Check2 ein \"?\" und die Pfadangabe einer Datei oder eines Verzeichnisses an, das Sie untersuchen wollen.<br>");
        out.println("Geben Sie beispielsweise <br>\"Check2?/usr/local/httpd/htdocs/kunden/web81/webapps/serv-jsp/items\"<br> ein, um das f&uuml;r mich relevante Verzeichnis mit meinen Daten-Dateien (*.itm-Dateien) zu untersuchen.</i>");
        out.println("<br><br>");
        out.println("Der Befehl \"System.getProperty(\"user.dir\");\" liefert: ["+System.getProperty("user.dir")+"] (Das Working-Directory des Users)<br>");
        out.println("Der Befehl \"System.getProperty(\"user.home\");\" liefert: ["+System.getProperty("user.home")+"]<br>");
        out.println("Der Befehl \"System.getProperty(\"java.version\");\" liefert: ["+System.getProperty("java.version")+"]<br>");
        out.println("<br>");
        out.println("<br>");
        out.println("Der Query-String (Ihre Angabe nach dem \"?\" im Aufruf von Check2) lautet: ["+req.getQueryString()+"]<br>");
        out.println("<br>");
        try{
            f=new File(req.getQueryString());
            out.println("Es konnte ein java.io.File-Objekt (namens f) zu diesem Query-String erzeugt werden.<br>");
        }catch (Exception exc){
            out.println("Die Erzeugung eines java.io.File-Objekts zu diesem QueryString schlug fehl. - Die Fehlermeldung lautet:"+exc.getMessage()+"<br>");
        }
        try{
            out.println("Der Befehl \"f.toString();\" liefert: ["+f.toString()+"]<br>");
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }
        out.println("<br>");
        try{
            out.println("Der Befehl \"f.getAbsolutePath();\" liefert: ["+f.getAbsolutePath()+"]<br>");
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }
        try{
            out.println("Der Befehl \"f.getCanonicalPath();\" liefert: ["+f.getCanonicalPath()+"]<br>");
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }
        try{
            out.println("<br>");
            out.println("Der Befehl \"f.canRead();\" liefert: ["+f.canRead()+"]<br>");
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }
        try{
            out.println("<blink><b>Der Befehl \"f.canWrite()\" liefert: ["+f.canWrite()+"]</b></blink><br>");
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }

        
        try{
            out.println("<br>");
            out.println("Der Befehl \"f.isFile()\" liefert: ["+f.isFile()+"]<br>");
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }
        try{
            out.println("Der Befehl \"f.isDirectory()\" liefert: ["+f.isDirectory()+"]<br>");
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }
        try{
            if (f.isDirectory()){
                out.println("Das Directory f enthält folgende Dateien und Unter-Verzeichnisse<br>");
                String[] fs = f.list();
                for (int j=0; j<fs.length; j++)
                    out.println("["+fs[j]+"]<br>");
            }    
        }catch (Exception exc){
            out.println("Beim Aufruf einer Methode von f trat folgender Fehler auf:"+exc.getMessage()+"<br>");
        }
        out.close();
    }    
}
