Преобразование приложения Java в апплет Java и передача параметров из HTML - PullRequest
0 голосов
/ 30 сентября 2011

Я новичок в Java и пытался создать приложение, которое при запуске выполняет системную команду. Я сделал это с помощью следующего кода:

package printtest;
import java.io.*;
import java.util.*;
public class PrintTest {
 public static void main(String args[]) 
 throws InterruptedException,IOException 
    {

    List<String> command = new ArrayList<String>(); 
    command.add(System.getenv("programfiles") +"\\Internet Explorer\\"+"iexplore.exe");
    command.add("http://www.google.com");        
    ProcessBuilder builder = new ProcessBuilder(command);
    Map<String, String> environ = builder.environment();
    builder.directory(new File(System.getenv("programfiles")+"\\Internet Explorer\\"));

    System.out.println("Directory : " + System.getenv("programfiles")+"Internet Explorer\\");
    final Process process = builder.start();
    InputStream is = process.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line;
    while ((line = br.readLine()) != null) {
      System.out.println(line);
    }
    System.out.println("Program terminated!");
  }

}

Если я запускаю приложение, оно запускает системную команду в следующем синтаксисе: «iexplore.exe http://www.google.com". Это здорово.

Проблема, с которой я столкнулся, и я хотел бы попросить о помощи, заключается в следующем:

Я бы хотел передать переменные этому приложению со страницы HTML, чтобы аргументы после исполняемого файла могли быть переданы в Java-приложении путем изменения PARAMS в HTML. Для этого я понял, что это приложение должно быть апплетом.

Я не знаю, как изменить это, чтобы компилировать для включения в HTML.

Можете ли вы помочь мне с этим вопросом ?! Я уже 2 дня ищу ответ.

UPDATE:

Извините, я думаю, что не объясняю, как следовало бы. Вот что нужно сделать: 1. Интерфейсу управления заказами, написанному на PHP, нужен способ запуска системной команды с дополнительными параметрами для печати транспортных приемов. Для этого каким-то образом веб-страница должна инициировать печать через апплет или любое другое решение. Если у вас есть идея, как решить эту проблему, пожалуйста, скажите мне. Спасибо

1 Ответ

1 голос
/ 30 сентября 2011

Я хотел бы передать переменные этому приложению со страницы HTML, чтобы аргументы после исполняемого файла можно было передать в Java-приложении, изменив PARAMS в HTML. Для этого я понял, что это приложение должно быть апплетом.

Нет. Пока у вас есть что-то на стороне сервера, которое будет генерировать документы динамически (например, для параметров в HTML или файле запуска JNLP ), вы можете использовать эту функциональность для создания уникального (включая параметры для этого использования) файл запуска для Java Web Start запуска.

Конечно, независимо от того, является ли это апплетом или приложением JWS, для него потребуется графический интерфейс.


Кстати - если вы не понимаете:

  • Используемый код откроет IE в Windows.
    • Я использую Windows, но мой браузер по умолчанию - FireFox.
    • Это не удастся полностью на Mac, Linux, Unix ..
  • В Java есть 3 встроенных способа открыть веб-страницу.
    1. Applet имеет доступ к классу AppletContext, который предлагает AppletContext.showDocument (URL) .
    2. Приложения Java Web Start. иметь доступ к API JNLP, который предлагает BasicService.showDocument (URL) .
    3. Java 6+ приложений. можно использовать Desktop.browse (URI) .

Любой из двух последних превосходит метод Applet, поскольку они либо возвращают boolean, чтобы указать на успех, либо выдают ряд полезных исключений. Для использования в апплете или приложении. запуск с использованием JWS класса Desktop или Process потребует кода с цифровой подписью и доверенного кода.

...