`

Java的Applet调用第三方jar包,web调用问题解决方案

阅读更多

 

昨天和今天主要纠结于Applet在Web调用不成功的问题。今天两天的奋战,终于将问题解决,

贴出来问题的解决方案,方便自己和他人。

 

情景一:单独的Applet,网页使用:

第一步,本地新建一个Applet文件(如DemoApplet.java),重写paint方法。代码如下:

  public void paint(Graphics g )

  {

   g.drawString("Hello World!",5,35);

  } 

在运行Applet这个文件时,会自动调用这个方法,写出"Hello World!"几个字。

 

第二步,新建网页htDemo.html

代码如下:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>My applet 'DemoApplet' starting page</title>

  </head> 

  <body>   

    <applet codebase="." 

            code="DemoApplet.class" 

            name="DemoApplet" 

            width="320" 

            height="240">

    </applet>

  </body>

</html>

 

参数说明:

  1:code:指定applet需要应用类的class。

  2:codebase:指定applet类的存放路径。

  3:width:指定显示applet的空白区域宽度。

  4:height:指定显示applet的空白区域的高度。

      5.name:指定applet的名字,可选。

 

对于codebase的处理要格外小心,如果把编译后的DemoApplet.class和htDemo.html放在同级目录下,则

codebase="."即可。

第三步:

保存网页,点击运行网页,可以看到屏幕输出了"Hello World!".

 

情景二:applet引入第三方的jar包,网页调用。

这种情况比较烦人,这也是我纠结两天没才弄出来的原因。

步骤基本如下:

 

第一步:

我写了一个applet。修改了init方法,重写了paint方法,代码如下。

public void paint(Graphics g)

{

Output outClass = new Output();

g.drawString("hahaha",20,20);

g.drawString(outClass.getString(),10,10);

}

 

public void init() { 

setLayout(new FlowLayout()); 

add(new Button("预览")); 

}

 

Output为我写的一个工具类类(它的主要作用是为了测试引入第三方jar包时,applet调用的问题),它会引入了一个第三方的jar包叫做“jna.jar”。代码如下:

 

import com.sun.jna.NativeLong;

public class Output {

public String getString()

{

NativeLong m_lUserID = new NativeLong(1);//用户登录句柄

return "You are in the Output Class" +m_lUserID.intValue();

}

}

第二步:写一个demo2.html

<body>

<applet codebase="." 

code="DemoApplet.class" 

name="DemoApplet" 

archive="jna.jar"

width="320" 

height="240">

</applet>

</body>

 

参数说明:其他参数都一样,只有添加了archive="jna.jar"这个参数是用来书写你引入的jar包的。如果有多个jar包,通过","分割。

【注】

1.第三方的jar包要和编译过的TestSimpleApplet.class在同一个目录下。

2.工具类(outclass)编译所产生的class文件(output.class 和引入的其他类的编译文件)也要放在codebase所表明的文件夹下。

 

第三步:

找到浏览器默认的jre,在其目录,举例为:*盘:\*\j2re1.4.2_05\lib\security\java.policy

在grant{}中添加如下一行代码:

permission   java.security.AllPermission;   

第四步:

点击运行网页,就出现了我们要的结果了。

 

可能出现错误:

1.红色的叉,提示class无法找到。这就要注意查看applet的code 和codebase是否写对,.class和.jar

文件的位置是否正确。

2.security之类的错误。这主要就是因为要调用用户本地的文件,但是由于jave的安全机制原因,不让applet访问用户本地文件,所以会发生异常。此时,就需要给applet赋予访问权限,从而避免错误。

3.网页中显示空白一块,或是灰色。那就是发生了异常,但是没有显示出来。

此时就要在IE的选项->高级->选择Java(Sun)将JRE***用于<applet>。从而当网页运行applet程序时就会显示Java控制台。显示相应的异常错误,仔细观察,相信可以找到错误的原因。

 

如有不解,请参阅http://topic.csdn.net/u/20100318/14/950bd343-6077-4e24-ad3c-9833149a4e30.html

当时在这个帖子中有关于此调用的讨论。

 

 

 

 

 

 

 

3
0
分享到:
评论
2 楼 aspnetdb 2011-12-05  
xiaoshenglin 写道
感谢你的文章

不客气,欢迎交流。
1 楼 xiaoshenglin 2011-12-04  
感谢你的文章

相关推荐

    applet与jsp的交互

    7. **WebSocket通信**:现代的解决方案可能包括使用WebSocket建立持久连接,使得Applet和JSP能够实时双向通信。 在上述文件列表中,`java_js.html`可能是一个关于Java与JavaScript交互的文档,而`java_js_files`...

    关于 js 和 applet 相互调用的例子

    现代Web开发倾向于使用WebAssembly、Web Components或者框架如React、Vue等,它们提供更现代、更安全的解决方案来实现类似的功能。尽管如此,理解JS与Applet的交互仍然是了解Web历史和技术演进的一个重要环节。

    java applet

    Java Applet是Java技术在早期Web开发中使用的一种机制,它允许开发者创建可以在浏览器中运行的小型应用程序。这些小程序能够增强网页的交互性,提供动态内容和用户接口。本压缩包可能包含了一些示例代码、教程或者...

    java Applet技术文档

    - Java Web Start:一种通过网络启动和运行Java应用程序的技术,可自动下载并安装所需JAR包。 - Applet Viewer:Java SDK附带的工具,用于离线测试Applet。 - 浏览器支持:早期的浏览器(如Netscape Navigator和...

    Applet整合到web环境

    Applet是一种Java小程序,它可以嵌入到Web页面中,为用户提供交互式的功能。在Web环境中集成Applet,可以使网页具备更丰富的动态效果和用户界面。本文将深入探讨如何将Applet整合到Web环境,以及解决IE浏览器报找不...

    Building_a_Java_applet.zip_applet_building_java Applet

    Java Applet是Java技术在早期Web开发中的一种应用方式,它允许开发者创建可以在浏览器中运行的小型Java程序。本教程“Building a Java applet”将深入讲解如何构建和使用Java Applets。 一、Java Applet简介 Java ...

    jasperreports-5.6.0+applet实现客户端打印所需的jar包

    总的来说,"jasperreports-5.6.0+applet实现客户端打印所需的jar包"是一个旧时代的解决方案,尽管在某些特定场景下仍然有用,但它已经不适应当前的Web开发趋势。现在的替代方案可能包括使用现代JavaScript框架来生成...

    在Java中如何利用Applet来加载图像

    在Java编程语言中,Applet是一种特殊的类,它允许开发者创建可以在Web浏览器中运行的小型Java应用程序。...了解这些基础知识有助于开发者更好地理解和掌握Java的网络编程能力,以及在创建动态Web内容时的潜在解决方案。

    javascrpit与javaapplet交互

    2. **在Java Applet中声明可访问的方法**:为了让JavaScript能够调用Java Applet中的方法,需要在Applet类中声明这些方法,并使用`public`修饰符使其可被外部调用。 ```java public void someMethod() { // 这里...

    Java Applet 入门

    Java Applet是Java技术在早期Web开发中的一种应用方式,它允许开发者创建可以在浏览器中运行的小型应用程序。这种技术在1990年代中期互联网初期非常流行,为网页增加了交互性和动态功能。本文将深入探讨Java Applet...

    Java Applet实例讲解

    Java Applet是Java技术在早期Web开发中的一个重要应用,它允许开发者创建能在用户浏览器中运行的小型Java程序。这些小程序可以增强网页的功能,提供动态交互,例如动画、游戏或者复杂的数据展示。本教程将深入讲解...

    Java调用Javascript.pdf

    Java调用Javascript的技术涉及了在Java Applet中通过脚本接口与Web页面上的JavaScript代码进行交互。这部分技术在当前的Web开发中已较少使用,因为Java Applet的安全性问题和浏览器的兼容性问题,使得现代浏览器逐渐...

    js 动态调用 applet 内的方法示例程序

    步骤三:打包,使用命令:jar -cvf asbAttachmentUploadApplet.jar * 生成 asbAttachmentUploadApplet.jar 包; 步骤四:数字验证:jarsigner -keystore yourkey asbAttachmentUploadApplet.jar 对 ...

    Start Applet Demo

    3. **Java Archive (JAR) 文件**:Applet通常被打包成JAR文件,以便在Web服务器上分发。`StartAppletDemo`很可能就是这样一个包含Applet类和相关资源的JAR文件。 4. **Applet生命周期**:Applet有四个主要状态:...

    DyJava是一款功能强大的抖音Java开发工具包(SDK),支持抖音各个应用OpenAPI快速调用,包括但不限于移动/网站应用

    DyJava是一款功能强大的抖音Java开发工具包(SDK),支持抖音各个应用OpenAPI快速调用,包括但不限于移动/网站应用、抖音开放平台、抖店、TikTok和抖音小程序等。DyJava致力于简化开发流程,提高开发效率,让开发者...

    Java Applet Redirection JAR-开源

    Java Applet重定向JAR是一种开源解决方案,专为那些希望在用户没有安装Java运行环境(JRE)的情况下提供平滑浏览体验的Web开发者设计。这个技术利用JavaScript编写,当检测到用户系统上没有安装Java Runtime ...

    java+applet 图片浏览小程序.zip

    Java Applet是Java技术在Web应用中的一个早期实践,它允许开发者创建可以在用户浏览器中运行的小型应用程序,尤其是用于增强网页交互性和动态性。在这个"java+applet 图片浏览小程序.zip"压缩包中,我们可以预见到一...

    Java内嵌Chrome浏览器 并实现web项目获取MAC地址

    在Java开发中,有时我们需要将Web页面嵌入到应用程序中以提供更丰富的用户交互体验,同时,获取设备的MAC(Media Access Control)地址对于特定的身份验证或设备唯一性识别非常有用。本文将深入探讨如何使用Java内嵌...

Global site tag (gtag.js) - Google Analytics