-1

要使用小程序制作投票表单,我想知道我的小程序如何与 servlet 通信。该 servlet 旨在将结果写入服务器上的文本文件。我不知道我该怎么做。

4

3 回答 3

1

applet 和 servlet 是分开的。没有简单的方法可以使用魔法使这更容易。

servlet 是 Web 服务器中的一个片段,当对 Web 服务器上的正确 URL 发出 HTTP 请求时,它会被执行。因此,您需要向运行 servlet 的 Web 服务器上的正确 URL 发出 HTTP 请求。

这与您从 applet 执行任何其他 HTTP 请求的方式相同,这与您从独立应用程序执行 HTTP 请求的方式相同。

于 2012-06-24T07:25:22.833 回答
1

你可以用java.net.URLConnection这个。

假设您的 servlet 映射到的 URL 模式/myservlet并且您的小程序是从上下文根提供的,那么应该这样做:

InputStream servletResponse = new URL(getCodeBase(), "myservlet").openStream();
// ...

就这样。getCodeBase()继承自类Applet并动态返回小程序的代码库 URL(从那里下载小程序)。将servletResponse包含您写入response.getOutputStream()或写入response.getWriter()servlet 的任何内容。例如,只是一个“ok”字符串或一种易于解析的格式,如 XML 或 JSON。您可以在 GET 请求 URL 或 POST 请求正文中将请求参数作为查询字符串传递。

也可以看看:

于 2012-06-24T15:07:55.323 回答
0

好吧,您有几个用于小程序/servlet 通信的选项....

  • http 请求。(这可能是最简单的)。为此,您可以使用Apache HTTP 组件
  • 远程方法调用RMI。这可能比 http 请求更复杂,但这取决于您想要实现的目标。
  • 插座。(我认为 http 请求对于您的用例来说足够灵活,但以防万一)
  • javascript。您可以从您的applet 中调用一个javascript 函数,并让该javascript 函数通过ajax、websockets 等将信息提交给servlet。

当然还有许多其他选项,但这些都是一些想法,请记住,您可能需要签署您的小程序。

如果您的问题是关于如何写入文件,那么有很多教程。是一个很好的

于 2012-06-24T17:26:58.607 回答