Hallo Leutz,
Ich möchte, dass mein Programm folgendes aus der Textdatei ausliest:
<VirtualHost 192.168.86.103:80>
Den ServerName my.test.de
Den DocumentRoot /tmp
Den ProxyPass / http://backend-server:443/bla/
<VirtualHost 192.168.86.105:80>
Den ServerName my.test2.de
Den DocumentRoot /tmp
Den ProxyPass / http://backend-server:443/bla/
Sprich für jeden VirtualHost Block will ich die 3 Informationen ausgelesen bekommen.
Jeder "Bock" fängt an mit <VirtualHost 192.168.86.103:80> und endet mit </VirtualHost>.
Zu meinem Code:
Ich bin einfach hingegangen, habe versucht die VirtualHost Informationen auszulesen und einem
String zuzuweisen.
Dann geh ich hin, und lese die Daten ServerName, DocumentRoot und ProxyPass aus, und weise
Sie auch zu Variablen hinzu.
Mein Problem ist, mein Programm zeigt einfach nichts an?!
Ich habe zum testen den String Variablen den Wert "a" gegeben, damit Ich sehe falls eine falsche Zuweisung passiert ist ich überhaupt was ausgegeben bekomme.
Aber ich kriege einfach garnichts ausgegeben.
So sieht die textdatei aus:
<VirtualHost 192.168.86.103:80>
ServerName my.test.de
ServerAlias 192.168.86.103
ServerAdmin soc.ce@test.com
DocumentRoot /tmp
ErrorLog /data/root_ww/logs/my.grohe.de/error_log
CustomLog /data/root_www/logs/my.grohe.de/access_log combined
# dibale HTTP Trace method
RewriteEingine on
RewriteLog /data/root_www/logs/my.grohe.de/rewrite.log
RewriteCond %{REQUEST_METHOD} !^(GET|POST|PUT|HEAD)$
RewriteRule .* - [F]
ProxyPass / http://backend-server:443/bla/
ProxyPassReverse / http://backend-server:443/bla/
<Proxy *>
order deny,allow
allow from all
</Proxy>
<LocationMatch ".">
order deny, allow
Allow from 193.34.68.165
Allow from 80.66.22.105
Allow from 213.31.212.151
deny from all
</LocationMatch>
</VirtualHost>
<VirtualHost 192.168.86.105:80>
ServerName my.test2.de
ServerAlias 192.168.86.103
ServerAdmin soc.ce@test.com
DocumentRoot /tmp
ErrorLog /data/root_ww/logs/my.grohe.de/error_log
CustomLog /data/root_www/logs/my.grohe.de/access_log combined
# dibale HTTP Trace method
RewriteEingine on
RewriteLog /data/root_www/logs/my.grohe.de/rewrite.log
RewriteCond %{REQUEST_METHOD} !^(GET|POST|PUT|HEAD)$
RewriteRule .* - [F]
ProxyPass / http://backend-server:443/bla/
ProxyPassReverse / http://backend-server:443/bla/
<Proxy *>
order deny,allow
allow from all
</Proxy>
<LocationMatch ".">
order deny, allow
Allow from 193.34.68.165
Allow from 80.66.22.105
Allow from 213.31.212.151
deny from all
</LocationMatch>
</VirtualHost>
Hier meine Klassen:
Ich möchte, dass mein Programm folgendes aus der Textdatei ausliest:
<VirtualHost 192.168.86.103:80>
Den ServerName my.test.de
Den DocumentRoot /tmp
Den ProxyPass / http://backend-server:443/bla/
<VirtualHost 192.168.86.105:80>
Den ServerName my.test2.de
Den DocumentRoot /tmp
Den ProxyPass / http://backend-server:443/bla/
Sprich für jeden VirtualHost Block will ich die 3 Informationen ausgelesen bekommen.
Jeder "Bock" fängt an mit <VirtualHost 192.168.86.103:80> und endet mit </VirtualHost>.
Zu meinem Code:
Ich bin einfach hingegangen, habe versucht die VirtualHost Informationen auszulesen und einem
String zuzuweisen.
Dann geh ich hin, und lese die Daten ServerName, DocumentRoot und ProxyPass aus, und weise
Sie auch zu Variablen hinzu.
Mein Problem ist, mein Programm zeigt einfach nichts an?!
Ich habe zum testen den String Variablen den Wert "a" gegeben, damit Ich sehe falls eine falsche Zuweisung passiert ist ich überhaupt was ausgegeben bekomme.
Aber ich kriege einfach garnichts ausgegeben.
So sieht die textdatei aus:
<VirtualHost 192.168.86.103:80>
ServerName my.test.de
ServerAlias 192.168.86.103
ServerAdmin soc.ce@test.com
DocumentRoot /tmp
ErrorLog /data/root_ww/logs/my.grohe.de/error_log
CustomLog /data/root_www/logs/my.grohe.de/access_log combined
# dibale HTTP Trace method
RewriteEingine on
RewriteLog /data/root_www/logs/my.grohe.de/rewrite.log
RewriteCond %{REQUEST_METHOD} !^(GET|POST|PUT|HEAD)$
RewriteRule .* - [F]
ProxyPass / http://backend-server:443/bla/
ProxyPassReverse / http://backend-server:443/bla/
<Proxy *>
order deny,allow
allow from all
</Proxy>
<LocationMatch ".">
order deny, allow
Allow from 193.34.68.165
Allow from 80.66.22.105
Allow from 213.31.212.151
deny from all
</LocationMatch>
</VirtualHost>
<VirtualHost 192.168.86.105:80>
ServerName my.test2.de
ServerAlias 192.168.86.103
ServerAdmin soc.ce@test.com
DocumentRoot /tmp
ErrorLog /data/root_ww/logs/my.grohe.de/error_log
CustomLog /data/root_www/logs/my.grohe.de/access_log combined
# dibale HTTP Trace method
RewriteEingine on
RewriteLog /data/root_www/logs/my.grohe.de/rewrite.log
RewriteCond %{REQUEST_METHOD} !^(GET|POST|PUT|HEAD)$
RewriteRule .* - [F]
ProxyPass / http://backend-server:443/bla/
ProxyPassReverse / http://backend-server:443/bla/
<Proxy *>
order deny,allow
allow from all
</Proxy>
<LocationMatch ".">
order deny, allow
Allow from 193.34.68.165
Allow from 80.66.22.105
Allow from 213.31.212.151
deny from all
</LocationMatch>
</VirtualHost>
Hier meine Klassen:
Java:
import java.io.BufferedReader;
import java.io.FileReader;
public class Start {
public static void main(String[] args)
{
String zeile;
Datenzugriff confdatei = new Datenzugriff("C:\\Users\\taltinta\\Desktop\\my.website.de.conf", "r");
String serverSuchraum[] = {};
int i = 0;
int count = 1;
if (confdatei.oeffneZumLesen()== true)
{
zeile = confdatei.liesZeile();
while(zeile != null)
{
//Ließt die Zeilen solange ein, biss er VirtualHost trifft und speichert es in ein Array
count++;
if (zeile.startsWith("<VirtualHost ")) {
int zeilennr = count;
serverSuchraum[i] = zeile;
System.out.println(serverSuchraum);
i++;
}
}
//Zum testen habe ich den Variablen einfach Werte zugewiesen
String serverName = "a";
String verzeichnis = "a";
String proxy = "a";
do {
zeile = confdatei.liesZeile();
if(zeile.startsWith("ServerName")) {
serverName = zeile;
}
if(zeile.startsWith("DocumentRoot")) {
verzeichnis = zeile;
}
if(zeile.startsWith("ProxyPass")) {
proxy = zeile;
}
//Alle Daten zum 1. VirtualHost werden ausgelesen
//Ausgabe der Daten
System.out.println("ServerName: " + serverName + "\n");
System.out.println("Verzeichnis: " + verzeichnis + "\n");
System.out.println("Proxy: " + proxy + "\n");
System.out.println("\n\n");
}while(zeile.startsWith("</VirtualHost>"));
}
}
}
Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Datenzugriff
{
String dateiname;
String modus;
BufferedReader br;
public Datenzugriff(String name, String modus)
{
this.dateiname=name;
this.modus=modus;
}
public boolean oeffneZumLesen()
{
try
{
//Die Datei ließt nur die Daten! Keine Änderungen werden vorgenommen
if (modus.equals("r"))
{
FileReader fr = new FileReader(dateiname);
br = new BufferedReader(fr);
}
}
catch (IOException ex)
{
System.out.println("Fehler beim Öffnen zum Lesen");
return false;
}
return true;
}
//Liest eine Zeile ein und gibt diese zurück
public String liesZeile()
{
String zeile = "";
try
{
zeile = br.readLine();
}
catch (IOException e)
{
System.out.println("Fehler beim lesen");
}
return zeile;
}
//Schließt den Stream zum Zugriff auf die Datei
public void schliesse()
{
try
{
br.close();
}
catch (IOException e)
{
System.err.println("Fehler beim lesen");
}
}
}
Java:
public class Suche {
String suchwort;
Suche(String suchwort) {
this.suchwort = suchwort;
//durchsuche(suchwort);
}
public String durchsuche()
{
String ausgabe = "";
if(this.suchwort.contains(suchwort)) {
ausgabe = suchwort;
}
else {
System.out.println("Nicht vorhanden");
}
return ausgabe;
}
}