java/php Bridge: выполнение пользовательских функций приложения tomcat на wamp-сервере (php)
Как видно из заголовка, я хочу использовать классы и функции, предоставляемые веб-приложением, запущенным на tomcat 7, в php-скрипте, работающем на wamp-сервере. Хотя я нашел что-то связанное, я не нашел ничего, шаг за шагом, о том, как выполнять пользовательские классы Java и функции в php. Мне удалось сделать эту работу, хотя:
require_once $_SERVER['DOCUMENT_ROOT']."JavaBridge/java/Java.inc";
$System = java("java.lang.System");
echo $System->getProperties();
В конце я хочу иметь возможность сделать что-то подобное:
$abc= java("myproject.abc");
где abc - это пользовательский класс в myproject
, Btw. Я заглянул в официальное руководство ( http://php-java-bridge.sourceforge.net/pjb/webapp.php), но оно либо не помогает, либо я просто не понимаю. Я также обнаружил, что в сообщении stackru ( Как вызывать пользовательские методы Java из PHP?), Проблема в том, что я не совсем понимаю, что он имеет в виду под
Теперь просто скопируйте файл java jar в папку tomcat /webapps/JavaBridge/WEB-INF/lib/...
Какие java.jar
файлы?
Заранее спасибо.
1 ответ
С java.jar
подразумевалось, что вы упаковываете.java/ пакеты вашего приложения, функции / классы которого вы хотите использовать, в.jar.
В Eclipse: Выберите пакеты / файлы -> щелкните правой кнопкой мыши -> Экспорт, выберите файл JAR -> Далее -> Отметьте "Экспортировать созданные файлы классов и ресурсы" -> Готово.
Теперь все, что вам нужно сделать, это скопировать это .jar
файл в папку WEB-INF/lib приложения JavaBridge (если у вас его еще нет, просто позвольте tomcat развернуть ваш JavaBridge.war
) и перезапустите сервер Tomcat. Вы можете вызывать свои функции затем так:
<?php
define("JAVA_HOSTS", "localhost:8080"); ////fill in on whatever port you're server is running on so Java.inc knows with whom it should connect
require_once $_SERVER['DOCUMENT_ROOT']."JavaBridge/java/Java.inc"; ////specify where on your apache server the Java.inc file is
$object=new Java("test.classname");
$object->Method();
?>