gpt4 book ai didi

java - 在 applet-servlet 通信中传输多个参数

转载 作者:行者123 更新时间:2023-12-01 15:50:58 25 4
gpt4 key购买 nike

我正在实现一个小程序——servlet 通信。 applet 需要向 servlet 发送两个参数。我不确定我可以按照以下方式实现转移过程吗?如果不是,涉及多个参数的传递处理如何处理?谢谢。

小程序端:

// send data to the servlet
URLConnection con = getServletConnection(hostName);
OutputStream outstream = con.getOutputStream();
System.out.println("Send the first parameter");
ObjectOutputStream oos1 = new ObjectOutputStream(outstream);
oos1.writeObject(parameter1);
oos1.flush();
oos1.close();

System.out.println("Send the second parameter");
ObjectOutputStream oos2 = new ObjectOutputStream(outstream);
oos2.writeObject(parameter2);
oos2.flush();
oos2.close();

Servlet 端:

    InputStream in1 = request.getInputStream();
ObjectInputStream inputFromApplet = new ObjectInputStream(in1);
String receievedData1 = (String)inputFromApplet.readObject();

InputStream in2 = request.getInputStream();
ObjectInputStream inputFromApplet = new ObjectInputStream(in2);
String receievedData2 = (String)inputFromApplet.readObject();

最佳答案

为简单起见,您应该使用 HTTP GETPOST 参数(因为它们是字符串值)。

小程序端:

URL postURL = new URL("http://"+host+"/ServletPath");
HttpURLConnection conn = (HttpURLConnection) postURL.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.connect();

PrintWriter out = new PrintWriter(conn.getOutputStream());
out.write("param1="+URLEncoder.encode(parameter1)+"&param2="+URLEncoder.encode(parameter2));
out.flush();

可以通过 Applet 实例中的 getCodeBase().getHost() 获取主机。

Servlet 端:

void doPost(HttpServletRequest req, HttpServletResponse resp) {
String parameter1 = req.getParameter("param1");
String parameter2 = req.getParameter("param2");
}

关于java - 在 applet-servlet 通信中传输多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6053244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com