我有以下简单的嵌入小程序html页面:
<html>
<applet code="WelcomeApplet.class" archive="WelcomeApplet.jar" width=300 height=30>
</applet>
</html>
如果我调用此页面(即地址为"http://192.168.0.2/WelcomeApplet.html
"(,小程序在浏览器中正确显示。
我应该只通过servlet调用这个页面,因为不应该显示url页面,所以在doGet
servlet方法中插入以下代码:
URL url = new URL("http://192.168.0.2/WelcomeApplet.html");
URLConnection conn = url.openConnection();
conn.setRequestProperty("Content-Language", "en-US");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setAllowUserInteraction(true);
BufferedInputStream buffer = new BufferedInputStream(conn.getInputStream());
StringBuilder builder = new StringBuilder();
int byteRead;
while ((byteRead = buffer.read()) != -1)
builder.append((char) byteRead);
buffer.close();
out.write(builder.toString());
一切都很好,解析的html与上面相同,但没有显示小程序,JVM报告:"WelcomeApplet.class not found
">
这看起来不是一个安全问题,而是一个实现问题(我想(。
知道吗?
感谢
code
属性应该命名Java类,而不是文件。(JAR文件由archive
属性命名。(因此,假设code
属性在默认名称空间中,则其值应仅为WelcomeApplet
。