Java核心技术卷I基础知识2.5 构建并运行applet

简介:

2.5 构建并运行applet


本书给出的前两个程序是Java应用程序。它们与所有本地程序一样,是独立的程序。然而,正如第1章提到的,有关Java的大量宣传都在炫耀Java在浏览器中运行applet的能力。如果你对“过去的记忆”感兴趣,可以继续阅读下面的内容来了解如何构建和运行一个applet,以及如何在Web浏览器中显示;如果你不感兴趣,完全可以跳过这个例子,直接转到第3章。

首先,打开终端窗口并转到CoreJava/v1ch02/RoadApplet,然后,输入下面的命令:

 

图2-9显示了在applet查看器窗口中显示的内容。这个applet图示显示了司机随意减速可能导致交通拥堵的情况。1996年,applet是创建这种可视化显示的绝佳工具。

第一条命令是大家已经非常熟悉的调用Java编译器的命令。它将RoadApplet.java源文件编译成字节码文件RoadApplet.class。

不过这一次不要运行java程序。首先,使用jar工具将类文件打包到一个“JAR文件”。然后调用appletviewer程序,这是JDK自带的一个工具,可以用来快速测试applet。需要为这个程序指定一个HTML文件名,而不是一个Java类文件名。RoadApplet.html文件的内容如本节最后的程序清单2-3所示。

程序清单2-3 RoadApplet/RoadApplet.html

 

 

 

如果熟悉HTML,你会注意这里的标准HTML标记和applet标签,这会告诉applet查看器加载applet,其代码存储在RoadApplet.jar中。applet会忽略除applet标签外的所有HTML标签。

当然,applet要在浏览器中查看。遗憾的是,现在很多浏览器并不提供Java支持,或者启用Java很困难。对此,最好使用Firefox。

如果使用Windows或Mac OS X,Firefox会自动启用计算机上安装的Java。在Linux上,则需要用下面的命令启用这个插件:

 

作为检查,可以在地址栏键入about:plugins,查找Java插件。确保使用这个插件的Java SE 8版本,为此要查找MIME类型application/x-java-applet;version=1.8。

接下来,将浏览器导航到http://horstmann.com/applets/RoadApplet/RoadApplet.html,对所有安全提示都选择接受,保证最后会显示applet。

遗憾的是,只是测试刚刚编译的applet还不够。horstmann.com服务器上的applet有数字签名。还必须再花一些工夫,让Java虚拟机信任的一个证书发行者信任我,为我提供一个证书,我再用这个证书为JAR文件签名。浏览器插件不再运行不信任的applet。与过去相比,这是一个很大的变化,原先在屏幕上绘制像素的简单applet会限制在“沙箱”中,即使没有签名也可以工作。可惜,即使是Oracle也不再相信沙箱的安全性了。

为了解决这个问题,可以临时将Java配置为信任本地文件系统的applet。首先,打开Java控制面板。

在Windows中,查看控制面板中的Programs(程序)部分。

在Mac上,打开System Preferences(系统首选项)。

在Linux上,运行jcontrol。

然后点击Security(安全)标签页和Edit Site List(编辑网站列表)按钮。再点击Add(增加),并键入f?ile:///。点击OK,接受下一个安全提示,然后再次点击OK(见图2-10)。

现在应该可以在浏览器中加载文件corejava/v1ch02/RoadApplet/RoadApplet.html,applet将随周围的文本一同显示。结果如图2-11所示。

最后,在程序清单2-4中给出了这个applet类的代码。现在,只需要简单看一下。在第13章中,还会再来介绍applet的编写。

 

图2-10 配置Java信任本地applet

 

图2-11 在浏览器中运行RoadApplet

程序清单2-4 RoadApplet/RoadApplet.java

 

在本章中,我们学习了有关编译和运行Java程序的机制。现在可以转到第3章开始学习Java语言了。

 

目录
打赏
0
0
0
0
1408
分享
相关文章
Java程序员在AI时代必会的技术:Spring AI
在AI时代,Java程序员需掌握Spring AI技术以提升竞争力。Spring AI是Spring框架在AI领域的延伸,支持自然语言处理、机器学习集成与自动化决策等场景。它简化开发流程,无缝集成Spring生态,并提供对多种AI服务(如OpenAI、阿里云通义千问)的支持。本文介绍Spring AI核心概念、应用场景及开发步骤,含代码示例,助你快速入门并构建智能化应用,把握AI时代的机遇。
JVM实战—1.Java代码的运行原理
本文介绍了Java代码的运行机制、JVM类加载机制、JVM内存区域及其作用、垃圾回收机制,并汇总了一些常见问题。
JVM实战—1.Java代码的运行原理
构建高效Java后端与前端交互的定时任务调度系统
通过以上步骤,我们构建了一个高效的Java后端与前端交互的定时任务调度系统。该系统使用Spring Boot作为后端框架,Quartz作为任务调度器,并通过前端界面实现用户交互。此系统可以应用于各种需要定时任务调度的业务场景,如数据同步、报告生成和系统监控等。
62 9
智慧产科一体化管理平台源码,基于Java,Vue,ElementUI技术开发,二开快捷
智慧产科一体化管理平台覆盖从备孕到产后42天的全流程管理,构建科室协同、医患沟通及智能设备互联平台。通过移动端扫码建卡、自助报道、智能采集数据等手段优化就诊流程,提升孕妇就诊体验,并实现高危孕产妇五色管理和孕妇学校三位一体化管理,全面提升妇幼健康宣教质量。
64 12
|
3月前
|
使用Java和Spring Data构建数据访问层
本文介绍了如何使用 Java 和 Spring Data 构建数据访问层的完整过程。通过创建实体类、存储库接口、服务类和控制器类,实现了对数据库的基本操作。这种方法不仅简化了数据访问层的开发,还提高了代码的可维护性和可读性。通过合理使用 Spring Data 提供的功能,可以大幅提升开发效率。
97 21
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
CRaC技术助力ACS上的Java应用启动加速
容器计算服务借助ACS的柔性算力特性并搭配CRaC技术极致地提升Java类应用的启动速度。
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
3420 2
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
【潜意识Java】使用SpringBoot构建高效的RESTfulAPI
本文介绍了使用Spring Boot构建RESTful API的完整流程,涵盖从项目创建到API测试的各个步骤。
77 1
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
141 7
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等