05. april 2004 - 15:02Der er
16 kommentarer og 1 løsning
Start et CGI script fra Applet
Hej Jeg har lavet en applet som indeholder et GUI. Jeg kunne godt tænke mig at der ved tryk på en knap(i appletens GUI)kunne startes et CGI script(.exe fil) Filen generer kun noget html. Og skal derfor bare 'startes'... (Det virker godt nok hvis filen kaldes fra en html side)
Jeg har prøvet følgende kode i Java: JButton k1 = new JButton("Error"); k1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { callCGI(); } }); public void callCGI() { try { String URL1 = new String(getCodeBase() + "cgi- bin/appletScript.exe"); URL cgiURL = new URL(URL1); URLConnection url = cgiURL.openConnection(); url.connect(); url.setUseCaches(false); } catch (MalformedURLException ex1) { } catch (IOException ex2) { } } Men det virker ikke! Nogen forslag??? Så ville jeg blive glad...
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det virker ikke, sådan forstået at den side som cgi'en skal genererer, den bliver ikke vist. Jeg vil gene have at cgi scriptet hentes/startes, og siden det generere vises i browseren. Jeg har testes cgi'en ved at lave en HTML form der kalder det og det virker godt nok. Men jeg vil gerne have min GUI programmering til at være i Java...
Jeg har afprøvet den kode du linkede til (stort set copy-paste), og der sker da lidt, jeg får en IOException... Ved ikke 100% hvad den betyder, stien er god nok... Udover det vises appletten, som den gjorde før jeg forsøgt at starte CGI'en.
Nej mit CGI script er ikke lavet til at bruge "felt1=value1&felt2=value2"; URL ser god nok ud: http://localhost/cgi-bin/appletScript.exe!!! Jeg fik følgende fejl fra exception.getMessage(): cannot write to a URLConnection if doOutput=false - call setDoOutput(true) Så jeg prøvede: url.setDoOutput(true); Det resulterede i at den skrev "http://localhost/cgi-bin/appletScript.exe" i Display.
Læg et svar, så du kan få point for dit store arbejde. Jeg har fået det til at virke ved at bruge: URL page = new URL(getCodeBase(), "cgi-bin/appletScript.exe"); getAppletContext().showDocument(page , "_self"); Men tak for indsatsen, om ikke andet er jeg blevet klogere...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.