技术开发 频道

WEB组件之战 ASP.NET单挑J2EE



    J2EE中Web组件存在的问题


    1.部署模型的复杂性

    当你坐下来查看Java的Web部署说明的时候,你可能会忍不住问自己:是谁搞得这么麻烦。对于你开发的每一个细小的Web组件,你都不得不花3-4步额外的步骤,包括Xml配置和部署,以看到你的组件可以对Web相关的行为进行响应。每一个组件必须在Web.Xml文件中注册,另外如果你使用的框架比较老的话,你可能需要处理更多的Xml文件以适应它们的语法。

   2.核心API的裸露

    不要期望从Servlets API得到太多的东西,Servlet是基于POST/GET和HTTP参数导向的,其应用接口(API)非常容易使用,但是功能却非常有限。

   3.过度饱和的选择

    对Java来说,有太多的Web框架可以选择。在众多的框架中能否选择到适合你的,却是一件非常头痛的事情,而且没有人可以肯定的告诉你哪一个选择是最适合你的。

    4.需要应用程序服务器

   尽管基于WAR文件的部署非常简单,但是你不能在任何你想要的服务器上安装它们。你还需要一个应用程序服务器或Servlet容器来运行它。当然这不是什么大的问题,你可以下载Tomcat,让你的Web应用程序运行在它上面。

J2EE与生俱来的优势

    1、可移植性

    Servlets规范的主要强大之处在于它是一套具有简单性、可移植性、应用广泛性和高度标准化的接口。因为Java WARs可能是目前移植性最好的企业组件,从一台兼容J2EE服务器移植Java Web应用到另一台服务器是一件非常容易的事情。这和平台操作系统没有什么关系,只要主机应用服务器保持及时的更新,应用程序可以被轻松的移植。

   2、可扩展性

    正如刚才所说的,Servlets接口是非常简单和可扩展的。这种简单的特点,使得独立的框架开发者们可以在Servlets接口的基础上,开发一些非常创新的新一代框架,其中最好的一个例子就是RIA(富Internet应用)框架Laszlo,它与Java是完全独立的,它是一个完全支持XML的类JavaScript脚步语言。实际上,它就是一个可以运行在任何兼容J2EE服务器上的WAR应用。

总结

    在我看来,在ASP.NET与J2EE关于Web组件的比较中,ASP.NET具有一定优势。尽管我喜欢Java,因为Java是我的主要技术方向,但是我感觉在Web组件方面,Sun做的工作还不够。

    微软尽其所能来提高开发者的生产力,同时提供清晰一致的体系架构,而J2EE则深陷其中。Servlet本身几乎没有在高生产性上下功夫,它们从来没有改变其陈旧的想法Xml文件的部署模型,而且因为主推JSF而面临Struts、Spring MVC或WebWork的挑战,造成了与开源社区的越走越远。

    不过对于Servlet规范的下一个版本,我还是充满期待。新规范将向开源社区敞开门户,据我所知,这将是一个简单而优雅的接口规范,而没有令人疯狂的Xml。Servlets将被作为一个普通的Java对象,这是一个令人兴奋的消息。
0
相关文章