Jaki jest cel interfejsu IsSerializable w GWT (odnośnie mechanizmu RPC). Nigdy nie udało mi się znaleźć dobrego wyjaśnienia, dlaczego tak jest i dlaczego domyślny interfejs znakowania Java Serializable nie działa.Jaki jest cel interfejsu IsSerializable w GWT (odnośnie mechanizmu RPC)?
Odpowiedz
Zarówno Serializable
i IsSerializable
pracy, zgodnie z GWT serialization docs w:
klasy zdefiniowane przez użytkownika jest serializable jeśli wszystkie następujące warunki:
- To jest przypisane do IsSerializable lub Serializable, albo ponieważ bezpośrednio implementuje jeden z tych interfejsów lub ponieważ wywodzi się z nadklasy, która ma
- Wszystkie nie-końcowe, nieprzejściowe pola instancji same mogą być szeregowalne, a
- Od wersji GWT 1.5 musi mieć domyślny konstruktor (zero argumentu) (z dowolnym modyfikatorem dostępu) lub w ogóle nie konstruktora.
Kluczową różnicą jest jednak, że ze względów bezpieczeństwa, wszystkie Serializable
zajęcia muszą być zawarte w polityce serializacji, który jest generowany w czasie kompilacji, podczas IsSerializable
zajęcia nie mają tego wymogu.
Jeśli Twoje zainteresowanie dotyczy wyłącznie GWT, a Ty nie: , np. udostępnić swoje klasy modelu między aplikacją internetową a inną aplikacją, sugeruję, aby twoje klasy modeli/DTO implementowały IsSerializable
.
Jeśli udostępnianie obiektów z innych programów, a następnie użyć Serializable ponieważ jest to standardowa funkcja biblioteki Java,
Ale jeśli tylko chcesz przekazać go pomiędzy serwerem a klientem w GWT następnie użyć IsSerializable. Pomaga upewnić się, że nie można włączyć przekazywania go do miejsc, do których nie powinien się udać.
- 1. Nagłówek odpowiedzi GWT RPC
- 2. interfejs GWT RPC problem
- 3. wyjątek w aplikacji RPC GWT
- 4. @WebServlet adnotacja i GWT RPC
- 5. Różnica między gwt, gwt-rpc, ext-gwt, inteligentny gwt
- 6. Jak grupować połączenia gwt-rpc?
- 7. Jaki jest cel IAsyncStateMachine.SetStateMachine?
- 8. Używanie wyliczenia zagnieżdżonego w GWT-RPC
- 9. Jaki jest cel IApplicationBuilder.New()
- 10. Jaki jest cel curdoc()?
- 11. Jaki jest cel aclocal?
- 12. Jaki jest cel XNoImplicitPrelude?
- 13. Jaki jest cel Ember.Container
- 14. Jaki jest cel $ w XSLT
- 15. Jaki jest cel ldexp?
- 16. Jaki jest cel Rake?
- 17. Jaki jest cel HttpHeaders.TryAddWithoutValidation?
- 18. Jaki jest cel Mage_Core_Block_Template_Facade
- 19. Jaki jest cel CMakeScripts?
- 20. Jaki jest cel preompompiledApp.config?
- 21. Jaki jest cel "() =>"
- 22. Jaki jest cel vertexAttribPointer?
- 23. Jaki jest cel używania?
- 24. Jaki jest cel JNDI
- 25. Jaki jest cel layout.xml?
- 26. gwt - Używanie listy <Serializable> w wywołaniu RPC?
- 27. Wysyłanie utrwalonych wystąpień JDO przez GWT-RPC
- 28. Czy istnieje odpowiednik GWT-RPC Flex?
- 29. Jaki jest obecny stan GWT?
- 30. Błąd RPC po aktualizacji GWT 2.3
Tu jest zagraniczne pytanie Nooba. Co masz na myśli przez "niestacjonarne pola instancji"? – Jla
@DrDro: pola nie oznaczone modyfikatorem "przejściowym". –
Czy potrzeba polityki serializacji ma jakiekolwiek praktyczne wady, np. wymagający dodatkowego czasu przetwarzania, ...? –