Aus Java-Applets heraus in Dateien schreiben: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
K
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Java]]
 
 
[[Kategorie:Tutorials (Java)]]
 
[[Kategorie:Tutorials (Java)]]
 
[[Kategorie:PHP]]
 
[[Kategorie:PHP]]
[[Kategorie:Java-Codeschnipsel]]
+
[[Kategorie:Java Applets]]
 
[[Kategorie:PHP-Codeschnipsel]]
 
[[Kategorie:PHP-Codeschnipsel]]
  
Zeile 10: Zeile 9:
  
 
'''Der Java-Quellcode von applet.class:'''
 
'''Der Java-Quellcode von applet.class:'''
<code=java>
+
<syntaxhighlight lang="java">
 
import java.applet.*;
 
import java.applet.*;
 
import java.net.*;
 
import java.net.*;
Zeile 41: Zeile 40:
 
       String url = home.toString()+"php.php?var1="+tf.getText();
 
       String url = home.toString()+"php.php?var1="+tf.getText();
 
       getAppletContext().showDocument(new URL(url));
 
       getAppletContext().showDocument(new URL(url));
     } catch(Exception x) {}
+
     } catch(Exception x) {
 +
      System.err.println(x);
 +
    }
 
   }
 
   }
 
}
 
}
</code=java>
+
</syntaxhighlight>
  
 
'''Der PHP-Quellcode von php.php:'''
 
'''Der PHP-Quellcode von php.php:'''
<code=php>
+
<syntaxhighlight lang="php">
 
<APPLET CODE="Schreiben.class" WIDTH="600" HEIGHT="450">
 
<APPLET CODE="Schreiben.class" WIDTH="600" HEIGHT="450">
 
<?php
 
<?php
Zeile 55: Zeile 56:
 
   fclose($datei);
 
   fclose($datei);
 
?>
 
?>
</code=php>
+
</syntaxhighlight>
  
 
Im obigen Applet wird -
 
Im obigen Applet wird -
Zeile 61: Zeile 62:
 
- ein String erzeugt wo '''home''' in eine String geparst wird, der Name des PHP-Scripts angegeben wird, welches geladen werden soll, der Text aus dem Textfeld geholt und an die URL des PHP-Scripts angehängt.
 
- ein String erzeugt wo '''home''' in eine String geparst wird, der Name des PHP-Scripts angegeben wird, welches geladen werden soll, der Text aus dem Textfeld geholt und an die URL des PHP-Scripts angehängt.
  
Im PHP-Script werden die Variablen einfach mit der Methode <code>$HTTP_GET_VARS</code> reingeholt und könne dann weiter verarbeitet werden.
+
Im PHP-Script werden die Variablen einfach mit der Methode <code>$HTTP_GET_VARS</code> hineingeholt und können dann weiter verarbeitet werden.
  
 
So, hoffe das hilft irgend jemandem mal weiter  :D
 
So, hoffe das hilft irgend jemandem mal weiter  :D
  
 
--[[Benutzer:bullzEye|bullzEye]]
 
--[[Benutzer:bullzEye|bullzEye]]

Aktuelle Version vom 19. April 2020, 17:20 Uhr


Problem: Wie kann ich etwas von einem Applet aus (welches nicht signiert ist) in eine Datei schreiben?

Meine Lösung ( mit Anregung von Bleiglanz und Grizzly :D ) :

Der Java-Quellcode von applet.class:

import java.applet.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

public class Schreiben
extends Applet
implements ActionListener
{
  // Variablen
  private TextField tf;
  private Button bu;

  public void init() {
    setLayout(new BorderLayout());
    // Komponenten
    tf = new TextField();
    bu = new Button("schreiben");
    bu.addActionListener(this);

    this.add(tf, BorderLayout.CENTER);
    this.add(bu, BorderLayout.SOUTH);
  }

  // Ergeignisse
  public void actionPerformed(ActionEvent aevt) {
    try {
      URL home = getCodeBase();
      String url = home.toString()+"php.php?var1="+tf.getText();
      getAppletContext().showDocument(new URL(url));
    } catch(Exception x) {
      System.err.println(x);
    }
  }
}

Der PHP-Quellcode von php.php:

<APPLET CODE="Schreiben.class" WIDTH="600" HEIGHT="450">
<?php
  $var1 = $_GET['var1'];
  $datei = fopen("datei.txt", "a");
  fputs($datei, $var1);
  fclose($datei);
?>

Im obigen Applet wird - - mit URL home = getCodeBase(); das Verzeichnis des Applets herausgefunden. - ein String erzeugt wo home in eine String geparst wird, der Name des PHP-Scripts angegeben wird, welches geladen werden soll, der Text aus dem Textfeld geholt und an die URL des PHP-Scripts angehängt.

Im PHP-Script werden die Variablen einfach mit der Methode $HTTP_GET_VARS hineingeholt und können dann weiter verarbeitet werden.

So, hoffe das hilft irgend jemandem mal weiter :D

--bullzEye