Exception bei Cookie lesen

Status
Nicht offen für weitere Antworten.

Asha'man

Mitglied
Hallo Leute,

ich bastel gerade für meine kleine Community eine kleine Seite, wo sich jeder für ein Treffen anmelden kann. Hierzu möchte ich den Usernamen automatisch über den Cookie der Community einlesen und da ich eh vor habe Java zu lernen, habe ich gedacht, machste das ganze in Java anstatt in Perl.

Funktioniert leider (noch) nicht. :( Und ich bräuchte mal eure Hilfe.

Ich verwende Tomcat 5.0.18 als Applicationserver und nutze die IMHO sehr schicke TemplatingEngine Velocity (ist sicher Geschmackssache, mir gefällts). Zum coden nehme ich Eclipse M6. Kostenlos und dafür sehr sehr geil. Ausserdem steht ne große engagierte Community dahinter, was ich sehr wichtig finde bei Supportfragen, etc.

Folgende Klassenauszüge sind interessant:

Dieses Servlet hier füllt das Template mit Leben und zeigt es an. Das Try/Catch oben habe ich rausgenommen, weil mir die Logmeldung zu kurz war. Was habe ich noch für Möglichkeiten dort zu catchen und wie finde ich das demnächst selber raus?:

Code:
public class servShowParticipants extends VelocityServlet
{
	public Template handleRequest( HttpServletRequest request,
								   HttpServletResponse response,
								   Context context )
	{
		DBParticipants dbPart = new DBParticipants();
		String username = "";
		//try{
			Cookie[] cookies = request.getCookies();
			System.err.println(cookies);
			username = cookieValue.getCookieValue(cookies, "POSTNUKESID", "not logged in");
		/*}
		catch ( Exception e )
		{
			System.err.println("Exception caught: " + e);
		}*/
		
		Vector vec = dbPart.getParticipants();
		context.put("username", username);
		context.put("participants", vec );
		Template template = null;
...

Hier gebe ich den Wert des Cookies zurück:

Code:
/*
 * Created on 16.02.2004
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package celicameet.main;

import javax.servlet.http.Cookie;

/**
 * @author Asha'man
 *
 * To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class cookieValue {
	public static String getCookieValue(Cookie[] cookies,
										  String cookieName,
										  String defaultValue) {
		for(int i=0; i<cookies.length; i++) {
		  Cookie cookie = cookies[i];
		  if (cookieName.equals(cookie.getName()))
			return(cookie.getValue());
		}
		return(defaultValue);
	  }
}

Und das ist die Exception, die ich bekomme:

Code:
VelocityServlet : Error processing the template

java.lang.NullPointerException
java.lang.NullPointerException
	at celicameet.main.cookieValue.getCookieValue(Unknown Source)
	at celicameet.main.servShowParticipants.handleRequest(Unknown Source)
	at org.apache.velocity.servlet.VelocityServlet.doRequest(VelocityServlet.java:372)
	at org.apache.velocity.servlet.VelocityServlet.doGet(VelocityServlet.java:333)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:534)

Ich bastel jetzt seid ner Stunde an dem Fehler rum, aber ich hab keine Idee, warum er an dieser Stelle ne NullPointerException wirft. Warscheinlich ist es ne triviale Lösung oder nen Tippfehler oder so. Ich komm aber nicht drauf. HILFE! ;)

Wär super, wenn ihr ne Idee habt oder sagen könnt, wo ich suchen soll.

Thomas
 
B

Beni

Gast
Zum catchen: e.printStackTrace()

Ansonsten kenn ich mich nicht mit Cookies aus, aber was ich machen würde:
Bei jeder möglichen und unmöglichen Gelegenheit ein System.out.println() reinhacken, und jeweils ein Wert übergeben.
Wenn dann null rauskommt, weisst du schon eher, wo der Fehler sein könnte.

mfg Beni.

P.S. kann man da nicht auch mit dem Eclipse-Debugger dahinter?
 

Asha'man

Mitglied
Hey Beni,

es funktioniert! Scheinbar cookies war null, weil er keine passenden Cookies zur Domain gefunden hat. Erstaunlicherweise klappt das nur mit meinem Mozilla zuhause nicht. Mozilla in der Firma mit gleichem Cookie funktioniert einwandfrei. Muss mir beide Cookies mal genau anschauen. IMHO sind die gleich.

Danke für den Hinweis mit dem stackTrace(), werd ich gleich mal probieren.

Thomas
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Webserviceaufruf verursacht eine Exception Netzwerkprogrammierung 3
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
D Exception Handling bei In/Outputsockets in eigenen Threads Netzwerkprogrammierung 1
A Cast Exception bei einfachem RMI Beispiel Netzwerkprogrammierung 3
M Socket Exception tritt auf - weiß nicht weiter Netzwerkprogrammierung 3
K Socket Exception Connection reset Netzwerkprogrammierung 9
C ObjectInputReader wirft beim zweiten Aufruf eine Exception Netzwerkprogrammierung 3
M Socket TCP keep alive Exception wird nicht ausgelöst Netzwerkprogrammierung 11
G Exception: Connection reset by peer: socket write error Netzwerkprogrammierung 2
A Socket Socket Verbindung unterbrochen --> keine Exception Netzwerkprogrammierung 7
H Socket Closed Exception verhindern Netzwerkprogrammierung 3
M RMI unmarshaling exception ??? Netzwerkprogrammierung 2
D Socket Streams schliessen .. Exception gewollt? Netzwerkprogrammierung 4
K Socket Socket Exception Netzwerkprogrammierung 3
eQuest RMI Unserializable Exception Netzwerkprogrammierung 4
F Bekomme NoSuchElement Exception Netzwerkprogrammierung 5
S RMI Exception Netzwerkprogrammierung 2
T rmi ssl zu große Objekte übergeben -> Exception Netzwerkprogrammierung 10
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
G Exception javax.naming.CommunicationException Netzwerkprogrammierung 16
G Nullpointer Exception - Multithreading Netzwerkprogrammierung 25
G XML-RPC -> Exception $Proxy0-Unknown Source-No such handl Netzwerkprogrammierung 8
T Exception serialisieren? Netzwerkprogrammierung 5
K öffnen des socket schlägt fehl -> ABER: keine exception . Netzwerkprogrammierung 2
M ois nicht null, aber ois.getObject liefer exception Netzwerkprogrammierung 3
R ObjectOutput- / ObjectInputStream Exception? Netzwerkprogrammierung 2
D EA-Exception Network Adapter macht probleme Netzwerkprogrammierung 2
F Java Mail . Exception java.lang.NoClassDefFoundError Netzwerkprogrammierung 2
M Exception in thread "main" java.lang.NoClassDefFou Netzwerkprogrammierung 2
J JavaMail Exception bei senden an anderen Server. Netzwerkprogrammierung 8
M schreiben auf geschlossenen Socket ohne Exception Netzwerkprogrammierung 6
R LINUX: getHostAddress() und getHostName() werfen Exception Netzwerkprogrammierung 6
8 PrintWriter Exception Netzwerkprogrammierung 3
D socket exception + timing probleme Netzwerkprogrammierung 2
M SET-COOKIE Netzwerkprogrammierung 4
Carres HTTP Vorhandenen Session-ID Cookie von Firefox, Chrome oder IE in Java verwenden Netzwerkprogrammierung 2
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
S webseite mit cookie besuchen Netzwerkprogrammierung 5
C Wie sieht dieser Cookie in java aus Netzwerkprogrammierung 2
H WWW-Seiten laden mit Cookie-Unterstützung? Netzwerkprogrammierung 2
W Socket Server -> lesen von / schreiben zu php-script Netzwerkprogrammierung 6
B Versuch mit Socket etwas zu lesen und zu schreiben Netzwerkprogrammierung 15
Z Kann nicht Daten vom Server lesen Socket Netzwerkprogrammierung 10
OnDemand Json Objekt leeres Array beim lesen Netzwerkprogrammierung 9
I Offene Verbindungen lesen(Ressourcenmonitor lesen) Netzwerkprogrammierung 2
A FTP wie kann ich von java auf datei in fpt://192.168.178.1 lesen/schreiben? Netzwerkprogrammierung 3
C Gerenderte Website nach der ausführung von JavaScript als HTML Code aus lesen Netzwerkprogrammierung 4
B Java+Grbl: G-Code Befehle mit Java an Arduino senden und lesen Netzwerkprogrammierung 1
M TCP Verbindung Byte-weise lesen? Netzwerkprogrammierung 5
D GZIP InputStream lesen ohne zu encoden Netzwerkprogrammierung 1
L FTP Lesen einer Datei vom Server - Aufgehangen Netzwerkprogrammierung 0
C Datei über Socket schreiben und Ereignis lesen Netzwerkprogrammierung 9
B Socket Aufhängen beim Lesen Netzwerkprogrammierung 4
C Socket Probleme beim Lesen und Schreiben aus/in einen Socket Netzwerkprogrammierung 2
D Aus einer URL die Dateien lesen Netzwerkprogrammierung 5
P FTP Nochmal wachsende Datei per FTP lesen Netzwerkprogrammierung 9
P Wachsende Datei per FTP lesen Netzwerkprogrammierung 2
K Byte für Byte aus InputStream lesen Netzwerkprogrammierung 5
J VideoStream von Webseite lesen/speichern Netzwerkprogrammierung 7
J UDP port packete lesen,wenn dieser besetzt ist Netzwerkprogrammierung 3
S Thread, Daten vom Socket lesen Netzwerkprogrammierung 2
Z File über Socket lesen Netzwerkprogrammierung 3
W aktuelle Datum vom Server lesen! Netzwerkprogrammierung 5
T Inputstream -> verschiedene Objekte lesen Netzwerkprogrammierung 3
K Socket Daten lesen ohne Längenangabe Netzwerkprogrammierung 19
T Socket Nullterminierten String lesen Netzwerkprogrammierung 4
L Java über php datei lesen? Netzwerkprogrammierung 18
Y Problem mit ObjectInputStream beim lesen vom Socket Netzwerkprogrammierung 10
T ServerSocket bleibt beim lesen von Input hängen Netzwerkprogrammierung 2
K Vom Socket lesen wenn das Gegenüber schon disconnected ist? Netzwerkprogrammierung 12
M lesen vom Client geht nicht Netzwerkprogrammierung 10
M Bytes aus Stream lesen Netzwerkprogrammierung 3
G unbekannte Zeichen beim senden und lesen Netzwerkprogrammierung 2
J Mit der File Api Dateien von anderen Rechnern lesen ? Netzwerkprogrammierung 3
F Netzwerktraffic lesen Netzwerkprogrammierung 16
E RTP Packet lesen - Byte Problem 0xFFFFFF80 statt 0x80 Netzwerkprogrammierung 7
S mit HttpClient Seiteninhalt lesen Netzwerkprogrammierung 8
R Mittels BufferedReader Objekte lesen? Netzwerkprogrammierung 5
G ProxySettings aus Internet Explorer lesen Netzwerkprogrammierung 8
T Sockets Verständnisfrage: abwechelnd lesen-schreiben Netzwerkprogrammierung 4
N Von nem Server per getInputStream in meheren Varianten lesen Netzwerkprogrammierung 13
thE_29 Vor dem ersten Posten bitte lesen! Netzwerkprogrammierung 0
S socket aus hashmap lesen -> geschlossen Netzwerkprogrammierung 2
J Vom BufferedReader lesen -> hängt ohne Fehler,ohne Except Netzwerkprogrammierung 2
N Username aus Java lesen Netzwerkprogrammierung 2
C POST-Parameter aus HTML-Script lesen Netzwerkprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben