Java NET中Servlet和Applet的对应关系是什么?

Java NET中Servlet和Applet的对应关系是什么?,java,.net,servlets,applet,Java,.net,Servlets,Applet,我试图了解.NET中servlet和applet的对应关系,但我在JAVA方面没有太多经验 我认为applet可以与silverlight进行比较,这意味着您可以独立于浏览器编写代码,但事实并非如此,因为(在其他事情之间)您可以在浏览器之外重复使用applet 我需要为基于JAVA的大学课程演示web技术,只要我能演示相同的内容,我就可以使用.NET 感谢您的帮助或建议 与.NET中的小程序相对应的是ActiveX控件。Silverlight用于RIA,类似于Adobe Flash运行时 ser

我试图了解.NET中servlet和applet的对应关系,但我在JAVA方面没有太多经验

我认为applet可以与silverlight进行比较,这意味着您可以独立于浏览器编写代码,但事实并非如此,因为(在其他事情之间)您可以在浏览器之外重复使用applet

我需要为基于JAVA的大学课程演示web技术,只要我能演示相同的内容,我就可以使用.NET


感谢您的帮助或建议

与.NET中的小程序相对应的是ActiveX控件。Silverlight用于RIA,类似于Adobe Flash运行时


servlet可以与ASP.NET页面相比较。关于如何比较端到端,请阅读以下有关MSDN的文章,

在.Net中,HTTP处理程序(.ashx)可能是最接近servlet的东西。至于applet,没有直接的等价物,但是siverlight可能是最接近的(尽管它更接近Flash/JavaFX)

如果不是的话,Java applet似乎与in.NET有着最好的相似性。在这方面,Java和.NET之间没有完美的镜像——有些技术在某些方面似乎更相似,而另一些则在不同方面更相似。考虑到Java主要是为了小程序而开发的,而.NET框架则是为了桌面应用程序而开发的,这两者自然会有根本的区别。尽管WPF浏览器应用程序当然仅限于Windows平台(与Silverlight不同),但它们可能更像小程序,因为它们可以实现整个.NET框架,等等。另外,正如已经指出的,Silverlight更类似于JavaFX

就servlet而言,等效于整个ASP.NET(而且是Web应用程序端,而不是网站),尽管这有点模糊。也许更准确地说,最类似于(WebForms或MVC[模型视图控制器])。对于前者(Java),内容被编译成Java servlet,而对于后者(.NET),内容被编译成.NET程序集。因此,web应用程序的.NET程序集可能与Servelet最为相似——不过老实说,我对Java方面的知识还不足以得出结论


有趣的是,.NET和Java的历史开始时有些不同(诚然,它们都是VM框架,也是受Java启发的.NET),但随着时间的推移,它们在许多方面已经融合在一起,所以现在你可以在这两个框架中找到相当的技术,尽管通常在一个领域中有更多的开发和/或成功(Silverlight是支持微软的一个例子,而Applet可能支持Sun)。无论如何,希望我至少已经概述了这两种技术的异同之处。

我同意Sandy的观点,ASP.Net与JSP(实际上只不过是一个专门的servlet)相比是最好的选择。.NETServlet模拟类似乎是基类System.Web.UI.Page

import javax.servlet.*;
导入javax.servlet.http.*;
导入java.io.*;
公共类SimpleServlet扩展了HttpServlet{
公共无效数据集(HttpServletRequest请求,
HttpServletResponse(响应)
抛出ServletException,java.io.IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
out.println(“”);
println(“简单Servlet主体”);
out.println(“”);
out.close();
}
}
//-----------------//
使用制度;
使用System.Web;
使用System.Web.UI;
公共类SimpleServlet:System.Web.UI.Page
{
私有无效页面加载(对象发送方、事件args args)
{
Response.ContentType=“text/html”;
回答。写(“”);
Write(“简单Servlet主体”);
回答。写(“”);
}
}

如果您正在尝试进行演示,并且希望展示.NET和servlet/applet之间的一些相似之处,那么您可以这样做: 1) Servlet演示: 创建一个直接指向codebehind类的.aspx文件。 使用浏览器调用.aspx文件并让codebehind类响应

我经常使用servlet与javascript ajax调用进行通信,在行为方面没有任何区别,我的javascript函数不知道它使用的是什么语言或技术

2) 小程序演示: 由于Silverlight的设计似乎是为了与Flash竞争,所以这一个有点棘手,但您可以制作一个时钟小部件并将其放在网页上,然后您可以解释,使用一些好的设计,两者都可以在浏览器之外运行


最好是用两种语言进行演示,以进行比较,表明有多种解决问题的方法,并且在使用哪种技术时存在权衡。

不,我想,ASP.NET更像JSP,或者可能更像JSF。我要说的是,经典的ASP基本上是JSP的等价物,它的代码隐藏模型ASP.NET或多或少相当于Servlet结构,在这个结构中,您可以通过代码生成所有内容。上面的链接解释了细微的区别。但是,是的,ASP比JSP更好。HTTP处理程序更等同于Servlet fitler,而不是Servlet本身。同时阅读MSDN文档。我同意Sandy的观点。AciveX控件更像小程序,而不是Silverligth@Sandy:您是指Http处理程序还是Http/Modules/。正是后者提供了“动态截获请求和响应以转换[…]”()的功能。Servlet作为.NET HttpHandlers如何?正如JonoW的回答中已经指出的那样,我相信Servlet过滤器与HttpHandlers更为相似。+1个很好的示例将Servlet显示为System.Web.UI.Pa
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>");
    }
}