Servlet cũng là chương trình java nhưng không có phương thức chính trong servlet.Who sẽ đóng vai trò của phương thức chính trên servet.Điều gì đóng vai trò của 'phương pháp chính' trong một servlet?
Trả lời
Servlets được thiết kế để chạy bên trong một thùng chứa servlet (ví dụ: Apache Tomcat). Thực hiện một servlet xảy ra theo cách sau: Container servlet gọi phương thức GenericServlet.service()
trên một servlet thường gọi phương thức doXxx()
thích hợp, ví dụ: doGet()
, doPost()
, v.v. Phương pháp doXxx()
chịu trách nhiệm giải thích yêu cầu HTTP và cung cấp phản hồi thích hợp. GenericServlet.service()
là khoảng analagous để main()
trong một lớp học java cũ đồng bằng.
Servlet được triển khai trên máy chủ ứng dụng Java (thùng chứa servlet). Họ là loại 'thụ động'. Khi bạn viết servlet, mã servlet của bạn được gọi bởi vùng chứa bất cứ khi nào có yêu cầu hoặc cần. Vì vậy, bạn không thấy 'main' trong servlet của bạn (toàn bộ thứ không được bắt đầu từ servlet), bên trong máy chủ ứng dụng (bạn có thể tưởng tượng khởi động của máy chủ ứng dụng bắt đầu từ một số loại chính).
Nếu bạn đang tìm kiếm một khu vực trong một servlet để đặt mã chạy khi khởi động (tương tự như main()), hãy xem triển khai giao diện ServletContextListener.
Hai phương pháp của nó được gọi là khởi động và tắt ứng dụng.
@jbruce - hầu như không tương đương với IMO chính. –
@Stephen - Tôi cho rằng câu hỏi được yêu cầu với một số mã như bạn làm trong phương thức main() (như khởi tạo, kết nối, v.v.), tôi nhận ra câu trả lời của tôi không thực sự phản ánh điều này . – jbruce2112
Không có phương pháp chính trong một servlet Java nào hơn là một ActionListener trên Swing JButton có một phương thức chính. Những gì họ làm đều có là các phương thức mà bạn có thể móc vào khi một sự kiện nào đó xảy ra (một cú nhấp chuột vào JButton chẳng hạn, hoặc một yêu cầu HTTP PUT trên một HttpServlet). Và trong cả hai trường hợp, bạn được cung cấp thông tin về sự kiện đã kích hoạt cuộc gọi - ActionEvent cho JButton và ServletRequest cho một servlet.
Việc suy nghĩ về các servlet về xử lý sự kiện có thể hữu ích hơn là cố gắng nghĩ về chúng như một ứng dụng Java độc lập, nơi bạn chịu trách nhiệm cho toàn bộ luồng điều khiển.
Servlet chạy bên trong thùng chứa (ví dụ: tomcat). Thùng chứa này thực hiện công việc của mình theo jvm. Ở đây vùng chứa mất "sự vắng mặt của phương pháp chính". Trong phương thức chính của chương trình java simlple, hãy thông báo luồng điều khiển bắt đầu của việc thực hiện. Nhưng trong trường hợp của servlet cơ sở ứng dụng web jvm liều không cần phải tìm kiếm các phương pháp chính. Vùng chứa Servlet cho jvm biết về luồng kiểm soát bắt đầu .
Servlet container tạo đối tượng của servlet cụ thể tùy thuộc vào url yêu cầu và khởi tạo nó bằng cách cung cấp các đối tượng config/context và sau đó thực thi phương thức dịch vụ (hoặc doXXX phụ thuộc vào phương thức HTTP) – Patriks
- 1. Vai trò của cú pháp "interface {}" trong Go là gì?
- 2. "Ngữ cảnh vẽ" chính xác là gì? Vai trò của phương thức getcontext() là gì?
- 3. Chính xác "vai trò" trong Capistrano là gì?
- 4. Cách nhận vai trò người dùng trong JSP/Servlet
- 5. Vai trò của khối BEGIN trong Perl là gì?
- 6. Vai trò của lớp Hoạt động trong MVC là gì?
- 7. libcore và vai trò của nó trong android là gì?
- 8. Vai trò của Spring trong Struts + Spring + Hibernate là gì?
- 9. Điều hướng dựa trên vai trò
- 10. Đồng bộ hóa vai trò của Azure
- 11. Vai trò của Designer.cs Tệp trong C#
- 12. Vai trò EventBus trong GWT
- 13. capistrano,: vai trò db, nó là gì?
- 14. Vai trò web và vai trò của nhân viên trong dịch vụ đám mây/Node.js
- 15. Vai trò của tệp classes.dex trong tệp APK
- 16. Cách hoạt động của HTTP có thể/đóng vai trò trong ứng dụng AJAX
- 17. Vai trò của `while`-loop trong biểu thức tính toán trong F # là gì?
- 18. Vai trò của libc (glibc) trong ứng dụng linux của chúng ta là gì?
- 19. Các vai trò Singleton trong Moose
- 20. Vai trò của I * Ràng buộc trong JDT Eclipse là gì?
- 21. Glassfish 3.1 mặc định chính để ánh xạ vai trò
- 22. Vai trò của số Magic trong tải khởi động trong Linux là gì?
- 23. Điều khiển truy cập dựa trên vai trò - mẫu MVC chính xác
- 24. Vai trò của #ifdef và #ifndef
- 25. Vai trò/quyền mục?
- 26. Drupal: gán vai trò trong user_save
- 27. Indy TCP Client/Server với khách hàng đóng vai trò như một máy chủ
- 28. Chỉ định vai trò gán vai trò cho người dùng trong MVC 4 qua hộp kiểm
- 29. Lỗi CanCan 'vai trò phương pháp không xác định?' với lập mưu
- 30. Phiên bản nào của .Net đóng vai trò với SQL Server 2008?
.. và khi khởi động thùng chứa servlet thì 'HttpServlet servletName = new ServletClass();' dựa trên 'web.xml' hoặc' @ WebServlet' và lưu trữ nó trong bộ nhớ. Bất cứ khi nào cấu hình 'url-pattern' khớp với servlet của servlet, thì phương thức' service() 'sẽ được gọi trên cá thể cụ thể. – BalusC