2011-09-12 35 views
6

thể trùng lặp:
Why does HttpServlet implement Serializable?Tại sao HttpServlet trong java thực hiện serializable?

Câu hỏi này chợt nảy ra vài ngày trước trong một cuộc thảo luận nội bộ và chúng tôi dường như không tìm thấy bất kỳ câu trả lời thích hợp cho giống nhau. Ai đó có thể chỉ cho tôi phương hướng đúng không ?

Những câu hỏi:

1) Tại sao là HttpServlet trong java implements serializable? Tôi dường như không tìm thấy bất kỳ lý do hợp lý cho cùng một.

2) Trong khi cố gắng tìm ra này tôi nhìn vào doc api và tìm thấy một số điều thú vị

public abstract class HttpServlet extends GenericServlet 
implements Serializable 

Bây giờ, những gì là quan tâm là GenericServlet cũng mở rộng Serializable. Vì vậy, cả cha và lớp con thực hiện tuần tự. Đó không phải là một mô hình chống sao?

+0

Bất kỳ đề xuất nào về câu hỏi thứ hai? –

Trả lời

7

1) Tại sao httpservlet trong java thực hiện tuần tự? Tôi dường như không tìm thấy bất kỳ lý do hợp lý nào cho cùng một điều.

Để hỗ trợ phân nhóm và serialization giữa máy ảo, thụ động hóa, vv

+0

thụ động là gì? Không bao giờ nghe thuật ngữ này và google đã nói điều gì đó về oxit: ( –

+1

@ ganguly.sarthak có thể bạn cần phải làm việc với các kỹ năng googling của mình: http://www.google.ie/search?sourceid=chrome&ie=UTF-8&q=passivation+servlet :-) –

+0

Nhưng nếu lớp cha 'GenericServlet' là Serializable, tại sao lại đánh dấu' HttpServlet' Serializable? – Sid

1

Một lý do khác là web-container như Tomcat gọi một số móc khi tắt máy tính. Những móc này giữ trạng thái của các ứng dụng/servlet trên hdd, vì vậy khi web-container được khởi động lại, ứng dụng sẽ không mất trạng thái của nó.

+1

Vâng, Servlet sẽ an toàn hoặc ít nhất là không có trạng thái trò chuyện. Vậy nhu cầu là gì? –

+0

@AmirPashazadeh Servlet có thể có * lô * trạng thái trò chuyện cho mỗi người dùng. Đó là toàn bộ điểm đến đối tượng “phiên”, theo dõi trạng thái đó giữa chu kỳ Yêu cầu/Phản hồi. Trạng thái đó tồn tại trong bộ nhớ trong khi thùng chứa Servlet đang chạy. Khi container thoát, Poof !, bộ nhớ bị xóa, trạng thái phiên biến mất. Ý tưởng trong câu trả lời này là về cách * một số * Các thùng chứa Servlet cung cấp một tính năng tùy chọn để lưu trạng thái phiên đó vào lưu trữ thông qua tuần tự hóa để "khử nước" dữ liệu trạng thái. Sau khi khởi động lại vùng chứa, phiên được bù lại để cho phép người dùng tiếp tục công việc của họ khi họ rời đi. –

Các vấn đề liên quan