• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
Java
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
Java Web Start开发指南(二)
软件发布 Java Web Start开发指南(二)
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> JAVA教程 >> Java Web Start开发指南(二)

Java Web Start开发指南(二)

添加时间: 2006-2-19 6:10:29  作者: JAVA教程  阅读次数:296   来源: http://www.d9soft.com

        四、设置Web站点
Java Web Start 充分利用了已经存在的Internet技术,例如HTTP协议和Web服务器,这使得已存在的

用于部署基于HTML内容的基础系统能够重用来使用Java Web Start部署基于Java技术的应用程序。

为了在客户机上部署你的应用,你必须确保包含应用程序的所有文件能够通过Web服务器进行访问。

这意味着你必须拷贝一个或者多个与JNLP文件相一致的jar文件到你的Web服务器目录中。使Web站点

支持Java Web Start的设置类似于部署基于HTML的内容文件。唯一需要注意的是为Web服务器呗指一

种新的MIME类型。

1、配置Web服务器使之使用Java Web Start MIME类型
配置Web服务器,使所有的以.jnlp为扩展名的文件设置为application/x-java-jnlp-file MIME 类型

。

多数Web浏览器根据从Web服务器返回内容的MIME类型来决定怎样去处理特定的内容。为了让Web浏览

器调用Java Web Start,必须让服务器对jnlp文件返回application/x-java-jnlp-file MIME 类型。

每个Web服务器都有增加MIME类型的方法。对于Apache Web 服务器,必须增加以下行到.mime.types

配置文件中:
application/x-java-jnlp-file JNLP
对于器她服务器,请核对相关文档。

2、给应用程序建立一个JNLP文件
建立JNLP文件的简便方法是根据你的要求修改已经存在的JNLP文件。
在后面相关部分将会谈到JNLP文件的语法与格式。

3、确保应用程序能够通过Web服务器进行访问
确保你的应用程序的JAR文件和JNLP文件能够用JNLP文件中列出的URL进行访问。

4、在网页上建立一个指向JNLP文件的超级连接。
指向JNLP文件的超级连接是一个标准的HTML连接。例如:
Launch My Application
按照第一步中的设置所述,Web服务器将对所有以.jnlp为扩展名的任何文件自动返回

application/x-java-jnlp-file MIME 类型。这是确保Web浏览器在下载此文件的时候启动Java Web

Start的前提条件。
还应该在网页上提供一个Java Web Start安装程序的链接,这样将使那些还没有安装Java Web Start

的用户能够下载和安装Java Web Start。

对Java Web Start是否安装的检测:
在HTML页面中使用JavaScript/VBScript可以检测Java Web Start是否安装。示例如下:

注意这里的JavaScript脚本不能对Gecko-based的浏览器(例如:Netscape 6.x)是否安装Java Web

Start进行检测。
insertLink方法检测Java Web Start是否安装。如果已经安装的话,此方法输出的HTML将类似于:
My Application
如果没有安装的话将输出:
Need to install Java Web Start
在实际使用中,这应该是指向一个下载页面的链接。

示例JavaScript/VBScript如下:







以上的示例脚本调用浏览器检测脚本xbDetectBrowser.js。xbDetectBrowser.js的内容如下:
/* ***** BEGIN LICENSE BLOCK *****
* Licensed under Version: MPL 1.1/GPL 2.0/LGPL 2.1
* Full Terms at http://devedge.netscape.com/lib/js/license/mpl-tri-license.txt
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Netscape code.
*
* The Initial Developer of the Original Code is
* Netscape Corporation.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Bob Clary
*
* ***** END LICENSE BLOCK ***** */

function xbDetectBrowser()
{
var oldOnError = window.onerror;
var element = null;

window.onerror = null;

// work around bug in xpcdom Mozilla 0.9.1
window.saveNavigator = window.navigator;

navigator.OS = '';
navigator.version = parseFloat(navigator.appVersion);
navigator.org = '';
navigator.family = '';

var platform;
if (typeof(window.navigator.platform) != 'undefined')
{
platform = window.navigator.platform.toLowerCase();
if (platform.indexOf('win') != -1)
navigator.OS = 'win';
else if (platform.indexOf('mac') != -1)
navigator.OS = 'mac';
else if (platform.indexOf('unix') != -1    platform.indexOf('linux') != -1   

platform.indexOf('sun') != -1)
navigator.OS = 'nix';
}

var i = 0;
var ua = window.navigator.userAgent.toLowerCase();

if (ua.indexOf('opera') != -1)
{
i = ua.indexOf('opera');
navigator.family = 'opera';
navigator.org = 'opera';
navigator.version = parseFloat('0' + ua.substr(i+6), 10);
}
else if ((i = ua.indexOf('msie')) != -1)
{
navigator.org = 'microsoft';
navigator.version = parseFloat('0' + ua.substr(i+5), 10);

if (navigator.version < 4)
navigator.family = 'ie3';
else
navigator.family = 'ie4'
}
else if (ua.indexOf('gecko') != -1)
{
navigator.family = 'gecko';
var rvStart = ua.indexOf('rv:');
var rvEnd = ua.indexOf(')', rvStart);
var rv = ua.substring(rvStart+3, rvEnd);
var rvParts = rv.split('.');
var rvValue = 0;
var exp = 1;

for (var i = 0; i < rvParts.length; i++)
{
var val = parseInt(rvParts[i]);
rvValue += val / exp;
exp *= 100;
}
navigator.version = rvValue;

if (ua.indexOf('netscape') != -1)
navigator.org = 'netscape';
else if (ua.indexOf('compuserve') != -1)
navigator.org = 'compuserve';
else
navigator.org = 'mozilla';
}
else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) &&

(ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&&

(ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1))
{
var is_major = parseFloat(navigator.appVersion);

if (is_major < 4)
navigator.version = is_major;
else
{
i = ua.lastIndexOf('/')
navigator.version = parseFloat('0' + ua.substr(i+1), 10);
}
navigator.org = 'netscape';
navigator.family = 'nn' + parseInt(navigator.appVersion);
}
else if ((i = ua.indexOf('aol')) != -1 )
{
// aol
navigator.family = 'aol';
navigator.org = 'aol';
navigator.version = parseFloat('0' + ua.substr(i+4), 10);
}
else if ((i = ua.indexOf('hotjava')) != -1 )
{
// hotjava
navigator.family = 'hotjava';
navigator.org = 'sun';
navigator.version = parseFloat(navigator.appVersion);
}

window.onerror = oldOnError;
}

xbDetectBrowser();

PS:我只是提供以上的文章供大家参考,希望对大家有帮助,有共同爱好的朋友到www.redsec.org的论坛与我联系

 

上下文章:

 

上一篇文章: Java Web Start 开发指南(三) 下一篇文章: Java Web Start开发指南(一)

相关文章:

  • Vista系统的官方优化指南文档下载
  • 魔兽世界:BOSS战法师脱离战斗指南
  • Oracle加入Grails开源计划提升Java生产力
  • OCP认证完全指南[3]
  • Oracle9iAS证书指南与教材分析

相关软件:

  • Starter V5.6.2.8 免安装汉化版
  • StartAll V1.0
  • FullJava 1.5
  • NextSTART Full V3.41
  • 网页特效小精灵(javatx) V2.0
  • Java Perk V6.07

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • 深入理解AbstractClass和interface
  • JBUILDERX 初体验
  • 成为编程高手的八大奥秘
  • 为什么Java中继承是有害的一
  • 为什么Java中继承是有害的二
  • 初学Java要注意什么
  • JAVA开发中的中文处理问题
  • 汉字问题深入谈
  • 为什么会排队等待?
  • Java 程序中的多线程

JAVA教程阅读排行

  • Java连接数据库实例
  • 两种Java容器类List和Set分析
  • Java多线程编程经验谈
  • Java Web Start开发指南(一)
  • 如何将JAVA生成可执行文件?
  • 成为编程高手的八大奥秘
  • Java基础教程:打包详解
  • 初学Java要注意什么
  • Java Web Start 开发指南(三)
  • Java编出一个自己的JSP日历

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有