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

ServletContext wech...

0 views
Skip to first unread message

Christoph Seidel

unread,
Dec 24, 2002, 12:45:37 PM12/24/02
to
java.lang.NullPointerException
at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:205)

na unter welchen Umständen kann das denn passieren?


Christoph Seidel

unread,
Dec 24, 2002, 12:54:51 PM12/24/02
to

sorry- vergessen: tomcat 4.0.4, jdk 1.4.1, w2k


Nico Seessle

unread,
Dec 24, 2002, 1:28:47 PM12/24/02
to

So vom in den Sourcecode schauen würde ich sagen das es eigentlich nur
passieren sollten, das der ServletContext noch nicht da ist (also bevor
GenericServlet.init(ServletConfig) aufgerufen wurde).

Die Bug-Database gibt sonst auch nichts weiter her.

Wie sieht denn dein Sourcecode aus, der das verursacht?

Nico

Christoph Seidel

unread,
Dec 24, 2002, 1:56:19 PM12/24/02
to

Class1 extends HttpServlet:

public Object getAppAttribute(String name) {
ServletContext c = getServletContext();//<=peng!
return c.getAttribute(name);
}

Class2 extends Class1:

getAppAttribute(..);

beide klassen rufen weder init noch int(config);

Class2 wird von ner jsp gerufen


diese Konstallation hab ich auch in anderen Fällen (Class3, 4, ...), da
funzt es prima

Christoph Seidel

unread,
Dec 24, 2002, 2:37:13 PM12/24/02
to

ah, damned...

habs gefunden, da war noch ne klasse im spiel, die ein servlet ist und die
einfach so instanziiert wurde, da fehlt natürlich der context dann

frage: auch wenn man servlets ja nicht selbst instanziieren soll, was muß
man denn tun, damit es sich wie ein servlet verhält? reicht ein init(config)
aus?


Nico Seessle

unread,
Dec 24, 2002, 3:51:13 PM12/24/02
to
Christoph Seidel wrote:
>
> frage: auch wenn man servlets ja nicht selbst instanziieren soll, was muß
> man denn tun, damit es sich wie ein servlet verhält? reicht ein init(config)
> aus?
>

Also vom Sourcecode her sieht es so aus, als ob das zur Initialisierung
des Servlets reichen sollte, bzw. das es keine weiteren Instanzvariablen
gibt, die an anderer Stelle initialisiert werden.

Trotzdem ist mir ein Rätsel, wie du es erreichen willst, das sich das
ganze dann "wie ein Servlet verhält", da der Servlet-Container es ja nie
ansprechend würde... Wenn du natürlich nur von einem anderen Servlet/JSP
aus die doGet/... Methode direkt aufrufen willst... da sollten ja
eigentlich alle relevanten Variablen jeweils als Übergabeparameter
reinkommen.

Nico

Christoph Seidel

unread,
Dec 25, 2002, 7:31:18 AM12/25/02
to
Nico Seessle wrote:
> Trotzdem ist mir ein Rätsel, wie du es erreichen willst, das sich das
> ganze dann "wie ein Servlet verhält", da der Servlet-Container es ja
> nie ansprechend würde...

war ne rein theoretische frage, das ganze muß umdesignt werden


Ortwin Glück

unread,
Dec 25, 2002, 3:01:20 PM12/25/02
to
Christoph Seidel wrote:
> habs gefunden, da war noch ne klasse im spiel, die ein servlet ist und die
> einfach so instanziiert wurde, da fehlt natürlich der context dann

Dafür gibt's doch eigentlich request.forward und include und so?

Christoph Seidel

unread,
Dec 27, 2002, 4:44:21 AM12/27/02
to

ja, ich sagte ja schon: designfehler


0 new messages