Jak mogę otrzymać powiadomienie, gdy mój obiekt zostanie ograniczony/nieograniczony do obiektu sesji HTTP.Otrzymywanie powiadomień o ograniczeniu/nieograniczonym do sesji HTTP
6
A
Odpowiedz
7
Niech klasa obiektu implementuje HttpSessionBindingListener
.
public class YourObject implements HttpSessionBindingListener {
@Override
public void valueBound(HttpSessionBindingEvent event) {
// The current instance has been bound to the HttpSession.
}
@Override
public void valueUnbound(HttpSessionBindingEvent event) {
// The current instance has been unbound from the HttpSession.
}
}
Jeśli nie masz kontroli nad kod klasy obiektu, a tym samym nie można zmienić swój kod, a alternatywą jest wdrożenie HttpSessionAttributeListener
.
@WebListener
public class YourObjectSessionAttributeListener implements HttpSessionAttributeListener {
@Override
public void attributeAdded(HttpSessionBindingEvent event) {
if (event.getValue() instanceof YourObject) {
// An instance of YourObject has been bound to the session.
}
}
@Override
public void attributeRemoved(HttpSessionBindingEvent event) {
if (event.getValue() instanceof YourObject) {
// An instance of YourObject has been unbound from the session.
}
}
@Override
public void attributeReplaced(HttpSessionBindingEvent event) {
if (event.getValue() instanceof YourObject) {
// An instance of YourObject has been replaced in the session.
}
}
}
Uwaga: gdy jesteś jeszcze w Servlet 2.5 lub starszej, wymienić @WebListener
przez wejściem <listener>
konfiguracyjnego w web.xml
.
Powiązane problemy
- 1. Otrzymywanie powiadomień o osiągnięciach online/offline
- 2. Otrzymywanie powiadomień, gdy użytkownik naciśnie "Wyszukaj" na klawiaturze w UISearchDisplayController
- 3. Dostęp do zmiennej sesji z modułu HTTP
- 4. Otrzymywanie powiadomień o zasilaniu (w szczególności wyłączanie) w systemie Mac OSX
- 5. Otrzymywanie powiadomień o zmianach w bazie danych: czy można oglądać wpisy w dziale?
- 6. ograniczenie wysyłania powiadomień o jabłkach
- 7. zakładka powiadomień o błędzie cocos2d to crash
- 8. Jaki jest zakres sesji HTTP?
- 9. Powiadomienia o duplikatach powiadomień w chmurze Firebase
- 10. Wiele powiadomień o tej samej aktywności
- 11. Przynależność sesji do równoważenia obciążenia HTTP w Google Cloud
- 12. Lista wszystkich informacji o sesji
- 13. Jak zapobiec atakowi powodzi sesji HTTP
- 14. Jak uzyskać powiadomienie e-mailem o etykietach przypisanych do zmiany numeru
- 15. Czy JavaScript może odczytywać obiekt sesji HTTP?
- 16. Logowanie sesji a uwierzytelnianie HTTP. Zalety Wady:
- 17. Rejestracja systemu iOS dla powiadomień push w ramach aplikacji
- 18. Otrzymywanie powiadomień z niestandardowego przycisku "Gotowe" na klawiaturze numerycznej nie działa w systemie iOS 8.3
- 19. Ustawianie obiektów o zasięgu sesji w AuthenticationSuccessHandler
- 20. Panel powiadomień podobny do stackoverflow's
- 21. Otrzymywanie "nielegalnego dostępu do ładowania kolekcji" błąd
- 22. Odwołanie zwrotne powiadomień o strumieniu PHP nie jest wywoływane
- 23. Otrzymywanie nazwy parametru
- 24. Otrzymywanie ostrzeżenia dla UIPopoverBackgroundVisualEffectView
- 25. Nie można uzyskać informacji o sesji Ripple
- 26. Podejście do sesji memcached
- 27. O orzeźwiające obiektów w sesji sqlalchemy
- 28. Nie można uruchomić powiadomień w growl i powiadomień o groźnych growl_notify
- 29. Otrzymywanie has_secure_ps Railsów do pracy z OmniAuth
- 30. Otrzymywanie wysokości elementu
dzięki za pomoc. Tego właśnie szukałem :) – ramoh