Java EE Filter können keine Cookies erhalten?

7

Warum können Cookies nicht von einem Servlet-Filter referenziert werden? Es scheint nur jenseits von mir, dass Java EE es Ihnen nicht erlauben würde, Cookie-Werte zu bereinigen:

%Vor%

ServletRequest unterstützt getCookies nicht (wie bei HttpServletRequest).

    
Zombies 23.07.2009, 18:51
quelle

3 Antworten

19

Um die Cookies zu erhalten, müssen Sie sie in HttpServletRequest umwandeln.

%Vor%

Der Grund, dass ServletResponse class Cookies nicht unterstützt, ist, dass das Protokoll nicht unbedingt http in ServletRequest ist. Sie können nicht sicher sein, dass es Cookies gibt. Cookies sind eine Http-Sache.

    
jjnguy 23.07.2009, 18:56
quelle
5

Auf Servlets muss nicht über das HTTP-Protokoll zugegriffen werden. Daher muss Ihr Servlet kein HttpServlet sein - es kann sich beispielsweise um ein Servlet handeln, das bestimmte Dokumente über FTP versendet. Aus diesem Grund sind die grundlegenden Eigenschaften eines Servlets in den ServletRequest- und ServletResponse-Schnittstellen gekapselt. Wenn Sie jedoch wissen, dass Ihr Servlet ein HTTPServlet ist, können Sie diese in HttpServletRequest bzw. HttpServletResponse ablegen, ohne dass eine Chance für eine ClassCastException besteht ist wirklich ein HttpServlet.

    
MetroidFan2002 23.07.2009 19:00
quelle
2

Du weißt, dass du es tatsächlich in HttpServletRequest umsetzen kannst, oder? : -)

    
ChssPly76 23.07.2009 18:53
quelle