Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

kein usebean bei tomcat..

1 view
Skip to first unread message

Jörg

unread,
Jul 30, 2003, 12:24:41 PM7/30/03
to
Hi Leute...
Also ich bin momentan noch in der Lernphase, also bitte keine
Buh-Rufe...
Ich versuche mich durch die Examples des J2ee-Tutorials
durchzuarbeiten.
Unter anderem gibt es da das kleine cmproster-example.
Jetzt wollte ich mal zum zwecke der JSP-Übung eine Mini-Webschicht
dazu bauen.
Problem: Ich wollte mich dabei gleich in das Struts-Framework
einarbeiten und der j2ee-referenzserver mochte die bei mir irgendwie
nich. Also hab ich mir den Tomcat hergenommen und der hat mit dem
Ge-Struts-e überhauot kein Problem.
Aber: Irgendwie mag der ums verrecken kein usebean! Ich hab jetzt im
webapps ordner einen Projektordner (in dem Beispiel "Struts-blank" :o)
und dort im Web-inf eine index.jsp.
Diese Index.jsp macht nicht mehr als folgendes:

<html>
<head>
<Title>TestBeanNutzung</TITLE>
</head>
<body>
<jsp:useBean id="roster" class="roster.RosterBean" scope="session"/>
Test
</body>
</html>

dabei hab ich in struts-blank/web-inf/classes einen Ordner namens
roster in dem meine RosterBean.class liegt. Aber der Tomcat spuckt mir
immer nur aus:

type Exception report

message

description The server encountered an internal error () that prevented
it from fulfilling this request.

exception

javax.servlet.ServletException: javax/ejb/SessionBean
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
...
...
und weiter unten noch:
root cause

java.lang.NoClassDefFoundError: javax/ejb/SessionBean
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:488)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)
....
...

Da sich die class unter der referenzimplementierung einwandfrei
"usebeanen" lässt (dann aber halt struts-los) denk ich mal das da
irgendwo der tomcat die javax.ejb.sessionbean net findet.... aber wo
sag ich ihm das ? Hab in der Doku immer noch nix gefunden.

Danke für eure Hilfe *verzweifeltguck*

Jörg

Jonas Rathert

unread,
Jul 30, 2003, 12:45:48 PM7/30/03
to
Hallo!

> Da sich die class unter der referenzimplementierung einwandfrei
> "usebeanen" lässt (dann aber halt struts-los) denk ich mal das da
> irgendwo der tomcat die javax.ejb.sessionbean net findet.... aber wo
> sag ich ihm das ? Hab in der Doku immer noch nix gefunden.

Tomcat ist ein Servlet-, aber kein EJB-Container. M.a.W.: EJBs sind ihm
unbekannt (und einfach ein Jar-File [eine entsprechenden Bibliothek]
hinzufügen wird es in diesem Fall auch nicht bringen).

Tip: Fang erstmal mit Struts + "normalen" Beans und dem Servlet-Container
(also Tomcat) an. Wenn das läuft (und Du verstehst, warum und wie) wende Dich
den anderen Themen zu (und besorge Dir einen EJB-Container [manche sagen auch:
App.-Server], z.B. JBoss oder die freie Entwicklerlizenz von BEA (recht gute
Doku).

Gruß

Jonas

--
"Scientific progress goes 'boink'?" -- Hobbes

Jörg

unread,
Jul 31, 2003, 10:09:32 AM7/31/03
to
Danke erstmal für deinen Post, aber warum können die example-jsp pages
(z.B. "num") beans usen ( in dem Fall "numguessbean") ?

Danke schonmal

Jonas Rathert

unread,
Jul 31, 2003, 1:57:30 PM7/31/03
to
Hallo,

Jörg wrote:
^^
Quasindropel? Seramanus? Kopeldirtuquaxis? Oder einfach nur Müller?

> Danke erstmal für deinen Post, aber warum können die example-jsp pages
> (z.B. "num") beans usen ( in dem Fall "numguessbean") ?

Weil die dort verwendeten Beans keine EJBs sind, sondern "normale Java-Klasssen".

Das alles ist aber nur eine Vermutung: Deine bislang geposteten Auszüge
reichen nicht aus, das im Detail zu beantworten. Mir scheint aber, dass
Dein im ersten Beispiel gepostete "RosterBean" ein EJB ist - oder sowas,
jedenfalls scheint irgendeine eine Abhängigkeit zu javax.ejb.SessionBean zu
bestehen, das kennt der Tomcat nicht, kann es nicht laden und beschwert sich.

Die mit "<jsp:useBean ..." in einer JSP verwendeten Java-Klassen sind i.d.R.
"normale Java Klassen", jedenfalls dürfen sie keine Abhängikeiten haben, die
der Tomcat nicht auflösen kann.

Und nochmal: Tomcat ist _kein_ EJB-Container, sondern "nur" ein Servlet-Container.

0 new messages