Servlet kann nicht auf Instanz zugreifen

Status
Nicht offen für weitere Antworten.

dflasjjs

Bekanntes Mitglied
Hi,
ich möchte eine Java-Anwendung schreiben die mti Servlet und JSP-Seiten arbeitet.
So, bin gerade dabei mich ein wenig reinzufuchsen und habe folgendes Problem.

Ich kann man Servlet zwar auf die Java-Anwendung zugreifen, aber nur auf die static-Felder, überall anders gibt er mir eine null-pointer-exception. Woran liegt das? Ich meine nämlich, ich hätte es quasi schon mal genau so gemacht, theoretisch müsste dann irgendwo in der Java-Anwendung der Fehler sein...

[HIGHLIGHT="Java"]
public class Manager {

public String huhu = "huhu";
public String huhu2 = "AHAHAHAHA";

private String version = "0.1";
private Persons persons;

public void initialize() {
version = new String();
persons = new Persons();


}

public Manager() {
super();
huhu = "miau";
huhu2 = "wuff";
this.initialize();
}


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}

[/HIGHLIGHT]

Ups, habe meine ContextListener-Klasse vergessen zu posten:
[HIGHLIGHT="Java"]
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;





public final class ContextListener implements ServletContextListener {



public void contextDestroyed(ServletContextEvent servletContextEvent) {

ServletContext servletContext = servletContextEvent.getServletContext ();



servletContext.removeAttribute ("data");


}

public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext servletContext = servletContextEvent.getServletContext ();

Manager data = new Manager();





data.initialize();
data.huhu = "sksksks";


servletContext.setAttribute ("data", data);
}

}
[/HIGHLIGHT]



Servlet dazu:
[HIGHLIGHT="Java"]
Manager data = (Manager) this.getServletContext().getAttribute("data"); response.setContentType( "text/html" );
PrintWriter out = response.getWriter();
out.println( "" );
out.println( "vorher war drin:: " + data.huhu);
[/HIGHLIGHT]

Bei data.huhu bekomm ich die null-pointer-exception. Mach ich das Feld "huhu" static funzt es, was muss ich tun, um die instanz von Manager im Servlet zu haben bzw wo liegt mein Fehler? :)
bei
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Wo kommt denn deiner Meinung nach die Instanz aus this.getServletContext().getAttribute("data"); her? Oo
 

0x7F800000

Top Contributor
Bei data.huhu bekomm ich die null-pointer-exception.
An welcher stelle wird denn dieses data-attribute auf eine instanz der Manager-Klasse gesetzt, bzw. wo soll es denn passieren? Anscheinend findet das ja nicht statt.
Mach ich das Feld "huhu" static funzt es
Welch ein wunder... Wenn es static ist, dann hat es doch nichts mehr mit dieser instanz zu tun, und da brauchst du auch keine Instanz, kannst auch direkt "Manager.huhu" hinschreiben. Ein recht sinnfreies Manöver...
 

dflasjjs

Bekanntes Mitglied
Wo kommt denn deiner Meinung nach die Instanz aus this.getServletContext().getAttribute("data"); her? Oo

Ups, habe meine ContextListener-Klasse vergessen zu posten:
[HIGHLIGHT="Java"]
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;





public final class ContextListener implements ServletContextListener {



public void contextDestroyed(ServletContextEvent servletContextEvent) {

ServletContext servletContext = servletContextEvent.getServletContext ();



servletContext.removeAttribute ("data");


}

public void contextInitialized(ServletContextEvent servletContextEvent) {
ServletContext servletContext = servletContextEvent.getServletContext ();

Manager data = new Manager();





data.initialize();
data.huhu = "sksksks";


servletContext.setAttribute ("data", data);
}

}
[/HIGHLIGHT]
 

0x7F800000

Top Contributor
und an welcher Stelle hängst du diesen ServletContextListener an den betroffenen ServletContext an? ???:L (hab momentan irgendwie keinen Überblick)
 

dflasjjs

Bekanntes Mitglied
Verjigorm: Redest du jetzt von der Main? Die Instanz möchte ich auch gar nicht haben. Ich möchte die aus dem ContextListener, die in der Main ist beim experimentieren entstanden, werde es mal eben editieren.
 

0x7F800000

Top Contributor
du legst einen new Manager() in der contextInitialized() LOKAL an ...
Worauf willst du hinaus? Solange es in der Liste der Attribute des ServletContexts gespeichert ist, wird es vom GC nicht eingesammelt. Keine Angst, das ist hier kein return eines zeigers auf Lokale Variable^^ (mmm, das war ein geiler fehler in C++, könnte man taagelang dran sitzen als noob, lecker :D)

@OP:
Also beim Start vom Tomcat wird contextInitialized() aufgerufen, oder was meinst du?
Ja, wird es denn tatsächlich aufgerufen?

Zitat aus der API: ServletContextListener (Java EE 5)
To receive notification events, the implementation class must be configured in the deployment descriptor for the web application.
Hast du das alles sorgfältig erledigt????:L Falls nicht: ich kann dir dazu nicht viel sagen, hatte damit bisher nicht zu viel zu tun..
 

dflasjjs

Bekanntes Mitglied
@OP:

Ja, wird es denn tatsächlich aufgerufen?

Zitat aus der API: ServletContextListener (Java EE 5)
Hast du das alles sorgfältig erledigt????:L Falls nicht: ich kann dir dazu nicht viel sagen, hatte damit bisher nicht zu viel zu tun..

Argh, daran liegt es. Er ruft nicht meine Klasse auf!
Muss ich nu mal gucken wo man das einstellen muss.

EDIT: In der web.xml fehlte der Eintrag für Listener...
Danke 0x7F800000 für die nötigen Denkanstöße :)
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
R Upload Servlet: Ausgabe nicht korrekt Java Basics - Anfänger-Themen 2
T Servlet - oder doch nicht? Java Basics - Anfänger-Themen 4
T Servlet wird nicht erkannt Java Basics - Anfänger-Themen 10
Tandibur [erledigt] jsp überträgt nicht alle Parameter an Servlet Java Basics - Anfänger-Themen 2
A Finde javax.servlet.* nicht Java Basics - Anfänger-Themen 6
G doGet und doPost im Servlet nicht überschrieben Java Basics - Anfänger-Themen 9
W servlet imports nicht unterstützt Java Basics - Anfänger-Themen 3
P Servlet wird nicht gefunden Java Basics - Anfänger-Themen 4
S Jakarta FileUpload Servlet funktioniert nicht Java Basics - Anfänger-Themen 17
W servlet nicht gefunden Java Basics - Anfänger-Themen 8
G Servlet geht nicht Java Basics - Anfänger-Themen 5
G Servlet wird nicht importiert? Java Basics - Anfänger-Themen 3
M Kann neues Servlet nicht hinzufügen Java Basics - Anfänger-Themen 5
H What is the Life Cycle of an Object Created Within/Outside of a Servlet? Will that item be destroyed after the session ends? Java Basics - Anfänger-Themen 1
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
J javax.servlet.ServletException: Name is null Java Basics - Anfänger-Themen 7
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
E Erste Schritte Java Webeintwicklung (JSP/Servlet), wie am Besten einsteigen? Java Basics - Anfänger-Themen 0
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
H Variablen Servlet. Int i global Java Basics - Anfänger-Themen 4
C Inputreader Servlet Nullpointerexception Java Basics - Anfänger-Themen 6
B Servlet und Eclipse Java Basics - Anfänger-Themen 2
B Servlet ausfuehren Java Basics - Anfänger-Themen 4
O Servlet Klassen ? Java Basics - Anfänger-Themen 7
B Datenzugrifft: Servlet -> Objekte Java Basics - Anfänger-Themen 4
T Servlet HTML-Formular Java Basics - Anfänger-Themen 9
F Aus Servlet in JSP schreiben Java Basics - Anfänger-Themen 2
X Kurve im Servlet zeichnen lassen Java Basics - Anfänger-Themen 4
P Problem mit Servlet Java Basics - Anfänger-Themen 9
D Periodische Aufgaben erledigen in Webanwendung (Servlet/JSP) Java Basics - Anfänger-Themen 7
I Probleme mit Tomcat / Servlet auf Linux (Debian) Java Basics - Anfänger-Themen 7
D Servlet mit Utilities Java Basics - Anfänger-Themen 14
J Servlet Interface javax.servlet.Servlet Java Basics - Anfänger-Themen 2
G Parameter in Servlet weiterleiten Java Basics - Anfänger-Themen 5
G JSP, Applet oder Servlet? Java Basics - Anfänger-Themen 8
0x7F800000 Servlet ruft Servlet auf: Wie ServletRequest erstellen? Java Basics - Anfänger-Themen 6
0x7F800000 Servlet: wo bekommt man die eigene adresse? Java Basics - Anfänger-Themen 6
O Weiterleitung in einem Java-Servlet Java Basics - Anfänger-Themen 5
O Jar-Archiv im Servlet verwenden Java Basics - Anfänger-Themen 3
G Servlet Package wo herunterladen? Java Basics - Anfänger-Themen 2
P Servlet unterschiedliche Server Java Basics - Anfänger-Themen 2
W Servlet - out of memory Java Basics - Anfänger-Themen 7
F Applet --> Servlet --> Applet Java Basics - Anfänger-Themen 2
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
J Servlet Error Java Basics - Anfänger-Themen 11
D Aus Anwendung Zugriff auf ein Servlet Java Basics - Anfänger-Themen 5
P konsolen ausgabe bei servlet Java Basics - Anfänger-Themen 2
S Methoden aus einem Servlet in einer JSP verwenden Java Basics - Anfänger-Themen 5
T Wo Daten ablegen für mehrere Servlet-Instanzen? Java Basics - Anfänger-Themen 2
G import javax.servlet cannot be resolved Java Basics - Anfänger-Themen 1
Z Wo wird ein Servlet gespeichert ? Java Basics - Anfänger-Themen 2
I eine Klasse aus der Jar-Datei aus dem Servlet starten Java Basics - Anfänger-Themen 4
N Probleme mit import von javax.servlet.* Java Basics - Anfänger-Themen 3
T komplexe Strukturen in Servlet-Context speichern möglich? Java Basics - Anfänger-Themen 5
T servlet synchronisationsproblem Java Basics - Anfänger-Themen 4
A fileupload mit servlet Java Basics - Anfänger-Themen 6
P asynchrone Kommunikation Applet Servlet mit RMI möglich Java Basics - Anfänger-Themen 4
G Übergabe Variablen von Servlet zu JSP? Java Basics - Anfänger-Themen 4
G Formularübergabe in Servlet endet mit null. Java Basics - Anfänger-Themen 2
G Servlet gibt über request nur null zurück Java Basics - Anfänger-Themen 3
G problem mit servlet import Java Basics - Anfänger-Themen 4
R Servlet - JSP Java Basics - Anfänger-Themen 2
G hilfe jsp/servlet,jdbc api running on tomcat server+webProxy Java Basics - Anfänger-Themen 8
G Servlet aus programm abfragen Java Basics - Anfänger-Themen 9
H JSP Kein Durchblick. Servlet <-> JSP Java Basics - Anfänger-Themen 7
I Bean<>Servlet ? Java Basics - Anfänger-Themen 6
D Datentransfer via Servlet Java Basics - Anfänger-Themen 2
M Applet sendet daten an servlet und servlet wieder an applet Java Basics - Anfänger-Themen 5
M Servlet position bestimmen Java Basics - Anfänger-Themen 3
J Servlet - Datei auf Server speichern und Ausgabe Java Basics - Anfänger-Themen 5
C Servlet & tomcat 5.0.28 Java Basics - Anfänger-Themen 7
S Servlet-Anfänger Java Basics - Anfänger-Themen 4
G Mein Servlet ist "not available" Java Basics - Anfänger-Themen 12
D Beispiel-Servlet erstellen Java Basics - Anfänger-Themen 4
H Unterbrochener Link im Fomular bei Servlet-Aufruf Java Basics - Anfänger-Themen 4
E Webshop-Servlet: Problem beim Speichern der Bestellmenge Java Basics - Anfänger-Themen 3
M hilfe :} möchte servlet daten erfasssen-> hashmap speiche Java Basics - Anfänger-Themen 3
Z Servlet/Tomcat Problem Java Basics - Anfänger-Themen 3
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben