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.