Java Applet - 使用浏览器下载文件
我正在尝试用Java Applet创建一个新文件,但我不知道如何将此文件发送到浏览器的响应输出,例如任何典型的网页。Java Applet - 使用浏览器下载文件
使用Servlet很容易使用javax.servlet.http.HttpServletResponse
,但这可能与一个小程序?
我试图做到这一点没有签署小程序或使用任何servlet。
不要使用小程序这一点。去与Servlet。
为什么你想在applet中做这个?如果您不签名,它将永远无法写入任何内容,并且它只能通过一些Javascript API与浏览器通信,而不是直接发送文件。你可以在你的小程序完全使用Servlet结合的功能,并直接在浏览器中的任何相关网页:
AppletContext a = getAppletContext();
URL url = new URL(link_to_your_servlet);
a.showDocument(url,"_blank");
,将打开浏览器一个新的窗口,并下载该文件。
感谢您的回答。我会考虑它。 ;) – 2010-07-23 07:22:14
一个小程序基本上只是一个JAR文件,您将其放到Web服务器上,然后添加一个JNLP描述,以便浏览器知道该怎么做。将其视为一个复杂的HTML页面,因为它不会进入WEB-INF,但除了浏览器的其他文件(HTML,外部JavaScript,图像,CSS,...)
This article来自Oracle描述的步骤。
小应用程序可以从它来自的web服务器请求资源,例如,图片 - Applet.getImage()
或获取其他文件,像这样:
URL url = new URL("myfile.txt");
URLConnection uc = url.openConnection();
InputStream in = new BufferedInputStream(uc.getInputStream());
int d;
while ((c = in.read()) != -1) {
// do something with d (remember to cast to byte!)
}
您可能或可能不希望使用LiveConnect修改当前页面的DOM。这取决于你正在产生什么。通常你会想在服务器上生成。
我不认为你的问题很清楚。你想知道如何让Applet进入Web浏览器或将文件导入正在运行的Applet中吗?或者是其他东西? – andrewmu 2010-07-21 10:34:28