Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

<Содержание

Создание Веб-страницы, Которая Запускает Приложение


Эта глава включает следующие темы:

Введение

Следующая информация предшествует введению сценария Инструментария Развертывания в Java SE 6 обновлений 10 выпусков.
См. Java Богатый Совет Развертывания Интернет-приложений для информации об использовании сценария Инструментария Развертывания.

Для приложения, которое будет запущено от веб-страницы через JNLP, страница должна включать ссылку к файлу JNLP. Например, чтобы быть в состоянии запустить приложение app.jnlp на веб-сайте http://www.MySite.com, страница должна включать ссылку:

<a href=http://www.MySite.com/app.jnlp>Launch the application</a>

Это может иметь место, однако, что Java веб-Запуск не устанавливается на компьютере пользователя. Таким образом страница должна включать логику (сценарии), чтобы принять во внимание это. Фактически, страница должна включать логику для следующего:

Обнаружьте, если Java веб-Запуск устанавливается

Сценарии, и HTML для страницы автоустановки, обсуждаются ниже.

Обнаружение, если Java веб-Запуск устанавливается на Netscape

Вот первый сценарий, который должен быть выполнен на веб-странице для того, чтобы запуск приложение через JNLP:

<SCRIPT LANGUAGE="JavaScript"> 
var javawsInstalled = 0;  
var javaws142Installed=0;
var javaws150Installed=0;
var javaws160Installed = 0;
isIE = "false"; 
if (navigator.mimeTypes && navigator.mimeTypes.length) { 
   x = navigator.mimeTypes['application/x-java-jnlp-file']; 
   if (x) { 
      javawsInstalled = 1; 
      javaws142Installed=1;
      javaws150Installed=1;
      javaws160Installed = 1; 
  } 
} 
else { 
   isIE = "true"; 
} 
</SCRIPT> 

Этот сценарий смотрит на navigator.mimeTypes возразите и navigator.mimeTypes.length var, чтобы решить, является ли браузером Netscape или IE. Если length 0, предполагается, что браузер является IE, как с IE navigator.mimeTypes массив определяется, но всегда пустой. Если длина является ненулевой, то браузером, как предполагается, является Netscape, и тип MIME JNLP проверяется, чтобы видеть, существует ли это на Netscape. Если так, javawsInstalled, javaws142Installed, javaws150Installed и javaws160Installed все устанавливаются в 1. С Netscape не возможно определить, какая определенная версия Java веб-Запуск устанавливается, таким образом, все четыре переменные устанавливаются в 1.

Обнаруживая, если Запуск JavaWeb устанавливается на IE, и если так, версия

Вышеупомянутый JavaScript должен сопровождаться VBScript, который устанавливает переменные, связанные с Internet Explorer browers:

<SCRIPT LANGUAGE="VBScript">
on error resume next
If isIE = "true" Then
  If Not(IsObject(CreateObject("JavaWebStart.isInstalled"))) Then
     javawsInstalled = 0
  Else
     javawsInstalled = 1
  End If
  If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.4.2.0"))) Then
     javaws142Installed = 0
  Else
     javaws142Installed = 1
  End If 
  If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.5.0.0"))) Then
     javaws150Installed = 0
  Else
     javaws150Installed = 1
  End If  
  If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.6.0.0"))) Then
     javaws160Installed = 0
  Else
     javaws160Installed = 1
  End If  
End If
</SCRIPT>

Этот VBScript выполняется, если переменным isIE от preceeding JavaScript является "true"; то есть, если браузером конечного пользователя является Internet Explorer. Этот сценарий инстанцирует isInstalled COM-объект в JavaWebStart.dll, и этот объект определяют четыре вещи:

После того, как вышеупомянутые два сценария были выполнены, переменные javawsInstalled, javaws142Installed, javawsInstalled150 и javawsInstalled160 будет установлен или в 1 или в 0, следующим образом:

Браузер

javawsInstalled

javaws142Installed

javaws150Installed

javaws160Installed

Internet Explorer

1, если какая-либо версия Java веб-Запуск устанавливается; 0 иначе.

1, если Java веб-Запуск 1.4.2 устанавливается; 0 иначе.

1, если Java веб-Запуск 1.5.0 устанавливается; 0 иначе.

1, если Java веб-Запуск 1.6.0 устанавливается; 0 иначе.

Навигатор Netscape

1, если какая-либо версия Java веб-Запуск устанавливается; 0 иначе.

1, если какая-либо версия Java веб-Запуск устанавливается; 0 иначе.

1, если какая-либо версия Java веб-Запуск устанавливается; 0 иначе.

1, если какая-либо версия Java веб-Запуск устанавливается; 0 иначе.

Запуск приложения, если Java веб-Запуск Устанавливается — или обеспечение ссылки для автоустановки или общей страницы загрузки

Дополнительный JavaScript может использоваться, чтобы решить ли к:

Следующий JavaScript обрабатывает эти сценарии:

<script language="JavaScript">
/* Note that the logic below always launches the JNLP application
 *if the browser is Gecko based. This is because it is not possible
 *to detect MIME type application/x-java-jnlp-file on Gecko-based browsers. 
 */
if (javawsInstalled || (navigator.userAgent.indexOf("Gecko") !=-1)) {
    document.write("<a href=http://www.MySite.com/app.jnlp>Launch 
        the application</a>");
} else {
    document.write("Click ");
    document.write("<a href=http://java.sun.com/PluginBrowserCheck?
        pass=http://www.MySite.com/download.html&
        fail=http://java.sun.com/javase/downloads/ea.jsp>here</a> ");
    document.write("to download and install JRE 5.0 and 
        the application.");
}
</SCRIPT>

Примечания:

  1. Сценарий только использует javawsInstalled— нет javaws142Installed или javaws150Installed или javaws160Installed.

  2. Разрывы строки после'?'и'&'в целях удобочитаемости только; в фактическом сценарии не должно быть никаких перерывов href строка.

Если javawsInstalled 1, указывая, что Java, веб-Запуск уже доступен на клиенте, то сценарий обеспечивает ссылку к приложению jnlp файл. Если Java, веб-Запуск не устанавливается на клиенте, сценарий вместо этого, обеспечивает ссылку к PluginBrowserCheck программа на java.sun.com веб-сайт. PluginBrowserCheck проверки, использует ли клиент Internet Explorer на платформе Microsoft Windows. Если так, PluginBrowserCheck отправляет пользователю странице автоустановки http://www.MySite.com/download.html. (См. следующий раздел, Создавая страницу автоустановки, для того, как создать страницу автоустановки для IE, работающего на Windows.), Если PluginBrowserCheck решает, что пользователь не использует Internet Explorer на Microsoft Windows, пользователь перенаправляется к 6.0 общим страницам загрузки JRE на java.sun.com.

Создание страницы автоустановки

Файл download.html должен быть подготовлен на серверной стороне. Это содержит специальный OBJECT и теги PARAM, которые загрузят на клиент автоустановщик для JRE 6.0. Наряду с Java веб-Запуск, элемент управления ActiveX будет загружен на клиент. Элемент управления ActiveX запустит приложение, используя недавно установленный Java веб-Запуск. Вот демонстрационный файл download.html:

<HTML>
<BODY>
<OBJECT codebase="http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab#Version=6,0,0,0" 
classid="clsid:5852F5ED-8BF4-11D4-A245-0080C6F74284" height=0 width=0>
<PARAM name="app" value="http://www.MySite.com/app.jnlp">
<PARAM name="back" value="true">
<!-- Alternate HTML for browsers which cannot instantiate the object -->
<A href="http://java.sun.com/javase/downloads/ea.jsp">
Download Java Web Start</A>
</OBJECT>
</BODY>
</HTML>

Тег OBJECT выбирает a .cab файл, который содержит автоустановщик для JRE 6.0.

URL:

http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab

возвратит последний выпуск обновления, доступный для Java SE 6 выпусков.

Строка: Version=6,0,0,0 будет использоваться, чтобы сравниться с wsdetect.dll версия, которая регистрируется в CLSID выше. Если локальной машине установят dll, и версия больше чем или равна определенной Версии, то мы только загрузим dll в локальной машине. Иначе это загрузит и установит Java от определенной кодовой базы.

Теги PARAM определяют расположение приложения jnlp файл так, чтобы это могло быть автоматически запущено после JRE, устанавливается на клиенте.

app: Однажды Java устанавливается/загружается веб-Элемент управления ActiveX Запуска, это вызовет Java веб-Запуск, чтобы запустить приложение, определенное этим URL.

back: Это управляет поведением браузера после запуска приложения. Это может остаться на текущей странице (download.html в этом случае) или переместиться назад к предыдущей странице.

Для проблем, касающихся разработки приложений, см. следующую главу, Соображения Разработки приложений.


Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами