使用Applet的局限和存在问题
程序员文章站
2022-07-03 13:10:47
...
最近,项目经理打算使用applet来做以下网页小程序,因此我花了些时间来研究applet,发现存在以下局限和不足。
一. 从用户的角度看
1.使用applet需要在机器上安装一个jre。不同版本的jre对浏览器版本支持也不一样。目前最新的jre8u51在google chrome使用applet程序也无法正常运行。
2.问题描述:安装完jre后,要”控制面板Java控制面板安全”设置安全级别为”中”。而从jre8u20开始(最新为jre8u51),安全级别只能选择”很高”和”高”两个级别,默认为”高”,这两个选项都会导致浏览器访问applet程序时报安全级别太高,
解决办法:只能如下图所示添加”例外站点”
二. 从开发者的角度看
1.问题描述:浏览器访问applet只能使用jre而不能使用jdk,而开发者机器上一般安装了多个jdk,但是浏览器访问applet时依然会提示没有安装java,安装jre后,由于和已安装的jdk冲突,浏览器依然无法识别到安装好的jre,依然会提示没有安装java。
解决办法:先在”控制面板程序和功能”卸载掉机器上的所有jdk,删掉环境变量里面与jdk相关 的信息,然后重新安装jre,而开发时使用的jdk则使用解压版的,将jdk的信息配置eclipse上不能配置在系统环境变量上
2.问题描述:对于一个webapp而言,所有jar通常都放在WEB-INF/lib目录下,java的class文件一般放在WEB-INF的classes目录下,然而html和applet都不允许直接访问WEB-INF下的内容,所有与applet相关的代码包括使用的第三方jar包若是存放在WEB-INF目录下,浏览器访问<applet>标签访问applet程序时都会报错”ClassNotFoundException”。
解决办法:将与applet相关的代码和使用的第三方jar包放在与对应的html文件放在同一目录或子目录,以同级目录为例,在<applet>标签中设置属性codebase=”.”,子目录则为codebase=”./子目录”。
弊端:jar包没有同一放在WEB-INF/lib目录下,可能存在冗余。在使用maven进行项目管理后,依旧需要手动调整jar的位置
3.对applet代码测试存在困难
一. 从用户的角度看
1.使用applet需要在机器上安装一个jre。不同版本的jre对浏览器版本支持也不一样。目前最新的jre8u51在google chrome使用applet程序也无法正常运行。
2.问题描述:安装完jre后,要”控制面板Java控制面板安全”设置安全级别为”中”。而从jre8u20开始(最新为jre8u51),安全级别只能选择”很高”和”高”两个级别,默认为”高”,这两个选项都会导致浏览器访问applet程序时报安全级别太高,
解决办法:只能如下图所示添加”例外站点”
二. 从开发者的角度看
1.问题描述:浏览器访问applet只能使用jre而不能使用jdk,而开发者机器上一般安装了多个jdk,但是浏览器访问applet时依然会提示没有安装java,安装jre后,由于和已安装的jdk冲突,浏览器依然无法识别到安装好的jre,依然会提示没有安装java。
解决办法:先在”控制面板程序和功能”卸载掉机器上的所有jdk,删掉环境变量里面与jdk相关 的信息,然后重新安装jre,而开发时使用的jdk则使用解压版的,将jdk的信息配置eclipse上不能配置在系统环境变量上
2.问题描述:对于一个webapp而言,所有jar通常都放在WEB-INF/lib目录下,java的class文件一般放在WEB-INF的classes目录下,然而html和applet都不允许直接访问WEB-INF下的内容,所有与applet相关的代码包括使用的第三方jar包若是存放在WEB-INF目录下,浏览器访问<applet>标签访问applet程序时都会报错”ClassNotFoundException”。
解决办法:将与applet相关的代码和使用的第三方jar包放在与对应的html文件放在同一目录或子目录,以同级目录为例,在<applet>标签中设置属性codebase=”.”,子目录则为codebase=”./子目录”。
弊端:jar包没有同一放在WEB-INF/lib目录下,可能存在冗余。在使用maven进行项目管理后,依旧需要手动调整jar的位置
3.对applet代码测试存在困难
推荐阅读
-
2016 cocoapods的安装和使用方法以及版本升级遇到的问题
-
Mybatis传单个参数和
标签同时使用的问题及解决方法 -
2016 cocoapods的安装和使用方法以及版本升级遇到的问题
-
Mybatis传单个参数和
标签同时使用的问题及解决方法 -
Winform中在使用VS+svn进行协同开发时添加引用时的相对路径和绝对路径的问题
-
mantis安装、配置和使用中的问题小结
-
ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
-
SpringMVC使用ModelAndView的相对路径和绝对路径的问题
-
PHP中使用foreach和引用导致程序BUG的问题介绍
-
在Ajax中使用get和post所遇到的问题及解决办法