java中applet与CGI的通信

java中applet与CGI的通信,java,applet,cgi,Java,Applet,Cgi,我有一个小程序,其start()代码如下: 和用java编写并编译为.exe的CGI(使用launch4j): 所以,我有一个错误: “java.io.UTFDataFormatException:字节0周围的输入格式不正确” 排队 字符串receivedString=din.readUTF() 我做错了什么?在如何发送数据方面存在一些问题,您的cgi程序需要从stdin(而不是args)读取数据,并且小程序已经失效。我在cgi中添加了从标准输入读取数据,但它不起作用。如果在CGI中只打印字符串

我有一个小程序,其start()代码如下:

和用java编写并编译为.exe的CGI(使用launch4j):

所以,我有一个错误:

“java.io.UTFDataFormatException:字节0周围的输入格式不正确”

排队

字符串receivedString=din.readUTF()


我做错了什么?

在如何发送数据方面存在一些问题,您的cgi程序需要从stdin(而不是args)读取数据,并且小程序已经失效。我在cgi中添加了从标准输入读取数据,但它不起作用。如果在CGI中只打印字符串,它甚至不起作用。可能是托管有问题(我只是把applet.class和CGi.exe放在了web的子文件夹(它是web项目)中。)PS。我知道applet已经死了,但我必须完成这个任务。PPS。对于服务器,我使用Tomcat7。
public void start() {
        try {
            URL cgiUrl = new URL("http://localhost:8080/cgi_lib/UsersCGI.exe?someText");
            URLConnection con = cgiUrl.openConnection();
            con.setDoOutput(true);
            con.setDoInput(true);
            OutputStream out = con.getOutputStream();
            DataInputStream din = new DataInputStream(con.getInputStream());
            DataOutputStream dout = new DataOutputStream(out);
            dout.writeUTF("Hello");
            String receivedString = din.readUTF();
            this.out=receivedString;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        catch (IOException ex){
            ex.printStackTrace();
        }
    }
    public class UsersCGI {
        public static void main(String[] args) {
            System.out.println(Arrays.toString(args));
        }
    }