J2EE的框架是Struts2+Hibernate+Spring应用javaBridge,在php文件中写java代码再调用简单的方法是可以实现的可是在调用Service层的方法就会出现异常,方法中调用了DAO层的操作这样当方法执行的dao的操作时会报异常,异常如下:
javax.servlet.ServletException: java.lang.RuntimeException: PHP Warning:  Unchecked exception detected: [[o:Response$UndeclaredThrowableErrorMarker]:"FATAL: Undeclared java.lang.RuntimeException detected. java.lang.Exception: Invoke failed: [[o:RegisterService]]->addTest((o:String)[o:String], (o:int)[o:Integer], (o:String)[o:String]). Cause: java.lang.NullPointerException VM: 1.6.0_05@http://java.sun.com/" at:
#-10 com.ks.service.RegisterService.addTest(RegisterService.java:190)
#-9 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
#-8 sun.reflect.NativeMethodAcc[...]__call('addTest', Array)
#6 D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\KST\java\Java.inc(1199): java_AbstractJava->__call('addTest', Array)
#7 [internal function]: Java->__call('addTest', Array)
#8 D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\KST\test.php(4): Java->addTest('chris_zcl', 20, '521')
#9 D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\KST\java\JavaProxy.php(1): require_once('D:\Program File...')
#10 {main}] in D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\KST\java\Java.inc on line 121
PHP Fatal error:  An unchecked exception occured during script execution. Please check the server log files for details. in D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\KST\java\Java.inc on line 461 php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:452)
php.java.servlet.CGIServlet.doGet(CGIServlet.java:474)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

解决方案 »

  1.   

    在php文件中写java代码
    没听过,不太清楚,个人觉得不太可能吧
      

  2.   


    这个是相当有可能地~关键是现在找不到applicationContext.xml文件对象我的php代码<?php
    try{
    $path = realpath("./WEB-INF/classes/applicationContext.xml");
    echo $path;
    $app = new Java("org.springframework.context.support.ClassPathXmlApplicationContext",$path);
    $app->refresh();
    $app->getBean("registerService");
    }catch(Exception $e){
    echo $e;
    }
    ?>
      

  3.   

    $app->getBean("registerService");报异常,提示bean“registerService”不存在
      

  4.   

    $path路径和权限对不?
    报异常,提示bean“registerService”不存在,貌似这个提示不关php的事吧。
    找找java那边的问题呢
      

  5.   


    确实是Java的问题,applicationContext对象获得的有问题。这回改好了~