2009-06-23 6 views
1

Die Frage ist selbsterklärend, denke ich. Dies ist, was ich tue:Ist es ratsam, HttpSession als ClientSession in Java zu konvertieren? Was ist die beste Praxis?

Student student = Student.findStudent(s.getRegNumber(), (ClientSession)httpSesn); 

findStudent() -Methode gibt mir ein Objekt der Student-Klasse. Wie Sie sehen können, übergebe ich das HttpSession-Objekt in eine ClientSession. Ist es ratsam? Sind ihre versteckten Haken beteiligt? Was sind die besten Praktiken?

+0

Was ist 'CLientSession'? Einige Anwendungsserver-spezifische Typen? – skaffman

Antwort

1

Also ich nehme an, dass Sie diesen Code in einem App-Server ausführen, und es ist eine Zeile von einem Servlet. Da HttpSession nicht unbedingt von ClientSession in der Java EE-Spezifikation erbt oder implementiert wird (es sei denn, ich habe etwas Grundlegendes verpasst), wird der Code wahrscheinlich explodieren, wenn Sie ihn auf einem anderen Server ausführen (Say Glassfish oder Tomcat oder JBoss)).

Wenn Sie versuchen, Objekte zum Testen auszuspionieren, implementieren die Mocks außerdem die HttpSession-Schnittstelle und nicht die ClientSession-Schnittstelle. Dies wird Ihnen eine ClassCastException geben.

0

Ich glaube nicht, dass es eine Sache namens ClientSession gibt. Ist das die Klasse, die du entworfen hast? Aber die Frage ist, warum das httpSesn in ClientSession zu werfen? Warum nicht httpSesn direkt in die Methode übergeben und getAttribute verwenden?

Verwandte Themen