Quiero mandar datos POST hacia un archivo php en mi servidor (ej nombre=pepe&[email protected]&edad=23&ocupaci on=estudiante), de manera que pueda leer esas variables en el archivo php del modo $_POST['nombre'];, etc.
Asique invstigando en la web me encontre con el siguiente script:
Tengo lo siguiente:
En un archivo htm coloque el siguiente applet:
Código HTML:
<HTML> <HEAD> <TITLE> HTML Test Page </TITLE> </HEAD> <BODY> <applet code="PostXml.class" width=170 height=150> </applet> </BODY> </HTML>
Código:
El archivo index.php tiene lo siguienteimport java.net.*;
import java.io.*;
public class PostXml {
public static void main(String[] args) {
try {
// Construct data BR> String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
String data = "&nombre=jorge";
// Send data
URL url = new URL("http://localhost:80/java/index.php");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) System.out.println(line);
wr.close();
rd.close();
} catch (Exception e) {
}
}
}
Código PHP:
<?php
echo $_POST['nombre'];
echo 'preba';
?> Hasta ahi todo muy lindo. Lo que quiero hacer es que el enviar los datos me escriba en la pantallita del applet lo que envie (es decir el nombre + prueba).
El problema es que al ejecutar el archivo htm, me devuelve el siguiente error:
Código:
Y no tengo ni idea como solucionarlo.Java Plug-in 1.6.0_21 Using JRE version 1.6.0_21-b07 Java HotSpot(TM) Client VM User home directory = C:\Documents and Settings\Jose ---------------------------------------------------- c: clear console window f: finalize objects on finalization queue g: garbage collect h: display this help message l: dump classloader list m: print memory usage o: trigger logging q: hide console r: reload policy configuration s: dump system and deployment properties t: dump thread list v: dump thread stack x: clear classloader cache 0-5: set trace level to <n> ---------------------------------------------------- java.lang.reflect.InvocationTargetException at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source) at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassCastException: PostXml cannot be cast to java.applet.Applet at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Exception: java.lang.reflect.InvocationTargetException
Ejecuandolo desde Netbeans como una applicacion java (es decir: File/New Project/Java/Java Application) me devuelve el nombre + prueba, es decir funciona correctamente, pero no es una Java Application lo que yo quiero hacer. Mi intencion es agregarlo en una pagina web y es en la pagina web donde me sale el error.
Alguien me podria ayudar.
Desde ya muchas gracias.



