ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1001
1001
EMPFEHLEN
-
Nabend.
Ich mache gerade das jsp-tutorial und irgendwie will er die bean nicht laden.
Code :1 2 3 4 5 6 7 8 9
org.apache.jasper.JasperException: Attempted a bean operation on a null object. org.apache.jasper.runtime.JspRuntimeLibrary.handleGetProperty(JspRuntimeLibrary.java:601) org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:51) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Ich vermute dass er die web.xml nicht geladen hat.
Ich sollte vielleicht erwähnen, dass ich Eclipse mit dem Tomcat-Plugin nutze. Ich konnte schon Sachen anzeigen lassen, weshalb ich denke dass das Plugin richtig konfiguriert ist.
aber mit der Zeilehat er seine ProblemeCode :1
<jsp:getProperty name="greetingbean" property="greeting" />
Schon mal Danke im voraus
-
10.02.05 15:27 #2
- Registriert seit
- Oct 2004
- Beiträge
- 19
Wo wird greetingbean denn instanziiert?
-
Danke für das Interesse.
Der Code steht im Tutorial aber ich schreibs trotzdem nochmal.
web.xmlCode :1 2 3 4 5 6 7 8 9 10 11
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>start</servlet-name> <servlet-class>de.tutorials.StartServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>start</servlet-name> <url-pattern>/greeting</url-pattern> </servlet-mapping> </web-app>
StartServlet.javaCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
package com; import java.io.IOException; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author holyfly * 10.05.2004 StartServlet */ public class StartServlet extends HttpServlet { /* (non-Javadoc) * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* Die die von mir definierte Methode getGreetingBean() gibt mir eine * JavaBean (Klasse mit get/set Methoden) zurück. */ GreetingBean bean = getGreetingBean(); /* Die bean dem request "anhängen" */ request.setAttribute("greetingbean",bean); /* RequestDispatcher auf die JSP hello.jsp holen */ RequestDispatcher dispatcher = request.getRequestDispatcher("hello.jsp"); /* über den RequestDispatcher den request, und den response auf * die JSP forwarden. */ dispatcher.forward(request,response); } /** * @return */ private GreetingBean getGreetingBean() { GreetingBean bean = new GreetingBean(); /* die von mir definierte Methode getDayTime bestimmt wie * der Gruss aussehen soll (sprich guten Morgen, guten Abend ..) */ bean.setDayTime(getDayTime()); return bean; } /* (non-Javadoc) * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* einzelne kommentare in doGet() beachten */ GreetingBean bean = getGreetingBean(); bean.setDayTime(getDayTime()); /* Wir holen uns die geposteten Daten, aus dem request */ String name = request.getParameter("name"); /* übergeben den namen der bean */ bean.setName(name); request.setAttribute("greetingbean",bean); /* kurzform für das RequestDispatcher forward */ request.getRequestDispatcher("index.jsp").forward(request,response); } /** * @return */ private String getDayTime() { /* einen neuen Kalender erstellen, und auf die aktuelle Zeit setzen*/ Calendar calendar = new GregorianCalendar(); calendar.setTimeInMillis(System.currentTimeMillis()); /* ein Date object mit der aktuellen Zeit erstellen */ Date now = calendar.getTime(); /* Kalender auf 12:00 setzen und den Stamp für diese Zeit erhalten * um damit ein neues Date Object um 12:00 zu erhalten */ calendar.set(Calendar.HOUR_OF_DAY,12); calendar.set(Calendar.MINUTE,0); Date lunch = new Date(calendar.getTimeInMillis()); /* Kalender auf 18:00 setzen und den Stamp dafür erhalten für ein * erneutes Date Object */ calendar.set(Calendar.HOUR_OF_DAY,18); Date evening = new Date(calendar.getTimeInMillis()); /* Rueckgabe wird auf Morgen gesetzt und immer ein weiter wenn es * doch später ist. */ String daytime = "Morgen"; if(now.after(lunch)) daytime = "Tag"; if(now.after(evening)) daytime = "Abend"; return daytime; } }
GreetingBean.javaCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
package com; /** * @author holyfly * 12.05.2004 GreetingBean */ public class GreetingBean { private String dayTime, name; private String greeting; /** * @param dayTime The dayTime to set. */ public void setDayTime(String dayTime) { this.dayTime = dayTime; } /** * @param name The name to set. */ public void setName(String name) { this.name = name; } /** * @return Returns the greeting. */ public String getGreeting() { String value = "Guten "+dayTime; if(name!=null) value+=" liebe(r) "+name; return value; } }
index.jspCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<html> <!-- Angabe der genutzen Sprache in dieser JSP --> <%@ page language="java" %> <head> <title>Mein erstes JSP</title> </head> <body> <!-- Zugriff auf die GreetingBean instanz hier das Property greeting --> <jsp:getProperty name="greetingbean" property="greeting" /> <br/> <form action="greeting" method="post"> Ihr name: <input name="name" type="text" /> <input type="submit" value="Los!" /> </formular> hallo </body> </html>
Geändert von Vatar (10.02.05 um 18:13 Uhr)
-
10.02.05 19:30 #4
- Registriert seit
- Oct 2004
- Beiträge
- 19
Auf die schnelle würde ich sagen das der Fehler in der index.jsp liegt, denn dort ist das Objekt greetingbean nicht verfügbar bzw noch nicht instanziiert oder
ist falsch scoped.Code :1
<jsp:getProperty name="greetingbean" property="greeting" />
Du solltest vorher
Code :1
<jsp:useBean id="greetingbean" class="com.GreetingBean" />
benutzen um das greetingbean zu instanziieren, oder solltest, soweit das greetingbean vorhanden ist bei der getProperty methode den richtigen scope (session, request etc. )setzen.
-
Super.
Funktioniert zwar noch nicht ganz (die erste seite wird angezeigt, aber bei der ausführung kommt es zu einem anderen Fehler) aber jetzt kann ich mich wieder grob erinnern. Hab in meinem ersten praktikum mal ein wenig was mit jsp gemacht, das is aber schon 1,5 Jahre her.
Werd mich mal durchackern.
Thx
edit: Problem erledigt. In der web.xml war noch ein anderer Packetpfad angegeben. Man sollte doch nichts ändern in einem tutorial (wenn man sich nicht so gut auskennt)
Geändert von Vatar (10.02.05 um 21:11 Uhr)
-
19.06.05 18:42 #6
So, nach einigen Stunden des herumexperimentierens und Googeln's hab ich die Schnauze voll. Ich bekomme den Selben Fehler, wobei ich alles aus dem Tutorial kopiert habe.
Code :1
Attempted a bean operation on a null object.
Die Anweisung mit <jsp:useBean id="greetingbean" class="com.GreetingBean" /> hilft mir auch nicht weiter, denn ich weis nicht wie ich sie in diesem konkreten Beispiel Anwenden soll. Mit <jsp:useBean id="greetingbean" class="de.tutorials.GreetingBean" /> bekomme ich mal abwechselnd den obigen Fehler, ab und an mal den Hinweis, dass der Wert "de.tutorials.GreetingBean" ungültig ist.
Bitte schreibt schnell, Tutorials die nicht funktionieren nerven echt.Fann Ég Fjalli Fallega Steina
Faldi Dá Alla Vildi Deim Leyna
Huldi Dar Hellisskúta Heillasteina
Alla Mína Una eth slegu Óskasteina
-
Hi, versuchts mal mit <form method="get" und nicht post.
Ihr ruft ja schließlich auch die doGet() im Servlet auf.
-
19.06.05 20:00 #8
Nein, das ist nicht das Problem.
Fann Ég Fjalli Fallega Steina
Faldi Dá Alla Vildi Deim Leyna
Huldi Dar Hellisskúta Heillasteina
Alla Mína Una eth slegu Óskasteina
Ähnliche Themen
-
Benutzerkonto wird nicht geladen
Von Chaka23 im Forum Microsoft WindowsAntworten: 3Letzter Beitrag: 06.01.09, 16:50 -
GUI wird nicht komplett geladen
Von Pichel im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 08.07.08, 16:16 -
MP3 wird nicht geladen
Von malibubu im Forum Flash PlattformAntworten: 1Letzter Beitrag: 07.05.05, 14:00 -
C4D-file wird nicht geladen !
Von MrBombast im Forum Cinema 4DAntworten: 13Letzter Beitrag: 11.08.04, 23:43 -
mysql wird nicht geladen
Von danube im Forum Hosting & WebserverAntworten: 2Letzter Beitrag: 11.08.03, 15:36





Zitieren
Login





