要使用小程序制作投票表单,我想知道我的小程序如何与 servlet 通信。该 servlet 旨在将结果写入服务器上的文本文件。我不知道我该怎么做。
3 回答
applet 和 servlet 是分开的。没有简单的方法可以使用魔法使这更容易。
servlet 是 Web 服务器中的一个片段,当对 Web 服务器上的正确 URL 发出 HTTP 请求时,它会被执行。因此,您需要向运行 servlet 的 Web 服务器上的正确 URL 发出 HTTP 请求。
这与您从 applet 执行任何其他 HTTP 请求的方式相同,这与您从独立应用程序执行 HTTP 请求的方式相同。
你可以用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 请求正文中将请求参数作为查询字符串传递。
也可以看看:
好吧,您有几个用于小程序/servlet 通信的选项....
- http 请求。(这可能是最简单的)。为此,您可以使用Apache HTTP 组件
- 远程方法调用RMI。这可能比 http 请求更复杂,但这取决于您想要实现的目标。
- 插座。(我认为 http 请求对于您的用例来说足够灵活,但以防万一)
- javascript。您可以从您的applet 中调用一个javascript 函数,并让该javascript 函数通过ajax、websockets 等将信息提交给servlet。
当然还有许多其他选项,但这些都是一些想法,请记住,您可能需要签署您的小程序。
如果您的问题是关于如何写入文件,那么有很多教程。这是一个很好的