Servlet -> JSP
-
Hallo,
ich habe einen Servlet. Der Servlet initialisiert einen Objekt (Device[]) in seine init()-Methode:Servlet: Simulator.java
public class Simulator extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { public Device[] devices; public DeviceManager deviceManager; public void init(ServletConfig config) throws ServletException { super.init(); deviceManager = new DeviceManager(); devices = new Device[4]; for(int i=0; i<devices.length; i++){ devices[i] = new Device(); devices[i].setID("1"); devices[i].setName("dummy"); devices[i].setInfo("Test"); } } public Device[] getDevises(){ return this.devices; } }
Also das heißt das wenn der Tomcat gestartet wird ist der Objekt Device[] gefühlt.
Wie kann man aus eine JSP-Seite auf der Initialisirte Objekt zugreifen ???
-
Gar nicht!
Deine JSP - Seite wird intern in ein vollständiges
Servlet umgewandelt und kennt dein anderes
Servlet nicht.Was hast du denn überhaupt vor?
-
Naja, vielleicht habe ich mich falsch ausgedrückt. Aber das was ich wollte geht.
Ich habe es nämlich so gelöst:- Also ich will ein Servlet haben der bei der Initialisirung einen Objekt Array füllt
- Es soll beim Tomcat start alles passierenin web.xml [somit wird der Servlet beim Start von Tomcat direkt geladen]
<servlet> <display-name>Simulator</display-name> <servlet-name>Simulator</servlet-name> <servlet-class>org.test.Simulator</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
Dann in meinem Servlet also Simulator.java
public void init(ServletConfig config) throws ServletException { super.init(); ....... config.getServletContext().setAttribute("device", devices[0]); }
und schliesslich in der index.jsp
<% Device dev = (Device) application.getAttribute("device"); %> <%=dev%><br>
ALSO ES IST MÖGLICH!