2009-04-02 26 views
10

Tôi đang cố gắng để hiểu những gì là phóng viên của servlets và applet trong .NET nhưng tôi không có nhiều kinh nghiệm trong JAVA. Tôi đang nghĩ rằng các applet có thể được so sánh với các công cụ Silverlight, có nghĩa là bạn mã độc lập với trình duyệt, nhưng sau đó nó không giống như vậy (giữa những thứ khác) bạn có thể sử dụng lại applet bên ngoài trình duyệt. Các tính năng:Phóng viên của Servlet và Applet trong .NET là gì?

Tôi cần chứng minh công nghệ web cho khóa học đại học dựa trên JAVA và tôi có thể sử dụng .NET miễn là tôi có thể chứng minh cùng một nội dung.

Bất kỳ trợ giúp hoặc ý tưởng nào được đánh giá cao!

Trả lời

13

Trong .Net, HTTP handlers (.ashx) có lẽ là điều gần nhất với servlet. Đối với applet, không có sự tương đương trực tiếp, nhưng siverlight có lẽ là gần nhất (mặc dù nó gần hơn với Flash/JavaFX)

+1

Trình xử lý HTTP tương đương với các bộ điều hợp Servlet và không phải Servlets. Đọc tài liệu MSDN trên cùng. – sangupta

+0

Tôi đồng ý với Sandy. Điều khiển AciveX giống với Applet hơn Silverligth – OscarRyz

+0

@ Candy: Bạn có nghĩa là Trình xử lý Http hoặc Http/Modules /. Đó là sau này cung cấp khả năng "tự động chặn các yêu cầu và phản hồi để biến đổi [...]" (http://java.sun.com/products/servlet/Filters.html). – Richard

1

Đối tác của Applet trong .NET là các điều khiển ActiveX. Silverlight có nghĩa là cho RIA, một cái gì đó tương tự như thời gian chạy Adobe Flash.

Servlets có thể được so sánh với các trang ASP.NET. Về cách họ so sánh end-to-end, hãy đọc bài viết sau trên MSDN, http://msdn.microsoft.com/en-us/library/aa478987.aspx

+0

Không, tôi đoán, ASP.NET giống JSP hơn hoặc thậm chí có thể giống JSF hơn. –

+0

Tôi muốn nói về cơ bản là ASP là tương đương với JSP – JohnIdol

+0

Với mô hình codebehind ASP.NET nhiều hơn hoặc ít hơn tương đương với cấu trúc Servlet, nơi bạn có thể tạo mọi thứ thông qua mã. Liên kết ở trên giải thích sự khác biệt tinh tế. Nhưng có, ASP là tốt nhất so với JSP. – sangupta

2

Java applet dường như có các phép tương tự tốt nhất của chúng với WPF Browser Applications trong .NET, nếu không Silverlight 2.0. Không có gương hoàn hảo nào giữa Java và .NET về mặt này - một số kỹ thuật dường như giống nhau hơn ở một số khía cạnh nhất định và những người khác trong các khía cạnh khác nhau. Vì Java đã được phát triển phần lớn cho mục đích của các applet, và .NET Framework cho các ứng dụng desktop, sẽ có sự khác biệt cơ bản. Mặc dù các ứng dụng trình duyệt WPF tất nhiên bị hạn chế đối với nền tảng Windows (không giống như Silverlight), chúng có lẽ giống với các applet nhiều hơn về mặt mà chúng có thể sử dụng toàn bộ .NET Framework, trong số những thứ khác. Ngoài ra, như đã được chỉ ra, Silverlight là tương tự hơn với JavaFX.

Về mặt servlet, tương đương là hiệu quả toàn bộ ASP.NET (hơn nữa phía ứng dụng Web như trái ngược với trang web), mặc dù đó là hơi mơ hồ. Có lẽ chính xác hơn, JavaServer Pages hầu hết giống với ASP.NET (hoặc WebForms hoặc MVC [Model-View-Controller] cho vấn đề đó). Trong trường hợp cũ (Java), nội dung được biên dịch thành các servlet Java, trong khi trong trường hợp của (.NET), nội dung được biên dịch thành các assembly .NET. Vì vậy, có lẽ các hội đồng .NET của các ứng dụng web giống hầu hết các servelets - mặc dù thành thật mà nói, tôi không biết đủ về phía Java của những thứ để đưa ra kết luận. Một điều thú vị là lịch sử của .NET và Java bắt đầu hơi khác nhau (thừa nhận rằng chúng là cả các khung công tác VM và Java lấy cảm hứng từ .NET), tuy nhiên trong nhiều khía cạnh mà chúng hội tụ theo thời gian để ngày nay bạn sẽ tìm thấy khá nhiều công nghệ tương đương trong một trong hai khung công tác, mặc dù thường trong một khung công tác có sự phát triển và/hoặc thành công đáng kể hơn (Silverlight là một ví dụ có lợi cho Microsoft, trong khi các applet có lẽ có lợi cho Sun). Dù sao, hy vọng tôi đã ít nhất cung cấp một cái nhìn tổng quan về nơi mà những điểm tương đồng và khác biệt nằm trong hai công nghệ.

+0

những gì về servlets như .NET HttpHandlers? – JohnIdol

+0

Như ai đó đã chỉ ra trong câu trả lời của JonoW, tôi tin rằng bộ lọc Servlet giống nhau hơn với HttpHandlers. – Noldorin

7

Tôi đồng ý với Sandy, ASP.Net là tốt nhất so với JSP (thực sự không có gì khác ngoài một servlet chuyên dụng). Servlet tương tự .Net dường như là lớp cơ sở System.Web.UI.Page.

This sums up the comparison nicely (examples below blatantly plagiarized)

import javax.servlet.*; 
import javax.servlet.http.*; 

import java.io.*; 

public class SimpleServlet extends HttpServlet { 

    public void doGet(HttpServletRequest request, 
      HttpServletResponse response) 
      throws ServletException, java.io.IOException { 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 

     out.println("<html><body>"); 
     out.println("Simple Servlet Body"); 
     out.println("</body></html>"); 

     out.close(); 
    } 
} 
//-----------------// 
using System; 
using System.Web; 
using System.Web.UI; 

public class SimpleServlet : System.Web.UI.Page 
{ 
    private void Page_Load(object sender, EventArgs args) 
    { 
     Response.ContentType = "text/html"; 

     Response.Write("<html><body>"); 
     Response.Write("Simple Servlet Body"); 
     Response.Write("</body></html>"); 
    } 
} 
+0

+1 ví dụ đẹp cho thấy servlet là System.Web.UI.Page không có đánh dấu trong aspx - thứ eother cách xung quanh dường như HttpHandler – JohnIdol

1

Nếu bạn đang cố gắng để làm một bản demo và bạn muốn hiển thị một số điểm tương đồng giữa .NET và servlet/applet sau đó bạn có thể làm điều này: 1) Servlet demo: Tạo một tập tin .aspx mà chỉ cần đi trực tiếp đến lớp codebehind. Sử dụng trình duyệt, gọi tệp .aspx và yêu cầu lớp codebehind phản hồi.

Tôi sử dụng servlet như một cách để giao tiếp với javascript ajax thường xuyên, và về hành vi không có bất kỳ sự khác biệt nào, hàm javascript của tôi không biết ngôn ngữ hoặc công nghệ mà nó đang giao tiếp.

2) Bản trình diễn Applet: Đây là một chút phức tạp hơn vì Silverlight được thiết kế, có vẻ như cạnh tranh với Flash, nhưng bạn chỉ có thể tạo tiện ích đồng hồ và đặt nó lên trang web, nhưng sau đó bạn có thể giải thích rằng với một số thiết kế tốt hoặc có thể chạy bên ngoài của trình duyệt là tốt.

Điều tuyệt vời là làm demo của bạn bằng cả hai ngôn ngữ chỉ để so sánh cho thấy có nhiều cách để tiếp cận một vấn đề, và có sự cân bằng trong đó công nghệ sử dụng.

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