weblogic.jar是否放在了E:\JSPRMI\defaultroot\WEB-INF\lib\下?

解决方案 »

  1.   

    没有;但是同样的用application就可以!为什么?或把该application改造成想应的类,然后在jsp中调用就可以!
         !
     把weblogic.jar是否放到E:\JSPRMI\defaultroot\WEB-INF\lib\下还是不行!
      

  2.   

    }catch(Exception e) {
          throw e;
        }
    改成
        }catch(Exception e) {
          e.printStackTrace();
        }
    先看看哪行出错吧。EJB不熟其它不好说。
      

  3.   

    出错好象在“
      kehuHome = (success.KehuHome)PortableRemoteObject.narrow(ref,success.KehuHome.class);
    ”这一句!
      

  4.   

    出错提示如下":D:\JBuilder9\jdk1.4\bin\javaw -classpath "D:\JBuilder9\thirdparty\jakarta-tomcat-4.0.6-LE-jdk14\bin\bootstrap.jar;D:\JBuilder9\jdk1.4\lib\tools.jar"  -Dcatalina.home="D:/JBuilder9/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14"  org.apache.catalina.startup.Bootstrap -config E:\JSPRMI\Tomcat\conf\server8083.xml start 
    HttpConnector Opening server socket on all host IP addressesStarting service Tomcat-StandaloneApache Tomcat/4.0.6WebappLoader[]: Deploying class repositories to work directory E:\JSPRMI\Tomcat\workWebappLoader[]: Deploy JAR /WEB-INF/lib/Method.jar to E:\JSPRMI\defaultroot\WEB-INF\lib\Method.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/weblogic.jar to E:\JSPRMI\defaultroot\WEB-INF\lib\weblogic.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/wlclient.jar to E:\JSPRMI\defaultroot\WEB-INF\lib\wlclient.jarWebappLoader[]: Reloading checks are enabled for this ContextStandardManager[]: Seeding random number generator class java.security.SecureRandomStandardManager[]: Seeding of random number generator has been completedContextConfig[]: Added certificates -> request attribute ValveStandardWrapper[:default]: Loading container servlet defaultStandardWrapper[:invoker]: Loading container servlet invokerHttpConnector[8083] Starting background threadjava.lang.NullPointerException at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:180) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) at org.apache.jsp.jsp2$jsp.class$(jsp2$jsp.java:17) at org.apache.jsp.jsp2$jsp._jspService(jsp2$jsp.java:118) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125) at java.lang.Thread.run(Thread.java:536)
      

  5.   

    把EJB生成的XXX.jar放在/WEB-INF/lib 或/classses 下把,压缩包解开试试。
      

  6.   

    java.lang.NullPointerException at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:180) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132)
    应该是这里的问题。
      

  7.   

    看到两句。。
    Starting service Tomcat-StandaloneApache Tomcat/4.0.6你用的是Apache Tomcat/4.0.6????
      

  8.   


    Wnyu(已被封杀我用的是Apache Tomcat/4.0.6呀??
      是不是Apache Tomcat/4.0.6不能支持jsp用来调用远端?  您好该怎么解决呢!
      

  9.   

    你看看远端的weblogic的控制台上的信息,应该是你的Object ref = context.lookup("KehuRemote1");没有正确的lookup到ejb对象,造成ref为null,后面就出错了。
    ----------
    我用的是Apache Tomcat/4.0.6呀??
      是不是Apache Tomcat/4.0.6不能支持jsp用来调用远端?
    ----------
    远端调用跟调用的环境没有任何关系,只要是在虚拟机中即可
      

  10.   

    为何把调用ejb的lookup语句从jsp中移出放到类中,然后在再jsp中使用类来连接可以了!  不可思议!
      

  11.   

    难道没人知道!
    没有人遇到过!
      高手那去了??
       难道tomcat上运行的 jsp就不能访问远端的ejb了吗????????
       不可思议!!!
      

  12.   

    Context context =new InitialContext(properties);
           Object ref = context.lookup("KehuRemote1");
           //look up jndi name and cast to Home interface
           kehuHome = (success.KehuHome)PortableRemoteObject.narrow(ref,success.KehuHome.class);
    可能出在这里。
    你的KehuRemote1是不是JNDI呢?
    用success.KehuHome换成KehuHome
    success.KehuHome.class换成KehuHome.class
      

  13.   

    没有配错,在application程序中都可以,如果把调用ejb的lookup语句从jsp中移出放到类中,然后在再jsp中使用类来连接可以了!难道jsp不能直接访问ejb!??????
      

  14.   

    老兄使用的app server好像是tomcat嘛!怎么能用ejb呢?而看看你的那个context_factory又是weblogic的。
      

  15.   

    那为何把jsp改成servlet就可以了呢???基本内容不变!
      servlet1的程序如下:
      package succes;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;
    import javax.naming.*;
    import javax.rmi.PortableRemoteObject;
    import success.*;public class Servlet1 extends HttpServlet {
      private static final String CONTENT_TYPE = "text/html; charset=GBK";
      //Initialize global variables
      public void init() throws ServletException {
      }
      //Process the HTTP Get request
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        String url = "t3://192.168.0.6:7001";
        Properties properties = null;
        KehuHome kehuHome = null;
        Kehu kehu = null;
        try {
         properties = new Properties();
         properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
         properties.put(Context.PROVIDER_URL, url);      Context context = new InitialContext(properties);
          Object ref = context.lookup("KehuRemote1");
          //look up jndi name and cast to Home interface
          kehuHome = (KehuHome)PortableRemoteObject.narrow(ref,KehuHome.class);
          kehu=kehuHome.create("jsp");
          kehu.remove();
          out.println("ninhao");
       }catch(Exception e) {
         e.printStackTrace();
       }    out.println("<html>");
        out.println("<head><title>Servlet1</title></head>");
        out.println("<body bgcolor=\"#ffffff\">");
        out.println("<p>The servlet has received a GET. This is the reply.</p>");
        out.println("</body></html>");
      }
      //Clean up resources
      public void destroy() {
      }
    }
      是不是和我的jsp差不多???????  高手帮忙!
      

  16.   


    add the path of weblogic.jar to your classpath.
      

  17.   

    Tomcat 不支持EJB,换成weblogic吧。
      

  18.   

    Tomcat????老大,看看你的代码
    String url = "t3://192.168.0.6:7001";
        String user = null;
        String password = null;
        Properties properties = null;
        KehuHome kehuHome = null;
        Kehu kehu = null;
        try {
          properties = new Properties();
          properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
          properties.put(Context.PROVIDER_URL, url);
    和tomcat有关系吗????
    ft.
      

  19.   

    难道以前的B/S结构(用jsp和类制作的)系统就没有办法和j2ee的系统通信了吗????????
      大家没有试过这种情况!!!!
      高手!
      高手哪里去了???????
      ???????!!!!!
      

  20.   

    for jsp文件:把try去了,看看倒底是什么错.另外,一点一点注释找错.从上面,偶看不出有什么问题
      

  21.   

    老大,t3://127.0.0.1的协议是weblogic服务器的,而你在服务器的配置是tomcat!
    你说不出错才怪呢!!!!!
      

  22.   

    anson2003(老蒋) 说的对,没错这样是有问题。
      

  23.   

    楼上二位:为什么同样的servlet就可以!
      

  24.   

    强烈关注!这类NullPointer最难找,还是用JB bug一下,他好象可以bug JSP,只是我没用过。
      

  25.   

    servlet是不用协议的,他只是一个JAVA类,对于EJB的话是远程调用用的IIOP协议,所以SERVLET是没问题的!
    而EJB需要在服务器上生成STUB
      

  26.   

    没错,NullPointerException 的异常最难找,我也遇到过!看看classpath设置jar了吗??另外,用普通的的程序试试,(控制台程序即可)看看有没有问题,先把问题的范围缩小!
      

  27.   

    回复人: anson2003(老蒋) ( ) 信誉:100  2003-10-22 20:40:00  得分:0 
     
     
      老大,t3://127.0.0.1的协议是weblogic服务器的,而你在服务器的配置是tomcat!
    你说不出错才怪呢!!!!!
      
     
    Top 
     
     回复人: hxzhappy(冰雨) ( ) 信誉:100  2003-10-22 20:54:00  得分:0 
     
     
      anson2003(老蒋) 说的对,没错这样是有问题。
      
     
      

  28.   

    tomcat里没有EJB容器。但是从你的错误中看到的是使用了空指针,
    也就是说,你在SESSION里取到的东西,有可能是空的。处理一下试试!
      

  29.   

    weblogic 的协议,怎么可以使用tomcat作为服务器呢
      

  30.   

    难道以前的B/S结构(用jsp和类制作的)系统就没有办法和j2ee的系统通信了吗????????
      大家没有试过这种情况!!!!
      高手!
      高手哪里去了???????
      ???????!!!!!楼上二位:为什么同样的servlet在相应tomcat下就可以呢????????????????????
      

  31.   

    我不太清楚你的weblogic的版本,我估计是tomcat的servlet的版本和weblogic不一致,换一个低版本的tomcat4.0.6以下的都可以。
      

  32.   

    回复人: anson2003(老蒋) ( ) 信誉:100  2003-10-22 20:40:00  得分:0 
     
     
      老大,t3://127.0.0.1的协议是weblogic服务器的,而你在服务器的配置是tomcat!
    你说不出错才怪呢!!!!!
      
     
    Top 
     
     回复人: hxzhappy(冰雨) ( ) 信誉:100  2003-10-22 20:54:00  得分:0 
     
     
      anson2003(老蒋) 说的对,没错这样是有问题。
      

  33.   

    如果要调用EJB最好发布在Weblogic或WebSphere应用服务器上,而tomcat好象是不可以发布EJB的啊!
    发布后根据jndi名自动去lookup你的EJB code。
    还有一些基本的jar包必须放在相应的目录下。
      

  34.   

    难道以前的B/S结构(用jsp和类制作的)系统就没有办法和j2ee的系统通信了吗????????
      大家没有试过这种情况!!!!
      高手!
      高手哪里去了???????
      ???????!!!!!楼上各位:为什么同样的程序servlet在相应tomcat下就可以呢,而jsp就出错呢(我把jsp改成相应的servlet)????????????????????