>  기사  >  백엔드 개발  >  PHP에서 Java 메소드를 호출하는 방법

PHP에서 Java 메소드를 호출하는 방법

藏色散人
藏色散人원래의
2020-10-22 09:50:014815검색

php는 java 메소드를 호출합니다. 먼저 "php-java-bridge_6.2.1_documentation.zip"을 다운로드하고 JavaBridge를 실행한 다음 www 디렉토리에 새 test.php를 생성하고 마지막으로 PHP에서 사용자 정의 JAVA 클래스를 호출합니다.

PHP에서 Java 메소드를 호출하는 방법

권장: "PHP 비디오 튜토리얼" "java 비디오 튜토리얼"

1. PHP는 JAVA 메소드

1.1을 호출합니다. 소프트웨어 요구사항

  • php-java-bridge_6.2.1_documentation을 다운로드하세요. 우편번호 , 다운로드 주소는 다음과 같습니다. http://php-java-bridge.sourceforge.net/pjb/download.php
  • JavaBridge.jar: 위의 php-java-bridge_6.2.1_documentation.zip의 압축을 풀어 JavaBridge.war을 가져옵니다. , JavaBridge.war의 이름을 JavaBridge.jar로 변경하고 WinRAR을 다시 사용하여 JavaBridge.jar의 압축을 JavaBridge 디렉터리로 풀어냅니다. JavaBridge.jar 및 Lucene.jar은 JavaBridgeWEB-INFLIB에서 찾을 수 있습니다.
  • JDK: JavaBridge는 Java 언어로 구현되므로 jar 파일 실행을 지원하려면 JDK를 설치해야 합니다. 그리고 환경 변수를 구성합니다.

1.2. JavaBridge 실행

  • JavaBridgeWEB-INFLIB에서 JavaBridge.jar을 두 번 클릭하면 옵션이 포함된 대화 상자가 나타납니다. 팝업이 나타나지 않으면 JDK가 설치되어 있지 않기 때문입니다. 파일 연결 오류 해결 방법은 JDK를 설치하거나 두 번 클릭하는 대신 "start javaw -jar JavaBridge.jar"(내용은 *.bat에 저장되고 *.bat는 JavaBridge.jar과 동일한 디렉터리에 있음)을 실행하는 것입니다. . 대화 상자가 나타나면 선택할 필요 없이 "확인"을 클릭하기만 하면 됩니다. 다음과 같이 수정하세요.

1.3. JavaBridge 테스트

  • www 디렉터리에 다음 내용으로 새 test.php를 만듭니다.
require_once("java/Java.inc");

$system = new Java('java.lang.System');

$s = new Java("java.lang.String", "php-java-bridge config...<br><br>");

echo $s;

print &#39;Java version=&#39;.$system->getProperty(&#39;java.version&#39;).&#39; <br>&#39;;

print &#39;Java vendor=&#39; .$system->getProperty(&#39;java.vendor&#39;).&#39; <br>&#39;;

print &#39;OS=&#39;.$system->getProperty(&#39;os.name&#39;).&#39; &#39;.

$system->getProperty(&#39;os.version&#39;).&#39; on &#39;.

$system->getProperty(&#39;os.arch&#39;).&#39; <br>&#39;;

$formatter = new Java(&#39;java.text.SimpleDateFormat&#39;,

"EEEE, MMMM dd, yyyy &#39;at&#39; h:mm:ss a zzzz");

print $formatter->format(new Java(&#39;java.util.Date&#39;)).&#39; <br>&#39;.&#39; <br>&#39;;
  • JavaBridgeWEB-INFLIB에서 JavaBridge.jar을 찾아 압축을 풉니다. jar in JavaBridgeMETA - INF에서 java 디렉터리를 찾아 java 디렉터리를 test.php와 동일한 디렉터리에 완전히 복사한 후 http://localhost/test.php를 실행하면 다음과 같은 내용이 출력됩니다. JavaBridge 설치가 성공했습니다

1.4. PHP에서 사용자 정의 JAVA 클래스를 호출하세요

  • 먼저 테스트 클래스 Test.java를 만듭니다:
public class Test {

    private String name = "";

 

    // setter and getter

    public void setName(String name) {

       this.name = name;

    }

 

    public String getName() {

       return this.name;

    }

 

    //加法

    public float add(float num1, float num2) {

       return num1 + num2;

    }

}
  • 클래스를 작성한 후 Test.java를 컴파일하여 클래스 파일을 생성합니다. 을 클릭하고 Test.class를 C:Program FilesJavajre7classes 디렉터리에 복사합니다. 다음으로 버전 번호가 다르기 때문에 jre7 폴더 이름이 다를 수 있습니다. JDK를 설치할 때 기본적으로 C:Program FilesJavajre7classes가 없으며 수동으로 생성해야 합니다.
  • Test.php의 콘텐츠를 다음과 같이 수정하세요:
//自定义类测试

require_once("java/Java.inc");

$test = new Java("Test"); //产生实例

$test->setName("哈哈,PHP调用JAVA的方法!"); //后面的调用就跟在php中调用类方法一样

print "调用类Test的getName方法,返回值为:".$test->getName()."<br>";

print "调用Test的add方法,返回值为:".$test->add(11.2, 15.7);
  • 그런 다음 http://localhost/test.php를 방문하면 페이지에 다음 콘텐츠가 출력됩니다.
  • 이 작업을 완료하는 데 하루밖에 걸리지 않았습니다. 아아, 인터넷에서 많은 메소드를 찾았지만 작동하지 않습니다. 매번 java_require("Test.jar")를 추가하면 이 오류가 발생합니다. jar 패키지 참조: 경고: java_require()는 더 이상 지원되지 않습니다. 09cae9ec9708245cc669c2a919b913a3tomcat 또는 jee 핫 배포 1656 jar 패키지를 직접 참조하는 방법을 모르겠습니다. 방법을 알고 계시다면 조언을 부탁드립니다

위 내용은 PHP에서 Java 메소드를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.