2014年7月21日

Windows下於tomcat內架設JavaBridge


下載tomcat可攜版,假設tomcat放在c:\tomcat下

1.設定tomcat可正常執行

設定系統環境變數
CATALINA_HOME=c:\tomcat
Path=......;%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar

編輯tomcat/bin/startup.bat加入以下
set "JAVA_HOME=C:\Program Files (x86)\Java\jre7"
set "CATALINA_HOME=c:\tomcat"

2.複製JavaBridge.war至tomcat/weapps/下,移除webapps下其他目錄


tomcat會建立tomcat/webapps/JabaBridge目錄,此時JavaBridge.war可移除

從C:\tomcat\Webapps\JavaBridge\WEB-INF\lib複製JavaBridge.jar, php-servlet.jar and php-script.jar
到C:\tomcat\lib\


3.編輯web.xml加入以下

<listener><listener-class>php.java.servlet.ContextLoaderListener</listener-class></listener>
<servlet><servlet-name>PhpJavaServlet</servlet-name><servlet-class>php.java.servlet.PhpJavaServlet</servlet-class>
</servlet>
<servlet><servlet-name>PhpCGIServlet</servlet-name><servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class>
<init-param><param-name>prefer_system_php_exec</param-name><param-value>On</param-value></init-param>
<init-param><param-name>php_include_java</param-name><param-value>Off</param-value></init-param>
</servlet>
<servlet-mapping><servlet-name>PhpJavaServlet</servlet-name><url-pattern>*.phpjavabridge</url-pattern> </servlet-mapping>
<servlet-mapping><servlet-name>PhpCGIServlet</servlet-name><url-pattern>*.php</url-pattern></servlet-mapping>

4.測試

執行tomcat/bin/startup.bat來啟動tomcat

於apache下之javatest.php
require_once("http://127.0.0.1:8080/JavaBridge/java/Java.inc");
$j = new Java('java.lang.system');
echo $j->getProperty('java.version');

沒有留言:

張貼留言