Что такое корреспондент сервлетов и апплетов в .NET? - PullRequest
11 голосов
/ 02 апреля 2009

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

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

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

Любая помощь или идеи приветствуются!

Ответы [ 5 ]

13 голосов
/ 02 апреля 2009

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

7 голосов
/ 15 апреля 2009

Я согласен с Сэнди, 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>");
    }
}
2 голосов
/ 09 апреля 2009

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

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

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

1 голос
/ 15 апреля 2009

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

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

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

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

1 голос
/ 02 апреля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...