知识大全 如何让applet访问网络

Posted 文件

篇首语:犀渠玉剑良家子,白马金羁侠少年。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何让applet访问网络相关的知识,希望对你有一定的参考价值。

  对Java Applet和Java Web Start进行数字签名

  我们知道Java Applet和Java Web Start程序在运行的时候受到安全限制 例如不能够访问本地文件系统 不能够随意访问网络 本文将演示如何对代码做数字签名 让客户在运行时选择是否信任你的签名 以使你的程序具有更多的权限 在这里我们不打算购买证书

  我的计算机环境如下

  Windows professional sp

  SUN JDK

  IE

  JAVA_HOME PATH CLASSPATH等环境变量均已设置

  客户端需求

  客户端浏览器需要安装Java插件 这里的Java插件是安装JDK时一起安装的 如果客户端不需要做Java开发 可以去下载SUN的网站下载JRE到客户端安装

  接下来看看下面这个Applet 它只有一个按钮 点击这个按钮程序就在本地建立一个文件 如果成功 弹出一个对话框显示成功消息 如果发生异常(安全异常或者IO异常) 也弹出一个显示错误的对话框 源文件如下

  源文件test\\TestApplet java

  package test;

  import java applet *;

  import java io *;

  import java awt event *;

  import javax swing *;

  public class TestApplet

  extends Applet

  public void init()

  JButton button = new JButton( Create a file );

  button addActionListener(new ActionListener()

  public void actionPerformed(ActionEvent evt)

  File file = new File( c:\\\\a txt );

  try

  file createNewFile();

  JOptionPane showMessageDialog(null 成功创建文件c:\\\\a txt

   消息 JOptionPane INFORMATION_MESSAGE );

  catch (Exception ex)

  JOptionPane showMessageDialog(

  null ex getMessage() 错误 JOptionPane ERROR_MESSAGE);

  

  

  );

  add(button);

  

  

  在与test目录的父目录编译这个Applet

  javac test\\TestApplet java

  打包 生成test jar文件

  jar cvf test jar test

  以下是使用Applet的HTML页面l

  test Applet will appear below in a Java enabled browser

  codebase =

  code = test TestApplet class

  name = TestApplet

  archive = test jar

  width =

  height =

  hspace =

  vspace =

  align = middle

  >

  现在就让我们运行一下 打开l 点击按钮 你看到了什么?非常不幸 我们没有经过数字签名的Applet在默认情况下没有写本地文件的权限 那么让我们准备签名代码吧

  首先用keytool命令产生用来签名的key 下面这个命令产生一个叫 mykey 的key 它存储在我们新建的叫 mystore 的keystore中

  keytool genkey alias mykey keystore mystore

  接下来它会问一些问题包括keystore的密码 key的密码等 如下所示

  输入keystore密码 storepass

  您的名字与姓氏是什么?

  [Unknown] AYellow

  您的组织单位名称是什么?

  [Unknown] 我的组织单位

  您的组织名称是什么?

  [Unknown] 我的组织

  您所在的城市或区域名称是什么?

  [Unknown] 北京

  您所在的州或省份名称是什么?

  [Unknown] 北京

  该单位的两字母国家代码是什么

  [Unknown] CN

  CN=AYellow OU=我的组织单位 O=我的组织 L=北京 ST=北京 C=CN 正确吗?

  [否] Y

  输入的主密码

  (如果和 keystore 密码相同 按回车) keypass

  完成后会在当前目录下生成一个叫mystore的文件 这个文件包含了我们的key 用jarsigner命令签名我们的代码test jar(需要输入keystore和key的密码)

  jarsigner keystore mystore test jar mykey

  Enter Passphrase for keystore: storepass

  Enter key password for mykey: keypass

  再次运行Applet 在Applet加载的时候会出现一个对话框 说该Applet由不可信任的发行者签名并宣称代码是安全的 是不是要对Applet授权 选择 授权于会话 然后点击我们的按钮 看看是不是成功的创建了文件?

  对于Java Web Start程序 签名jar文件的过程是一样的 但是需要在jnlp文件中做一些修改 例如在jnlp根元素下加上一下部分

  运行程序 在第一次启动的时候出现以下对话框

  选择 启动 以后启动时这个对话框再也不会出现 因为Java Web Start启动后相当于一个安装在本地的程序 既然第一次客户选择了信任 以后这个对话框就再没有必要出现了 当然 对于上面的Applet例子我们也可以选择 总是授权

cha138/Article/program/Java/hx/201311/27148

相关参考

知识大全 您好!麻烦问一下,L71的“访问网络”在哪

您好!麻烦问一下,L71的“访问网络”在哪?我找了很久都没找到。谢谢!  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 Oracle11gR1中细粒度访问网络服务

Oracle11gR1中细粒度访问网络服务  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ora

知识大全 win7带网络的安全模式无法连接网络,提示无法加载远程访问连接管理器服务,错误711

win7带网络的安全模式无法连接网络,提示无法加载远程访问连接管理器服务,错误711从微软官网上找到的推荐解决方案如果禁用了下列服务,可能会发生此问题:电话服务远程访问连接管理器远程访问自动连接管理器

知识大全 戴尔笔记本电脑连接wifi怎么出现无网络访问

戴尔笔记本电脑连接wifi怎么出现无网络访问首先。能连接无线网络,但是不能连接inter关键在于ip地址的设置。一般情况下,连接无线之后,是路由器自动分配ip地址这个功能在路由器上设置(DHCP)。你

知识大全 点开网页就显示 无因特网访问,请检查您的网络设置

今天电脑突然上不了网点开网页就显示无因特网访问,请检查您的网络设置!这个问题是由于你的路由器被恢复了默认设置,所以导致你的网络中断,建议你从新配置路由器,这样就可以上网了。电脑上不了网,总是显示“无因

知识大全 TCP/IP远程访问操作

TCP/IP远程访问操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  TCP/IP网络通信软件

知识大全 Java:Applet布局问题

Java:Applet布局问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  applet布局问

知识大全 电脑连不上网 开机的时候变得非常卡,网络连接显示无法加载远程访问连接管理器服务 求解答

电脑连不上网开机的时候变得非常卡,网络连接显示无法加载远程访问连接管理器服务求解答一、可以通过电脑管家网络修复功能修复一下。1.打开电脑管家,点击工具箱。2.找到网络修复工具3.点击“立即修复”即可。

知识大全 Applet的3中运行方式

Applet的3中运行方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  先有一个applet小

知识大全 Applications与applets

Java:Applications与applets  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!