2010-03-31 36 views
54

Tôi đã nghe một số ví dụ về ứng dụng web được xây dựng bằng ASP.NET/PHP và tôi tự hỏi điều gì sẽ là cách tương tự để thực hiện tương tự những thứ trong thế giới Java. Nhìn vào Wikipedia Tôi đã tìm thấy rất nhiều khung công tác và tôi khá bối rối, cái nào là tốt nhất.Java thay thế dòng chính là gì cho ASP.NET/PHP

Trả lời

94

Tương đương Java là PHP"Classic" ASP sẽ là JSP (JavaServer Pages) với tập lệnh (mã Java nguyên bản được nhúng). Tập lệnh được coi là poor practice trong thế giới phát triển web Java. Taglibs và EL (Ngôn ngữ biểu thức) nên được ưu tiên trên tập lệnh. Tương đương Java của ASP.NET(MVC) sẽ là một khung công tác Java MVC. Có rất nhiều khung công tác MVC dựa trên Java, chủ yếu cung cấp bộ điều khiển dựa trên bộ lọc Servlet/Bộ lọc và thẻ tag để tương tác với mô hình (thường là Javabean) và chế độ xem (thường là trang JSP, nhưng cũng có thể XHTML).

Để bắt đầu, Java EE API cung cấp JSF (JavaServer Faces) cho điều này, lần lượt đi kèm với công nghệ chế độ xem khuôn mẫu dựa trên XHTML được gọi là Facelets. Facelets được xem như là một sự thay thế của JSP cũ tốt. Hơn nữa, có rất nhiều khung công tác Java MVC nguồn mở được xây dựng trên đầu trang của JSP/Servlet API và được dự định là một sự thay thế/cạnh tranh cho JSF. Bạn có thể tìm thấy ít thông tin về tất cả chúng here, những thông tin phổ biến là Spring MVC, Struts2Stripes.

Để chọn cái nào, tôi khuyên bạn nên xem this answer mà tôi đồng ý.

+1

+1 câu trả lời rất hay – dfa

+2

Và +1 khác cho câu trả lời hay này. –

+0

@BalusC Theo [câu hỏi này] (http://stackoverflow.com/questions/4801891/difference-between-request-mvc-and-component-mvc) có vẻ như ASP.NET MVC là một yêu cầu (hành động) MVC khuôn khổ, đúng không? (Tôi cho rằng yêu cầu/hành động và dựa trên thành phần là hai nhóm khung MVC duy nhất/chính). BTW Tôi cũng tò mò về việc sẽ tương đương với PHP như thế nào. – Piovezan

4

Điều tốt nhất không nhất thiết phải giống với dòng chính nhất. Tôi nghĩ rằng tương đương trực tiếp nhất (nhờ tính chất theo dõi tiêu chuẩn của nó) là JSF 2.0 & Facelets.

Có nói rằng, có những lý do khiến các khuôn khổ khác tồn tại ... tốt nhất là đánh giá một số và xác định cái nào phù hợp với phong cách phát triển của nhóm bạn nhất.

Xem thêm this question.

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