Announcement

Collapse
No announcement yet.

EJBs auf IAS4 mit JSP ...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EJBs auf IAS4 mit JSP ...

    Hallo,

    ich möchte via JSP auf EJBs zugreifen, die im Container des Inprise Application Servers 4 abgelegt sind.
    Anscheinend ist eine direkte Kommunikation nicht möglich; der Aufruf der EJBs muss lt. div. Tutorials über eine JavaBean erfolgen, die per Aufruf von
    <jsp:useBean id="beanID" scope="session" class="project_name.bean_name />
    referenziert wird. Ich habe jetzt also eine .java-Datei und eine .jsp-Datei ... Mir stellt sich da jetzt folgende Frage:

    Was muss ich, in welcher Form, wohin kopieren und sonst noch beachten, damit der Aufruf http://server_nameort/myJSP.jsp (beim IAS oder generell) funktioniert und mein JSP auch richtig läuft ?

    Mit dem Runtime-Modul JspRunner des JBuilder 3.5 funktioniert alles tadellos, lediglich die Portierung auf den IAS macht Schwierigkeiten !

    ich bin euch wirklich dankbar für jede Hilfe.

    viele Grüße,
    Sven M. ;o)

  • #2
    Hallo Sven!<br>
    Wie sieht denn Dein Aufruf fuer die EJBs in der JavaBean-Klasse aus? Benutzt Du den InitialContext? Machst Du danach ein lookup und der klappt nicht?<br>
    Ich denke Du musst folgendes in Deiner JavaBean einbinden:<br>
    Hashtable env = new Hashtable();<br>
    env.put(javax.naming.Context.INITIAL_CONTEXT_FACTO RY, "com.inprise.j2ee.jndi.CtxFactory");<br>
    env.put(javax.naming.Context.URL_PKG_PREFIXES, "com.inprise.j2ee");<br>
    context = new InitialContext(env);<br>
    <b>//jetzt der lookup<br></b>
    Object ref = context.lookup("Dein JNDI-Name der Bean");<br>
    testHome = (TestHome)javax.rmi.PortableRemoteObject.narrow(re f, TestHome.class);<br>
    test = testHome.create();<br><br>
    Sollte es jetzt hier irgendwo krachen, ist es meisten ein CLASSPATH-Problem! (meisten beim narrow) Zum debuggen noch ein Tipp: <b>ref.getClass().toString();</b> nach dem lookup!<br>
    Gruss und Kopf hoch

    Comment


    • #3
      Hallo Marc,

      vielen Dank für Deine Antwort.
      Der EJB-Aufruf klappte tadellos, wenn ich die JSPs im JBuilder aufrufe. Jetzt weiss ich nur nicht, wo die erstellten Dateien hinkopiert werden müssen, sprich: Wie sage ich dem Inprise Application Server, dass er jetzt ein neues JSP hat, und wo er dieses und die dazugehörige JavaBean-class findet ?? Die EJBs müssen ja auch in den Container "deployed" werden, aber was mache ich mit meiner TestBean.class und dem Test.jsp ????

      viele Grüße,
      Sven ;o

      Comment


      • #4
        Hallo Sven,<br>
        Ich muss leider zugeben, dass ich selbst noch nie mit JSP auf meine EJB zugegriffen habe. Im Verzeichnis des IAS stehen verschiedene Beispiele, vielleicht helfen die Dir weiter! Noch ein Tip, wenn Du den IAS am laufen hast, kannst Du auch mit einem Browser den IAS administrieren. <b>http://rechnername:8080</b> Da kann man etwas zu Servlets finden!<br>
        Die Beispiele kann man sich mit <b>http://localhost:8080/examples/jsp/samples/counter/counter.jsp</b> anschauen. Kopier Deine Klasse doch mal in so ein Verzeichnis und setzte den CLASSPATH. Wichtig ist natuerlich auch, dass Du den JBuilder beenden musst

        Comment


        • #5
          Hallo Marc,

          nochmal "Danke für Deine Antwort" ... ;o)
          Die Beispiele habe ich mal ausprobiert, hat mich allerdings nicht weitergebracht ... selbst eigene Servlets funktionierten nicht.
          Wenn ich die JSPs unter´m JBuilder ausführe, liegen sie auf einem extra-Port (meist 8081) und dann kann ich da auch mit´m Browser ran.
          Mal sehen ...

          viele Grüße,
          Sven ;o

          Comment


          • #6
            Normalerweise gehören die JavaBean-Klassen (.class) in ein Web-Inf Verzeichnis auf dem Web-Server. Das jsp-File dagegen kann ganz beliebig innerhalb der html-Struktur auf den Web-Server liegen

            Comment

            Working...
            X