为什么applet具有如此低的采用率,例如与Flash相比?是因为它们是技术上的缺点,还是仅仅是受欢迎的问题?
案例:我正在维护一个Java applet,它使用BouncyCastle库bcpkix-jdk15on-149.jar和bcprov-jdk15on-149.jar.
问题是applet是否在支持JRE版本7_u40的浏览器上运行.
该行为已从版本7_u25更改为始终提示模式窗口,如"使用自签名证书的应用程序的安全提示"(不能再永久隐藏),只是为了信任bcprov.
https://www.java.com/en/download/help/appsecuritydialogs.xml
据我所知,这是因为BC库是使用"JCE Code Signing CA"颁发的BouncyCastle证书签名的.因此,lib可以执行并充当加密提供程序.
但是:JRE无法构建证书链以信任签名.它显示"提供者:UNKNOWN"
我知道我可以删除该签名并自行签名(我拥有Thawte代码签名证书):
我对吗?我能做什么?
PS:我搜索了很多东西来找到JCA根证书(将它放入JRE信任库),没有成功......有没有办法获取根CA?
我正在拼命地将一个正在运行的散景小程序嵌入到烧瓶中,并且找不到合适的方法来执行此操作.我查看了所有示例,但我找不到一个包含更新数据的能力(最好的例子:sliders_applet).
如果我没弄错的话,我确实需要散景服务器才能更改数据(使用滑块等).以这种方式启动applet,例如:
bokeh-server --script sliders_app.py
Run Code Online (Sandbox Code Playgroud)
但我找不到合适的,或者至少是一种将sliders_app嵌入烧瓶的工作方式.由于应该可以使用多个applet,因此在散景服务器启动时指定一个小程序似乎并不干净.
我很乐意感谢任何帮助 - 散景看起来对我来说是一个很棒的工具.
JavaFX现在已经出局,并且有些承诺Swing将与JavaFX一起改进.丑陋的默认UI时代已经过去,最后我们可以创建与Flash,Air和Silverlight相媲美的引人入胜的应用程序.
这是否意味着从1990年代开始的Java Applets已经死了,不值得回去?
与Java Desktop相同:Java开发人员使用它而不是JavaFX会有什么吸引力?
我有一个Applet,它使用URLConnection通过http连接加载图像.我为所有连接设置setUseCaches(true),但仍然没有看到任何缓存行为.我的图像的HTTP标头具有合理的缓存设置.如果你看一下bug 4528599,就会有这个相当神秘的陈述:
Java Plug-In的当前版本(1.3.1)仅检查浏览器缓存中名称以.jar或.class结尾的文件.有人告诉我,对于Java Plug-In 1.4,将检查浏览器缓存的以下文件类型:.class,.jar,.zip,.jpg,.gif,.wav,.au.
当然,这被标记为1.6的固定,但即使在1.6以下,我也看不到任何缓存.我的图像是PNG文件,在某些情况下,实际上并不以.png扩展名结尾.我没有看到任何缓存.
错误修复报告讨论了1.6统一下载引擎,但谷歌似乎并不了解它.
这是应该工作还是只是另一个破碎的太阳"功能".有什么方法或解决方法,我可以让我的applet从浏览器缓存加载PNG图像?我宁愿不实施自己的....
更新:缓存似乎与ResponseCache实现相关联.有关其工作原理的详细信息,请参阅此技术说明.最后一行说:
Java 2 Standard Edition中没有URLConnection缓存的默认实现.但是,Java Plugin和Java WebStart确实提供了一个开箱即用的功能.
所以在我看来问题确实变成了:Java插件ResponseCache实现如何真正起作用?v1.4/v1.5/v.16之间有什么区别
有人有任何想法吗?
我是新来的,我为我糟糕的英语道歉.
我对Java Web Start技术服务的Applet类有一点问题.我有一些平台依赖的JAR文件,Web Start正确下载,但是当我通过对象的getResourceAsStream(String fileName)方法获取内容时ClassLoader,首先fileName向WEB服务器发出GET请求,收到404 Not Found响应后,资源从JAR文件正确加载.问题是我在JAR中有很多文件,所以我在WEB服务器上有很多不必要的负载,因此我必须等待很长时间才能使用Applet.
在Google上搜索我发现了一些讨论据说添加参数codebase_lookup值false,但这并没有解决问题.此页面与codebase_lookup参数相关,表示Applet的默认行为是从JAR文件加载资源,然后从Applet代码库加载,在我的情况下,行为是相反的.
我还eager="true"为.jnlp文件中的每个JAR资源添加了属性,但行为始终相同.Applet是使用NetBeans开发和构建的,生成的html和jnlp文件如下.
launch.html
<applet width="300" height="300">
<param name="jnlp_href" value="launch.jnlp"/>
<param name="codebase_lookup" value="false"/>
</applet>
Run Code Online (Sandbox Code Playgroud)
launch.jnlp
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="http://192.168.23.4/contact" href="launch.jnlp" spec="1.0+">
<information>
<title>ContactNR</title>
<vendor>Roberto Santini</vendor>
<homepage href=""/>
<description>ContactNR</description>
<description kind="short">ContactNR</description>
</information>
<resources>
<j2se version="1.5+"/>
<jar eager="true" href="ContactNR.jar" main="true"/>
<jar eager="true" href="lib/VDK.jar"/>
<security>
<all-permissions/>
</security>
</resources>
<resources arch="amd64" os="Linux">
<jar eager="true" href="lib/liblinux64.jar"/> …Run Code Online (Sandbox Code Playgroud) 我们对我的客户端在Safari中遇到Java安全性异常的原因一无所知.有人可以帮忙吗?
在Windows上的Safari中可靠地发生异常.这涉及Java applet.Windows Vista上的Firefox和IE8也会出现异常.
以下是重现的步骤:
在Windows上打开Safari
点击"自定义"(在屏幕底部)
加载"Instant Proof"页面后,单击"添加到购物车".
完整堆栈跟踪:
java.security.AccessControlException: access denied (java.net.SocketPermission www.cengraving.com resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin.security.ActivatorSecurityManager.checkConnect(Unknown Source)
at java.net.InetAddress.getAllByName0(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getAllByName(Unknown Source)
at java.net.InetAddress.getByName(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at com.designapplet.a.f.a(Unknown Source)
at com.designapplet.ui.c.a(Unknown Source)
at com.designapplet.ui.c.for(Unknown Source)
at com.designapplet.ui.DesignApplet.buy(Unknown Source)
at …Run Code Online (Sandbox Code Playgroud) 当客户安装了7u45更新后,我们的应用程序 停止 工作,我们想知道未来我们还可以做些什么来预先准备好这些更新并避免发布日支持噩梦.
(根据Java版本编号方案,计划于1月14日发布的下一个重要补丁更新将为7u51.下一个有限更新(未知日期)将为7u60.)
我在Oracle和OpenJDK网站上搜索过,并没有找到任何特别有用的东西.Java SE的主要Oracle页面具有Early Access Downloads部分.它有三个有潜力的链接,但不会成功:
https://jdk7.java.net/,仍然谈到7u40 - 没有提到7u45,更不用说7u51或7u60了.
http://openjdk.java.net/projects/jdk7u/,上面写着"我们在jdk7u-dev森林中开放修复7u60",但似乎没有提供任何预先构建的二进制文件.我也不清楚部署组件(applet插件和webstart)是我们过去兼容性问题的主要来源,甚至是OpenJDK的一部分.
在Java的兼容性和性能计划听起来像我想要的东西,但没有人知道如何注册它.
我上面提到的第二个问题的答案指向了8月份提交的OpenJDK错误报告.(它有一个"CAP"标签,可能代表"兼容性和性能"?)很明显,有些人能够针对这些更新测试他们的应用程序.关于如何加入该俱乐部的任何指示都非常感谢!
我这里有点问题.
我有一个applet,用户可以在其中"绘制".为此,我使用java.awt.Graphics2D.但是,如何将用户绘制图像保存为JPEG图像,或者至少将其转换为BufferedImage或其他什么?我不知道该怎么做.
谢谢.
applet ×10
java ×8
bokeh ×1
bouncycastle ×1
classloader ×1
code-signing ×1
exception ×1
flash ×1
flask ×1
graphics2d ×1
jar ×1
jarsigner ×1
javafx ×1
oracle ×1
python ×1
safari ×1
servlets ×1