`
yyjlinux
  • 浏览: 370055 次
  • 来自: ...
社区版块
存档分类
最新评论

配置Java Applet的运行环境

    博客分类:
  • Java
 
阅读更多

Java小程序,也就是Java Applet,可以在Web浏览器中运行。Java Applet必须以<applet>脚本的形式嵌入到HTML页面中,才能在web浏览器中运行。

 

之前总以为本地安装了JDK,指定好JAVA_HOME和PATH环境变量,所有的Java程序就都可以运行了,后来有个同事让我帮他解决web浏览器中不能运行一个项目管理软件的甘特图时,才发现Java Applet和一般的Java应用的运行环境配置是不一样的。

 

在Windows上运行Java应用程序,只要有JDK的二进制目录,并指定好JAVA_HOME和PATH就可以直接使用了,并不需要通过JDK的安装程序安装。所以,可以将安装好的JDK目录打个压缩包备份起来,以后重装系统或是给其他机器装Java环境时,直接将JDK的二进制压缩包拷贝过去,解压后就可以直接使用了。

 

但在Windows中,配置Java Applet的运行环境,仅指定JDK目录是不行的,必须要满足:

  1. 用JRE安装程序包进行安装
  2. JRE版本为 web浏览器提供了Java Plugin
  3. JRE与Web浏览器的位长要一致,如都是32位,或都是64位的软件版本
这是因为,JRE安装时会将Java相关的信息写到注册表中,并为Web浏览器安装Java Plugin。Web浏览器的Java Plugin在运行Applet时,先会到Windows注册表中读取Java信息,再执行Applet程序。

这里要注意的是,JRE的版本不同,所支持的web浏览器和版本也不同。我本机的Web浏览器有IE8, Firefox16, Chrome19,安装JRE6u11后,只有IE8可以运行Applet;Firefox16下通过about:plugins可以看到有安装的Java Plugin,但无法运行Applet;而Chrome19下则显示没有Java Plugin。而安装JRE7u9后,所有的浏览器就都能运行Applet了。所以,最简单的话只需安装最新的JRE版本就行了。通常如果浏览器没有安装Java Plugin,在运行有Applet的网页时,会提示用户安装插件,一般直接安装后就可以了。

Java Tester这个网站,用于检查本地安装的JRE版本和软件厂商,同时可以检查Web浏览器是否可以运行Applet程序:

对于一般用户,安装Applet运行环境是很简单的,但有时恰恰是Java开发人员的浏览器反而运行不了Applet,这就有点寒碜了。Java开发人员本机上往往会安装多个Java版本,有时直接将JDK目录移动或删除了,没通过Windows控制面板进行卸载,造成Windows注册表中还有残留的Java安装信息,运行Java应用没问题,但在Web浏览器中Java Plugin就找不到JRE来执行Applet了。

安装JRE后,Java控制面板上会出现一个Java图标,如果发现Java的图标显示不出来了,点击时提示找不到程序,如下图:


上面无法显示的Java图标,说明Windows上的JRE环境已经找不到了,需要重新安装JRE。正常可用的JRE环境,如下图:


点击Java图标,可以打开Java控制面板(javacpl),说明Windows上的JRE已经是可用的了。

综上,Java应用和Java Applet对运行环境的要求是不一样的。Java应用运行时,不需要找注册表,只要指定好JDK目录就能运行。而对于Applet小程序,Web浏览器中的Java Plugin要通过注册表来查找JRE环境,运行Java Applet。

因此,建议本地Java环境
  • 安装一个高版本的JRE,用于支持较新的Web浏览器运行Applet小程序
  • Java应用所需要的JDK,直接拷贝JDK二进制目录使用,不需要安装,多个JDK可并存,执行时确定使用JDK版本。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

附录1:如果无法重装JRE,可以按下面文章中的步骤,先清除注册表中的Java残留安装信息,再运行JRE安装程序:

附录2:如何在Web浏览器中启用 Java?(必须满足JRE已安装可用,且web浏览器已安装了Java Plugin的前提)

http://www.java.com/zh_CN/download/help/enable_browser.xml

 

附录3:Hello Applet

1. 编写Applet小程序,继承Applet基类:

public class HelloApplet extends Applet {

    private static final long serialVersionUID = 5511892956119084309L;

    @Override
    public void init() {
        Graphics g = this.getGraphics();
        paint(g);
    }

    public void paint(Graphics g) {
        g.drawString("Hello Applet!", 45, 45);
    }
}

 

2. 编译Applet

CMD>javac HelloApplet.java

 

3. 在index.html网页中嵌入Applet小程序

...
<applet alt="" code="cn.david.applet.HelloApplet.class" archive="applet-1.0.0-SNAPSHOT.jar"  width="200" height="200" 
codebase=".">
</applet>
...

注意:

  • Applet小程序必须嵌入到网页中才能运行,使用<applet></applet>标签嵌入Applet
  • code属性指定Applet类
  • archive属性指定小程序所在的jar包,如果没有打包可省略
  • codebase属性指定用于查找Applet类和Jar包的根目录,这个目录是相对于网页所在目录而言的,即指定一个相对目录。codebase=".",表示,在网页目录下查找Applet小程序。
  • 网页中要使用<applet></applet>标签,使用<applet />时在网页中可正常运行,但在appletviewer中无法显示applet窗口。

4. 用appletviewer测试Applet小程序

CMD>appletviewer index.html

 

5. 在web浏览器中运行Applet小程序

 将网页拖到浏览器中查看,或将网页和Applet小程序部署到Apache的HTML文档目录下通过URL访问。

 

分享到:
评论
1 楼 RonQi 2013-08-15  
赞!楼主分析的很到位。
我机器本来装了jdk_1.6.0_45,而且jre也装了,但是在FF22和IE10里applet都不能运行,看来是jre的版本太低的原因。

相关推荐

    Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet

    2. **安全性**:Java Applet运行在Java安全沙箱内,限制了对本地系统资源的访问,以保护用户的系统安全。 3. **网络通信**:Applet可以与服务器进行通信,获取数据或更新自身。 4. **生命周期**:Applet有自己的...

    JavaApplet_javaapplet小程序_java_

    JavaApplet运行在用户的浏览器上,由Java Virtual Machine (JVM)支持,因此它具有跨平台的能力。 一、JavaApplet的基本概念 1. 小应用程序:JavaApplet就是一个在Web浏览器中运行的Java程序,通常嵌入到HTML页面中...

    java applet运行出现异常

    6. **环境配置**:用户的JRE(Java运行环境)版本可能与Applet编译的JDK版本不匹配,也可能缺少必需的库或组件。 7. **网络问题**:如果Applet依赖于远程服务器上的资源,网络连接问题可能导致加载失败。 解决这些...

    Java Applet 入门教程

    - 由于安全原因,Java Applet运行在沙箱环境中,不能访问本地系统资源,除非用户明确授权。 - 这限制了Applet的功能,但保证了用户的安全。 6. **Java Applet的替代技术** - 随着Web技术的发展,Java Applet逐渐...

    java applet 简单案例

    这个简单的案例将带你深入理解Java Applet的基础概念、工作原理以及如何创建和运行一个基本的Java Applet。 一、Java Applet简介 Java Applet是一种由Java编写的客户端应用程序,它可以在支持Java的Web浏览器中运行...

    JavaApplet与JavaScript

    ### JavaApplet与JavaScript #### 6.1 JavaApplet ##### 6.1.1 JavaApplet概述 **Applet 类层次结构:** JavaApplet 的基础是 `java.applet.Applet` 类,它是从 `java.awt.Panel` 继承而来的一个特殊的图形组件。...

    Java Applet实例编程

    7. **安全性限制**:由于安全原因,Java Applet运行在沙箱环境中,不能访问本地文件系统或网络资源,除非用户明确授予权限。 8. **Java Web Start(JWS)**:随着Java Applet的逐渐淘汰,Java Web Start提供了一种...

    JAVA 实时运行环境插件

    总的来说,理解和使用Java Applet涉及安装和配置Java运行环境,编写和编译Java源代码,创建HTML页面来加载Applet,以及解决可能出现的运行时问题。对于开发和维护Web应用的IT专业人员来说,掌握这些知识至关重要。

    javaApplet 实例入门教程

    本入门教程旨在帮助初学者理解和掌握JavaApplet的基本概念、开发环境设置以及实际编程技巧。 1. **JavaApplet基本概念** JavaApplet是一种小型的Java应用程序,它能够在Web浏览器中运行,提供丰富的用户界面和交互...

    Java Applet

    由于安全原因,Java Applet运行在沙箱环境中,不能访问用户的文件系统或网络,除非用户明确授予了权限。这限制了Applet的某些功能,但也保护了用户的安全。 **5. Applet的使用与局限** 随着Web技术的发展,Java ...

    一步步教你设置JAVA的运行环境

    本文将一步步指导您设置 JAVA 运行环境,包括下载和安装 JDK、设置环境变量、测试 JAVA 环境等步骤。通过本文,您将学习到如何正确地安装和配置 JAVA 环境,以便进行 JAVA 开发。 一、JDK 下载和安装 JDK(Java ...

    java applet应用实例

    Applet运行在沙箱环境中,不能访问本地文件系统或网络资源,除非用户明确授权,这限制了其功能和应用范围。 9. **JavaFX和Swing替代** 鉴于Java Applet的限制和Java平台的发展,JavaFX和Swing成为了开发桌面应用和...

    javaapplet实例讲解

    Java Applet是Java技术在早期Web开发中的一种应用方式,它允许开发者创建可以在用户浏览器上运行的小型程序。本实例讲解将围绕Java Applet的基本概念、工作原理以及如何通过提供的类文件进行理解和学习。 1. **Java...

    自动为java applet的clss文件生成html文件

    5. **运行环境**:工具指定的运行环境是Windows。这意味着它可能依赖于Windows特定的库或功能,或者需要在Windows环境下运行。在其他操作系统上使用可能需要额外的配置或适配。 6. **用户配置**:工具允许设置...

    java applet

    当用户访问包含Java Applet的网页时,浏览器会检测是否安装了Java运行环境。如果安装了,浏览器会下载applet的.class文件,并使用Java Virtual Machine (JVM)来解析和执行代码。这个过程涉及到AppletLoader、...

    java applet 电子相册

    10. **安全限制**:由于Applet运行在客户端,Java的安全模型对Applet有一些限制,比如不能直接访问本地文件系统,除非用户给予相应的权限。 综上所述,这个Java Applet电子相册项目展示了Java在Web应用中的能力,...

    基于java applet的简易画图程序

    Java Applet是Java技术早期的一种应用形式,主要用于在Web浏览器中执行小应用程序,例如我们的“简易画图程序”。这个程序提供了基本的图形绘制功能,帮助用户理解和实践Java事件处理机制。下面将详细介绍Java ...

    Java Applet 设计的画图程序

    Java Applet是一种在Web浏览器中运行的微型Java应用程序,它为网页添加了交互性和动态功能。在这个特定的项目中,"Java Applet 设计的画图程序" 是一个基于Java编程语言实现的简单画图应用,它允许用户在浏览器环境...

Global site tag (gtag.js) - Google Analytics