Слушайте пользовательский протокол в Java-приложении - PullRequest
2 голосов
/ 03 ноября 2011

Я создал приложение Java, и я хотел бы иметь возможность выполнять действия в этом приложении, вызывая некоторые пользовательские URL-адреса (например, myapp: // do_this)

Я уже искал это, иЯ нашел некоторую информацию об обработке таких URL-адресов в java (URLStreamHandler).

Единственная часть, которую мне не хватает, это как сказать ОС перенаправить протокол "myapp: //" в мое приложение.

Все больше и больше приложений определяют свой собственный протокол, и мне было интересно, возможно ли создавать такие вещи в Java.

Спасибо

Ответы [ 3 ]

1 голос
/ 03 ноября 2011

Протокол в URLStreamHandler будет использоваться внутри jvm. Типичное использование это что-то вроде res: // ... для ресурсов. ОС и браузеры имеют свои собственные наборы протоколов (ftp, mailto).

Вы, вероятно, могли бы расширить Firefox с помощью плагина для обработки вашего протокола.

Но затем вы должны отправить это в свое приложение, работая в качестве небольшого «веб-сервера».

Забудьте на мгновение URLStreamHandler.

Вставьте веб-сервер Jetty в ваше приложение, скажем, через порт 8765, и напишите сервлет для обработки ваших URL-адресов. Тогда вы можете в вашем браузере набрать "http://localhost:8765/do_this". должно хватить.

0 голосов
/ 03 ноября 2011

Как уже говорили другие, заставить браузеры понимать новое имя протокола зависит от браузера (и ОС) - вы не можете сделать это с сервера.

Однако будет ли Java Web Start (http://download.oracle.com/javase/tutorial/deployment/webstart/) соответствовать вашим требованиям? Большинство браузеров уже настроены для корректной обработки приложений JWS.

0 голосов
/ 03 ноября 2011

Чтобы добавить новый протокол, необходимо реализовать компонент XPCOM.Поскольку XPCOM позволяет языкам программирования общаться друг с другом, компоненты XPCOM могут быть реализованы на C ++ или JavaScript в настоящее время в Mozilla.

http://www.nexgenmedia.net/docs/protocol/ поможет вам понять больше.

Я думаю, это то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...