Qual è lo scopo dell'interfaccia IsSerializable in GWT (relativo al meccanismo RPC). Non sono mai stato in grado di trovare una buona spiegazione sul perché sia così com'è e perché l'interfaccia di codifica Serializable Java predefinita non funzioni.Qual è lo scopo dell'interfaccia IsSerializable in GWT (relativo al meccanismo RPC)
risposta
Sia Serializable
e IsSerializable
lavoro, secondo la GWT serialization docs: Una classe definita dall'utente
è serializzabile se tutte le seguenti condizioni:
- È assegnabile IsSerializable o Serializable, sia perché implementa direttamente una di queste interfacce o perché deriva da una superclasse che fa
- Tutti i campi di istanza non-finali, non transitori sono anch'essi serializzabili e
- A partire da GWT 1.5, deve avere un costruttore predefinito (argomento zero) (con qualsiasi modificatore di accesso) o nessun costruttore.
Una differenza chiave è però che, per motivi di sicurezza, tutte le Serializable
classi devono essere inclusi in una politica di serializzazione, che è generato in fase di compilazione, mentre IsSerializable
classi non hanno questo requisito.
Se il tuo interesse è puramente in GWT e non lo sei ad es. condividi le classi del tuo modello tra l'applicazione web e un'altra applicazione, ti suggerisco di implementare le tue classi modello/DTOs IsSerializable
.
Se condividete i vostri oggetti con altri programmi quindi utilizzare Serializable in quanto è una funzione di libreria Java Standard,
Ma se volete solo passare tra il server e il client in GWT quindi utilizzare IsSerializable. Ti aiuta a essere sicuro di non essere in grado di iniziare a passarlo a luoghi che non dovrebbe andare.
- 1. Qual è lo scopo di. * \\?
- 2. Qual è lo scopo di :: in C#?
- 3. Qual è lo scopo di $ in XSLT
- 4. Chiamate RPC sincrone in GWT
- 5. Differenza tra gwt, gwt-rpc, ext-gwt, smart gwt
- 6. Qual è lo scopo del prototipo?
- 7. Qual è lo scopo dell'uso di CommandType.Tabledirect
- 8. Qual è lo scopo dei tipi anonimi?
- 9. Qual è lo scopo del tipo di unità in Rust?
- 10. Qual è lo scopo di IApplicationBuilder.New()
- 11. eccezione nell'app RPC GWT
- 12. @WebServlet annotation e GWT RPC
- 13. Factory Girl: qual è lo scopo?
- 14. Qual è lo scopo di 'var'?
- 15. Qual è lo scopo di HTML?
- 16. Qual è lo scopo di @EnableTransactionManagement?
- 17. Qual è lo scopo della lente unita?
- 18. Qual è lo scopo dell'interfaccia marcatore?
- 19. Qual è lo scopo di riutilizzareIdentificatore?
- 20. Qual è lo scopo di EXTRA_CFLAGS?
- 21. Qual è lo scopo di XACT_ABORT
- 22. Qual è lo scopo degli oggetti # requireNonNull
- 23. Qual è lo scopo dei record attivi?
- 24. Qual è lo scopo di "() =>"
- 25. Qual è lo scopo di Rake?
- 26. Qual è lo scopo dei file pdb?
- 27. Qual è lo scopo di HttpHeaders.TryAddWithoutValidation?
- 28. Qual è lo scopo di Microsoft.Net.Compilers?
- 29. php umask (0) qual è lo scopo
- 30. Qual è lo scopo del file vshost.exe?
Noob domanda straniera qui. Cosa intendi per "campi di istanze non transitori"? – Jla
@DrDro: campi non contrassegnati con il modificatore 'transient'. –
La necessità di una politica di serializzazione presenta alcuni inconvenienti pratici, ad es. richiede un tempo di elaborazione aggiuntivo, ...? –