Каков корреспондент Servlet и Applet в .NET?

Я пытаюсь понять, что такое сервлет и апплеты в .NET, но у меня нет большого опыта работы в JAVA.

Я думаю, что апплеты можно сравнить с материалами silverlight, что означает, что вы кодируете независимо от браузера, но тогда это не так, потому что (между прочим) вы можете повторно использовать апплет вне браузера.

Мне нужно продемонстрировать веб-технологии для JAVA-колледжа, и я могу использовать .NET, пока я могу продемонстрировать один и тот же материал.

Любая помощь или идеи оценены!

Ответ 1

В .Net обработчики HTTP (.ashx), вероятно, наиболее близки к сервлету. Что касается апплетов, то нет прямого эквивалента, но siverlight, вероятно, является самым близким (хотя он ближе к Flash/JavaFX)

Ответ 2

Я согласен с Sandy, ASP.Net лучше всего по сравнению с JSP (это действительно не что иное, как специализированный сервлет). Аналогом сервлета .Net является базовый класс System.Web.UI.Page.

Это суммирует сравнение красиво (примеры ниже явно плагиат)

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>");
    }
}

Ответ 3

Java-апплеты, казалось бы, имеют свои лучшие аналогии с Приложения для браузера WPF в .NET, если не Silverlight 2.0. В этом отношении нет идеального зеркала между Java и .NET - некоторые технологии, похоже, более похожи друг на друга в определенных отношениях и другие в разных отношениях. Учитывая, что Java был разработан в основном для апплетов, а .NET Framework для настольных приложений, естественно, будет принципиальная разница. Хотя приложения браузера WPF, конечно, ограничены платформой Windows (в отличие от Silverlight), они, возможно, скорее напоминают апплеты в том отношении, что они могут использовать всю .NET Framework, среди прочего. Кроме того, как уже указывалось, Silverlight более похож на JavaFX.

В терминах сервлетов эквивалент - это фактически все ASP.NET(более того, сторона веб-приложения в отличие от веб-сайтов), хотя это немного расплывчато. Возможно, более точно, Страницы JavaServer больше всего похожа на ASP.NET (например, WebForms или MVC [Model-View-Controller]). В случае с предыдущим (Java) содержимое компилируется в сервлеты Java, тогда как в случае последнего (.NET) содержимое компилируется в сборки .NET. Таким образом, возможно, сборки .NET в веб-приложениях наиболее схожи с сервисами - хотя, честно говоря, я не знаю достаточно о стороне Java, чтобы сделать большую часть вывода.

Интересно, что истории .NET и Java начались несколько иначе (по общему признанию, они были как средами VM, так и Java, вдохновленными .NET), тем не менее во многих аспектах они со временем сошли на нет, так что в настоящее время вы в значительной степени найдете эквивалент технологии в любой из двух инфраструктур, хотя часто в одном из них было значительно больше развития и/или успеха (Silverlight - один пример в пользу Microsoft, тогда как апплеты, возможно, поддерживают Sun). В любом случае, надеюсь, я, по крайней мере, представил обзор того, где сходства и различия лежат в двух технологиях.

Ответ 4

Аналогом для апплетов в .NET были элементы управления ActiveX. Silverlight предназначен для RIA, что-то похожее на время выполнения Adobe Flash.

Сервлеты можно сравнить с страницами ASP.NET. О том, как они сравнивают сквозное чтение, читайте в MSDN следующую статью: http://msdn.microsoft.com/en-us/library/aa478987.aspx

Ответ 5

Если вы пытаетесь сделать демонстрацию и хотите показать некоторые сходства между .NET и сервлетами/апплетами, вы можете это сделать: 1) Демоверсия сервлета: Создайте файл .aspx, который просто переходит непосредственно к классу codebehind. Используя браузер, вызовите файл .aspx и ответьте ему класс codebehind.

Я использую сервлеты как способ часто общаться с javascript-аякс-вызовами, а с точки зрения поведения нет никакой разницы, моя функция javascript не знает, с каким языком или технологией он общается.

2) Демонстрация апплета: Это немного сложнее, поскольку Silverlight был разработан, похоже, чтобы конкурировать с Flash, но вы могли бы просто создать виджет часов и разместить его на веб-странице, но тогда вы можете объяснить, что с хорошим дизайном можно либо запустить за пределами браузер.

Было бы здорово сделать вашу демонстрацию на обоих языках только для сравнения, чтобы показать, что есть несколько способов подхода к проблеме, и есть компромиссы, в которых используется технология.