Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Vasily
1

Как java-приложение может попросить OS запустить внешнее приложение?

20.11.2008, 13:04. Просмотров 2161. Ответов 11
Метки нет (Все метки)

Как java-приложение может попросить OS запустить внешнее приложение?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2008, 13:04
Ответы с готовыми решениями:

Как запустить java приложение с компьютера?
Добрый день.Вот пытаюсь научится программировать на Java .пишу простенькую программу,компилирую ее...

Как запустить приложение java с firebird
Доброе времени суток!! Уважаемые форумчане подскажите пожалуйста в чем может быть ошибка....

Java, Eclipse, Classpath. Как запустить приложение из командной строки
Доброе время суток. Столкнулся с такой проблемой - работаю в Eclipse. Если компилю проект в нем,...

Не получается запустить приложение windows из java программы
вот так пробую запустить что-то: Runtime r = Runtime.getRuntime(); try { r.exec("notepad");...

Как запустить оконное приложение?
Как запустить оконное приложение, автономно? Т.е. без загрузки его в качестве апплета из...

11
fplab
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
20.11.2008, 16:55 2
Например, так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.*;
public class DirCommand {
public static void main (String [] args) {
try {
String cmd = 'dir *.*';
Process proc = Runtime.getRuntime().exec (cmd);
InputStream i = proc.getInputStream ();
InputStreamReader r = new InputStreamReader (i);
BufferedReader in = new BufferedReader (r);
 
int line;
while ((line = in.read ()) != -1) {
System.out.print ((char)line);}
}
catch (IOException ioe) {}
}
}
0
Vasily
22.11.2008, 08:41 3
Огромное спасибо,
это именно то, что надо
EnSonar
0 / 0 / 0
Регистрация: 18.02.2009
Сообщений: 8
18.02.2009, 15:15 4
А если это апплет?
Конкретнее, проблема в следующем: есть прога .exe на сервере, нада ее запустить из апплета, да так, чтобы не возникал Access Denied и прочие Security Exception.
0
18.02.2009, 15:15
fplab
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
19.02.2009, 11:57 5
Запустить ехе-файл на сервере из апплета на клиентской машине - это (как говорил красноармеец товарищ Сухов) вряд ли А вот если апплет обращается к сервлету на сервере и этот сервлет запускает уже сам экзешник, то должно получиться (правда, сам не проверял, извиняйте).
0
Vasily
19.02.2009, 13:03 6
А если сервер не j2ee, то для этого, собственно, и придуман CGI. Поместите .exe в cgi-директорию на сервере и исполняйте его, вызвав по http.
EnSonar
0 / 0 / 0
Регистрация: 18.02.2009
Сообщений: 8
19.02.2009, 23:06 7
Большое спасибо за помощь. Сервлеты изучать времени, к сожалению, нет - до защиты курсовой времени все меньше :-((
CGI: Собственно, я так уже пробовал (правда, не из апплета, а просто набирал в IE). Он пишет CGI Error - заголовки не возвращены и все такое. Конечно, тестировал я в пределах PWS, не знаю, как на сервере. Впрочем, сейчас вопрос стоит так: есть откомпиленый класс java-приложения (конечно, есть и exe-версия, но чтоб ее запустить, надо classpath правильно установить, под 98 это большой гемморой - ведь это в автоэкзеке надо прописывать, а там >8 нельзя, в общем я по-всякому пробовал, но тем не менее при запуске exe возникает NoClassDefFoundError), так вот, этот класс нужно запустить, как альтернативу ехе, так:

Код
java -classpath 'C:MyProjectsJavaNetmath;C:Program FilesMathematica 4.1addonsapplicationsjlinkjlink.jar' NMMain 'C:Program FilesMathematica 4.1MathKernel.exe' 'Integrate[Sin[x],x]' 'out.txt' 'false'
, где NMMain - мой класс, остальное - всякие нужные (в моей проге) феньки. Возникают два техн. вопроса:
1. Как это запустить из апплета?
2. Если этого сделать нельзя, то как это сделать из asp-сценария?

Буду очень признателен всем, кто поможет советом - до защиты НЕДЕЛЯ!!!
0
Simon
21.02.2009, 10:31 8
Для того, чтобы аплет мог запускать приложения, надо ему это разрешить при помощи policytool
Vasily
21.02.2009, 17:11 9
помести эту строчку в .bat-файл и исполни его из браузера.
Должно сработать.
Если будет писать о том, что ему нужны заголовки, дополни файл
echo Content-Type: text/html и т.д.
или type c:путьфайл_шаблона_ответа.html

Не проверял, но должно работать. Если в трех словах, то так. Вариант кривой и небезопасный, но для курсовой сойдет.

Удачи.
EnSonar
0 / 0 / 0
Регистрация: 18.02.2009
Сообщений: 8
22.02.2009, 20:04 10
Спасибо большое, я так и сделал. Точнее, не совсем так - просто в своей проге сформировал выходной поток с заголовками и прочей ерундой, в итоге получается новый хтмл документ.
А почему небезопасный?
0
yeledima
0 / 0 / 0
Регистрация: 21.07.2008
Сообщений: 21
01.03.2009, 15:51 11
Народ , help pls...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.lang.*;
import java.io.*;
 
public class Execute {
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
String[] callAndArgs = { 'C:\j2sdk1.4.0\bin\javac.exe' ,
 'c:\ftp\some.java'};
try {
Process child = rt.exec(callAndArgs);
child.waitFor();
System.out.println('Process exit code is: ' + child.exitValue());
}
catch(IOException e) {
System.err.println(
 'IOException starting process!');
}
catch(InterruptedException e) {
System.err.println(
 'Interrupted waiting for process!');
}
}
}
выдает Process exit code is:1 ?????????????????????????????
0
mr_dronski
3 / 3 / 1
Регистрация: 13.08.2008
Сообщений: 931
01.03.2009, 16:15 12
с путями может глючить. попробуй переписать путь как /j2sdk1.4.0/bin/javac.exe & /ftp/some.java

дальше, начинает работать-то оно все с текущей директории, а где она? и последнее, лучше вызывть javac.Main, посмотрите в либах tools.jar.
0
01.03.2009, 16:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2009, 16:15

Как запустить простейшее приложение WebServices
Читаю книгу вижу фигу. Провёл уже 3 часа за изучением Sun Webservice Tutorial...

Как запустить приложение в JBoss через консоль?
Есть потребность в написании ява-приложения которое при запуске сканит каталожки файловой системы...

Как запустить клиентское приложение на удаленном сервере?
Люди! Помогите советом и вправьте мозги если что :). Вот есть эта технология. Не пожалел денег,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru