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
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: