Quel est le rôle de l'interface IsSerializable dans GWT (en ce qui concerne le mécanisme RPC). Je n'ai jamais été capable de trouver une bonne explication de la raison et de la raison pour laquelle l'interface de marquage Java Serializable par défaut ne fonctionne pas.Quel est le rôle de l'interface IsSerializable dans GWT (en ce qui concerne le mécanisme RPC)
Répondre
Les deux Serializable
et IsSerializable
travail, selon la GWT serialization docs:
Une classe définie par l'utilisateur est sérialisable si toutes les conditions suivantes sont réunies:
- Il est assignable à IsSerializable ou Serializable, soit car elle implémente directement l'une de ces interfaces ou parce qu'elle dérive d'une superclasse
- Tous les champs d'instance non-finals et non-transitoires sont eux-mêmes sérialisables, et
- À partir de GWT 1.5, il doit avoir un constructeur par défaut (zéro argument) (avec n'importe quel modificateur d'accès) ou aucun constructeur du tout.
Une différence essentielle est que si, pour des raisons de sécurité, toutes les classes Serializable
doivent être inclus dans une politique de sérialisation, qui est généré au moment de la compilation, alors que IsSerializable
classes ne sont pas à cette exigence.
Si votre intérêt est purement dans GWT, et vous n'avez pas par exemple. partagez vos classes de modèle entre l'application Web et une autre application, je vous suggère de mettre en œuvre vos classes de modèle/DTO IsSerializable
.
Si vous partagez vos objets avec d'autres programmes utilisent ensuite Serializable comme il est une fonction standard de java,
Mais si vous voulez seulement passer entre le serveur et le client GWT puis utilisez IsSerializable. Il vous aide à vous assurer que vous ne permettez pas de le passer à des endroits qu'il ne devrait pas aller.
- 1. En ce qui concerne le téléchargement ePub?
- 2. En ce qui concerne le double dataype
- 3. Quels sont les inconvénients de RPC en ce qui concerne le passage des messages?
- 4. En ce qui concerne gridview
- 5. dans le protocole en ce qui concerne la séquence
- 6. En ce qui concerne BigDecimal
- 7. En ce qui concerne ADO.Net
- 8. En ce qui concerne java.math.BigInteger
- 9. Quel est le meilleur dans GWT?
- 10. En ce qui concerne ADO.Net
- 11. en ce qui concerne le fichier jar en java
- 12. En ce qui concerne BigDecimal
- 13. en ce qui concerne le langage de programmation java
- 14. En ce qui concerne le chiffrement web.config en utilisant nant
- 15. En ce qui concerne stdio.h
- 16. En ce qui concerne grep dans solaris
- 17. En ce qui concerne l'eclipse galileo
- 18. En ce qui concerne le fichier java fermeture
- 19. En ce qui concerne les macros
- 20. En ce qui concerne le langage d'expression JSF
- 21. Quel est le mécanisme derrière startActivityForResult() dans Android?
- 22. Quel est le rôle de InternalBuffer dans .net FileWatcher
- 23. Quel est le rôle de `wire()` et `isWired()` dans Seam?
- 24. En ce qui concerne interrompre la communication
- 25. Quel est le rôle et le but d'un bootstrappeur?
- 26. En ce qui concerne UNIX Shell Script
- 27. Envoi d'une ArrayList en tant que paramètre dans GWT-RPC
- 28. En ce qui concerne jdbc Realm
- 29. en ce qui concerne l'édition d'image
- 30. En ce qui concerne PHP CURL
Noob question étrangère ici. Que voulez-vous dire par "champs d'instance non-transitoire"? – Jla
@DrDro: champs non marqués avec le modificateur 'transitoire '. –
La nécessité d'une politique de sérialisation présente-t-elle des inconvénients pratiques, par ex. nécessitant un temps de traitement supplémentaire, ...? –