JAVA运行环境 和 Java Applet的运行环境 的区别
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目录是不行的,必须要满足:
- 用JRE安装程序包进行安装
- JRE版本为 web浏览器提供了Java Plugin
- JRE与Web浏览器的位长要一致,如都是32位,或都是64位的软件版本


- 安装一个高版本的JRE,用于支持较新的Web浏览器运行Applet小程序
- Java应用所需要的JDK,直接拷贝JDK二进制目录使用,不需要安装,多个JDK可并存,执行时确定使用JDK版本。
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);
- }
- }
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
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 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
CMD>appletviewer index.html

5. 在web浏览器中运行Applet小程序
将网页拖到浏览器中查看,或将网页和Applet小程序部署到Apache的HTML文档目录下通过URL访问。
原文地址 http://yyjlinux.iteye.com/blog/1702514
JAVA运行环境 和 Java Applet的运行环境 的区别的更多相关文章
- Java,Hello World,《算法》环境搭建中的问题,用 cmd 和 IntelliJ Idea 分别编译和运行 Java 程序
▶ IntelliJ idea 下载和安装(http://www.jetbrains.com/idea/) ▶ 新建项目(如图),注意选择 SDK 类型和位置 ● 在 src 目录中新建一个 Pack ...
- Android(java)学习笔记160:Framework运行环境之 Android进程产生过程
1.前面Android(java)学习笔记159提到Dalvik虚拟机启动初始化过程,就下来就是启动zygote进程: zygote进程是所有APK应用进程的父进程:每当执行一个Android应用程序 ...
- Android(java)学习笔记103:Framework运行环境之 Android进程产生过程
1. 前面Android(java)学习笔记159提到Dalvik虚拟机启动初始化过程,就下来就是启动zygote进程: zygote进程是所有APK应用进程的父进程:每当执行一个Android应用程 ...
- Java复习笔记(一):概念解释和运行步骤
一.java的一些概念 JAVA语言分为三:java ee,java se,java me java se: java标准版,java的核心功能所在 java ee: java企业级开发,包含ser ...
- [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现
本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...
- Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解
俗话说:“十五的月亮十六圆”.那学习是不是也是如此呢?如果把月亮看成是我们的愿望,那十五便是我们所处的“高原期”,坚持迈过这个坎,我相信你的愿望终究会现实的.记得马云曾说:今天很残酷,明天更残酷,后天 ...
- (转)JAVA路径问题及命令行编译运行基础(linux下)
原地址: http://blog.csdn.net/biaobiaoqi/article/details/6846274 java的运行机制的基本概念: 源文件 也就是我们熟知的.java文件. 类文 ...
- java juint框架的windows自动化-自动运行juint程序简述
在京东混了一个月,基本有点稳定了,觉得也有所余力了现在,继续写博客吧,不过以后更新也许不是那么频繁了 本人使用的是juint框架,对开发是一个单元测试的java框架,但是对测试而言是java的基石之一 ...
- java程序在windows系统作为服务程序运行
Java程序很多情况下是作为服务程序运行的,在Un*x 平台下可以利用在命令后加“&”把程序作为后台服务运行,但在Windows下看作那个Console窗口在桌面上,你是否一直担心别的同时把你 ...
随机推荐
- 2020,6招玩转 Appium 自动化测试
Appium是个什么鬼 Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的.可用于IOS和Android以及firefox的操作系统.原生的应用是指用an ...
- URL的字符编码
摘要: 在通过URL访问HTTP SERVER的时候,通常会产生trace callback的异常,返回505的错误," VERSION IS NOT SUPPORTED ?" , ...
- elementui table fixed错位
目前在官方没有解决这个bug前如果有人碰到类似问题.建议大家监听table数据,每次数据得到或改变的时候去重新渲染一下 /* 监听table数据对象 */ watch: { tableDa ...
- node.js的安装及其相关环境变量的配置
笔者最近一直重置电脑,本来想换台mac,想了想还是加下配置吧. 于是慢慢的一直会去安装node 接下来进入教程环节 一.NodeJS下载 1.下载NodeJS安装包下载地址:NodeJS下载 2.开始 ...
- 详细分析链表中的递归性质(Java 实现)
目录 链表中的递归性质 前言 LeetCode 上关于链表的一道问题 203 号题目 移除链表中的元素 递归的基本概念与示例 链表天然的递归性 小结 链表中的递归性质 前言 在前面的 链表的数据结构的 ...
- Zabbix template for Microsoft SQL Server总结
Zabbix template for Microsoft SQL Server介绍 这里介绍Zabbix下监控Microsoft SQL Server数据库非常好用的一个模板,模板名为&qu ...
- MyBatis源码流程分析
mybatis核心流程三大阶段 Mybatis的初始化 建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象.这种类型的设计模式属于创建型模式,它提 ...
- pwnable——flag
分析 此题为reverse题目,首先放入ida查看: 程序函数太少,应该加过壳 在hex view中发现程序通过upx加壳,利用upx -d 指令解压得到程序,重新放入ida查看 程序非常简单,读取f ...
- 【极致丝滑】彻底摆脱编辑器插件,利用postcss灵活可控地转换px至vw
背景 旧的rem适配方案(无论是直接使用rem,还是配合flexiblejs等lib库进行视口缩放)已经疲态尽显,且随着安卓高清屏的不断出现,同时data-dpr仍有进一步增加的可能性,rem显得并不 ...
- oracle之二redo日志
redo 日志 4.1 redo (重做) log 的功能:数据recovery4.2 redo log 特征: 1)记录数据库的变化(DML.DDL) 2)用于数据块的recover ...