Tôi cần xóa một vài thứ. Tôi đã được tìm kiếm một câu trả lời cho điều này, nhưng tôi dường như không thể tìm thấy một câu trả lời tốt cho câu hỏi cụ thể của tôi (ví dụ: câu hỏi này đã được nibbling trên câu trả lời: Difference between servlet and web service).Khi nào sử dụng Servlet hoặc @Controller
Để hiểu biết của tôi, có những cách khác nhau mà bạn có thể thực hiện "xử lý yêu cầu", hay còn gọi là "điều khiển", trong một "MVC định hướng" ứng dụng web, hai trong số đó là:
- Một Java cụ thể Servlet (ví dụ: bạn tạo bằng cách nhấp vào mới -> Servlet, trong nhật thực chẳng hạn), được sử dụng làm "Bộ điều khiển". Điều này một kéo dài
HttpServlet
và bạn sử dụng các phương pháp nhưdoGet
vàdoPost
, vv - Một Spring MVC chú thích
@Controller
lớp (có, sử dụng mộtDispatcherServlet
). Với cái này bạn sử dụng@RequestMethod
GET
/POST
, vv
Bây giờ để câu hỏi của tôi ...
- Khi nào bạn sử dụng một hay khác?
- Có bất kỳ chung ưu điểm nào để sử dụng một phương pháp này cho phương pháp khác không?(Giống như, là một trong những phương pháp đề nghị trong khác nói chung?)
[EDIT]: từ khóa Nhấn mạnh
Giải thích hay! Tôi có một sự hiểu biết cơ bản về cách mọi thứ hoạt động riêng lẻ, nó chỉ là tôi không thể thực sự đặt ngón tay của mình vào khi nào sử dụng phương pháp luận. Bạn giải thích sự khác biệt giữa hai mặc dù, mà không cần xây dựng lĩnh vực sử dụng thực tế của họ. Bạn có thể đặt tên cho bất kỳ ví dụ nào về một tình huống mà tôi sẽ sử dụng một phương pháp nào khác không? – Roger
Cả hai đều được sử dụng cho cùng một thứ (tạo ứng dụng web). Sự khác biệt là Spring MVC thêm vào rất nhiều tiện lợi.Hầu hết mọi người viết một ứng dụng web Java sẽ sử dụng một số loại khung được viết trên đầu trang của các servlet để làm cho phát triển dễ dàng hơn. VÍ DỤ. nếu bạn đột nhiên có một trường hợp sử dụng cho một yêu cầu để trả về json thì spring mvc đã hỗ trợ nó trong khi với servlet bạn phải tự tìm ra nó. Nó vẫn còn hữu ích để biết servlets vì nó là công nghệ cơ bản. –
Tôi hiểu. Vì vậy, về cơ bản một servlet được tạo ra với cả hai phương thức, làm điều tương tự - chỉ trong # 2 bạn sử dụng Spring MVC làm khung làm việc để giúp bạn trên đường? Đó là, với sự giúp đỡ của @ MVC của Spring MVC, DispatcherServlet và một số JSP ("java trong html"), bạn tạo ra điều tương tự như thể bạn sẽ tạo ra một Servlet ("html trong java" (nghĩa là mới -> Servlet. ..)) và một số JSP/html của riêng bạn, chỉ có trong trường hợp Spring MVC, Spring sẽ chăm sóc "phần khó chịu" của doanh nghiệp servlet "miễn phí"? Đó có phải là một sự hiểu biết chính xác của tất cả? (Xin lỗi vì đã chậm một chút :) – Roger