2010-07-21 116 views
0

我正在尝试用Java Applet创建一个新文件,但我不知道如何将此文件发送到浏览器的响应输出,例如任何典型的网页。Java Applet - 使用浏览器下载文件

使用Servlet很容易使用javax.servlet.http.HttpServletResponse,但这可能与一个小程序?

我试图做到这一点没有签署小程序或使用任何servlet。

+0

我不认为你的问题很清楚。你想知道如何让Applet进入Web浏览器或将文件导入正在运行的Applet中吗?或者是其他东西? – andrewmu 2010-07-21 10:34:28

回答

2

不要使用小程序这一点。去与Servlet。

为什么你想在applet中做这个?如果您不签名,它将永远无法写入任何内容,并且它只能通过一些Javascript API与浏览器通信,而不是直接发送文件。你可以在你的小程序完全使用Servlet结合的功能,并直接在浏览器中的任何相关网页:

AppletContext a = getAppletContext(); 
URL url = new URL(link_to_your_servlet); 
a.showDocument(url,"_blank"); 

,将打开浏览器一个新的窗口,并下载该文件。

+0

感谢您的回答。我会考虑它。 ;) – 2010-07-23 07:22:14

0

一个小程序基本上只是一个JAR文件,您将其放到Web服务器上,然后添加一个JNLP描述,以便浏览器知道该怎么做。将其视为一个复杂的HTML页面,因为它不会进入WEB-INF,但除了浏览器的其他文件(HTML,外部JavaScript,图像,CSS,...)

This article来自Oracle描述的步骤。

0

小应用程序可以从它来自的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!) 
} 
0

您可能或可能不希望使用LiveConnect修改当前页面的DOM。这取决于你正在产生什么。通常你会想在服务器上生成。