Mục đích của giao diện IsSerializable trong GWT (liên quan đến cơ chế RPC) là gì. Tôi chưa bao giờ có thể tìm thấy một lời giải thích tốt về lý do tại sao nó là như thế nào và tại sao giao diện gắn thẻ Java mặc định Serializable không hoạt động.Mục đích của giao diện IsSerializable trong GWT (liên quan đến cơ chế RPC)
Trả lời
Cả Serializable
và IsSerializable
làm việc, theo GWT serialization docs:
Một lớp người dùng định nghĩa là serializable nếu tất cả những điều sau đây được áp dụng:
- Đó là chuyển nhượng để IsSerializable hoặc Serializable, hoặc bởi vì nó trực tiếp triển khai một trong các giao diện này hoặc vì nó xuất phát từ một siêu lớp, chẳng hạn như
- Tất cả các trường mẫu không phải là cuối cùng, không phải là tạm thời đều có thể tuần tự hóa và
- Kể từ GWT 1.5, nó phải có một hàm tạo mặc định (không đối số) (với bất kỳ công cụ sửa đổi truy cập nào) hoặc không có hàm khởi tạo nào cả.
Một khác biệt quan trọng dù là, vì lý do an ninh, tất cả các lớp học Serializable
phải được bao gồm trong một chính sách serialization, được tạo ra tại thời gian biên dịch, trong khi IsSerializable
lớp không có yêu cầu đó.
Nếu bạn quan tâm hoàn toàn trong GWT và bạn không ví dụ: chia sẻ các lớp mô hình của bạn giữa ứng dụng web và một ứng dụng khác, tôi khuyên bạn nên có các lớp mô hình/DTO của bạn triển khai IsSerializable
.
Nếu bạn chia sẻ đối tượng của bạn với các chương trình khác sau đó sử dụng Serializable vì nó là một chức năng thư viện java tiêu chuẩn,
Nhưng nếu bạn chỉ muốn vượt qua nó giữa máy chủ và máy khách trong GWT sau đó sử dụng IsSerializable. Nó giúp bạn chắc chắn rằng bạn không cho phép để bắt đầu chuyển nó đến những nơi nó không nên đi.
- 1. Câu hỏi liên quan đến giao diện thông thạo C#
- 2. GWT - RPC SerializationException
- 3. IDL cho giao diện REST/RPC JSON
- 4. Mục đích của giao diện điểm đánh dấu là gì?
- 5. Sử dụng cơ chế tuần tự hóa/deserialization RPC được xây dựng trong GWT
- 6. Mục đích của tệp jvm.cfg liên quan đến Java là gì?
- 7. sắp xếp enum cho mục đích giao diện người dùng
- 8. giao thức nhị phân đa mục đích
- 9. ngoại lệ trong ứng dụng GWT RPC
- 10. Hiệu ứng của proxy ngược trên ứng dụng GWT là gì?
- 11. Cuộc gọi RPC Đồng bộ trong GWT
- 12. Tầm quan trọng của giao diện C#
- 13. Gọi một dịch vụ RPC GWT từ Java trực tiếp
- 14. Mục đích của kiểm thử đơn vị một kho lưu trữ giao diện là gì
- 15. PHPUnit, giao diện chế giễu, và instanceof
- 16. SMARTGWT DataSource (GWT-RPC-DATASource) LISTGRID
- 17. Bảo mật khi sử dụng GWT RPC
- 18. Cách gửi lại yêu cầu RPC GWT nếu nó không thành công (hoặc cách tạo yêu cầu RPC liên tục)?
- 19. Có tương đương Flex của GWT-RPC không?
- 20. xây dựng liên quan đến src/thư mục với SCons
- 21. Cách chuyển hướng đến trang đăng nhập sau khi phiên hết hạn trong GWT RPC gọi
- 22. Khắc phục các hạn chế của Python liên quan đến các phương thức ví dụ
- 23. Sự khác biệt giữa gwt, gwt-rpc, ext-gwt, gwt thông minh
- 24. Mối quan tâm liên quan đến node.js
- 25. Mục đích của \ e
- 26. Lỗi Facebook liên quan đến auth.extendSSOAccessToken
- 27. Lý do cho hạn chế chuỗi giao diện .NET UI
- 28. Mục đích của các giao dịch lồng nhau
- 29. Mục đích của việc sử dụng một giao diện rỗng có thể mở rộng giao diện khác trong Java là gì?
- 30. gwt - Sử dụng Danh sách <Serializable> trong cuộc gọi RPC?
Noob câu hỏi nước ngoài tại đây. Bạn có ý nghĩa gì bởi "các trường mẫu không thoáng qua"? – Jla
@DrDro: các trường không được đánh dấu bằng công cụ sửa đổi 'transient'. –
Nhu cầu về chính sách tuần tự hóa có bất kỳ hạn chế thực tế nào không, ví dụ: yêu cầu thời gian xử lý bổ sung, ...? –