当前页面: 开发资料首页 → J2EE 专题 → J2EE vs .NET
摘要: J2EE vs .NET
当J2EE出来的时候,我觉得很好,对J2EE的理解是一套Web开发的API标准. 这个标准由Sun公司负责制定,其他公司如IBM,BEA等去实现. 以至于后来.NET出来时对它有一些抵触, 最近对.net的资料进一步的接触,才知道原来他们是各有所长.
l 共同点:
1. 都是基于web应用的开发.
2. 都是解释性的语言
3. 对象的销毁都基于垃圾收集器
4. 都支持Web Service的开发
5. 都支持XML,数据库访问
6. 安全控制
l 优缺点
<table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tr><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="115">内容
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="228">J2EE
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="237">.net
</td></tr><tr style="HEIGHT: 16.5pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="115">编程语言
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="228">Java
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="237">C#,C++,VB,Delphi等多语言
</td></tr><tr style="HEIGHT: 26.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="115">可移植性
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="228">垮平台
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="237">只适合于windows平台
</td></tr><tr><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="115">动态网页
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="228">第一次访问时编译成一个Servlet存储.
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid" valign="top" width="237">访问时或第一次访问时编译成class.
</td></tr><tr style="HEIGHT: 24.75pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 24.75pt" valign="top" width="115">
网页实现手段
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 24.75pt" valign="top" width="228">Jsp
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 24.75pt" valign="top" width="237">Asp.net
</td></tr><tr style="HEIGHT: 35.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 35.25pt" valign="top" width="115">网页开发
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 35.25pt" valign="top" width="228">基于传统的HTML
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 35.25pt" valign="top" width="237">使用专门的WEB控件使得开发网业同开发程序一样的流程. 支持事件
</td></tr><tr style="HEIGHT: 51pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 51pt" valign="top" width="115">基本类型实现reference
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 51pt" valign="top" width="228">用对象去封装一个基本类型
然后进行基本单类型与对象的相互转换
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 51pt" valign="top" width="237">装箱
拆箱
</td></tr><tr style="HEIGHT: 15pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" valign="top" width="115">中介语言
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" valign="top" width="228">ByteCode
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 15pt" valign="top" width="237">MSIL
</td></tr><tr style="HEIGHT: 23.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 23.25pt" valign="top" width="115">编译方式
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 23.25pt" valign="top" width="228">即时编译
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 23.25pt" valign="top" width="237">JIT
</td></tr><tr style="HEIGHT: 26.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="115">执行宿主
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="228">虚拟机
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="237">CLR
</td></tr><tr style="HEIGHT: 18pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="115">Web Service
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="228">较弱
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="237">强
</td></tr><tr style="HEIGHT: 18pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="115">移动嵌入式开发
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="228">KJava, J2ME
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 18pt" valign="top" width="237">Evc,Evb, Windows CE
</td></tr><tr style="HEIGHT: 28.4pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.4pt" valign="top" width="115">网络传输类类型
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.4pt" valign="top" width="228">Class文件
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 28.4pt" valign="top" width="237">源数据(MetaData)和MainFest
</td></tr><tr style="HEIGHT: 26.25pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="115">数据库访问
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="228">JDBC
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 26.25pt" valign="top" width="237">ADO.net
</td></tr><tr style="HEIGHT: 16.5pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="115">执行速度
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="228">慢
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 16.5pt" valign="top" width="237">教快
</td></tr><tr style="HEIGHT: 9pt"><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 86.4pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 9pt" valign="top" width="115">本地接口
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 171pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 9pt" valign="top" width="228">调用原生代码(JINI)
</td><td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0mm; BORDER-LEFT: medium none; WIDTH: 177.7pt; PADDING-TOP: 0mm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 9pt" valign="top" width="237">C++ 编程是唯一的二进制代码工具
</td></tr></table>
l 编程语言
J2EE是只用Java语言实现, 而.NET支持多种语言,甚至连Fortran, Cobol,phyto都支持.但是Java语言是与平台无关的,由此可看出, 一个是平台无关性,注重于移植性, 一种注重语言无关性, 为的是将各类程序员都吸引到一个平台上.从而可以说,sun注重客户的应用,让客户在一个平台上一次性投资,可在多个操作系统中运行. 而微软则是注重吸引程序员,达到市场扩大目的.
l 动态网页
既然是web开发,就少不了动态网页,两者都有自己的开发技术,JSP与ASP. JSP与Servlet是J2EE中对网页处理的最主要的技术,通过将Jsp调用时编译成为一个Servlet,而碰巧的是Asp.net也是将aspx文件编译成一个Class文件,并有一些事件,其中有HTML的部分直接转换到类的Render含数中去. ( 这与以前的asp不一样,以前IIS将启动一个asp解释程序将*.asp文件解释翻译成一个纯HTML输出到浏览器中. 另外 原来在<% %>之间可以定义函数,而在asp.net中只能支持在<script> </script>书写函数)
另外有一点确实是微软很高明的一招,在.net中放入web.UI的控件,使的程序员不需要学习另外一种技术(网页制作),便可以象VB那样拖拖控件,更改属性,就可以开发出网页. 当然DreamWare,frontPage等等也都可以这样在Jsp中一样使用,但是明显没有这么方便.另外程序员需要学习这些工具的使用方法. 这也体现了一个原则, .net适合中小web应用,而j2ee多用于大中型web应用开发. 如果一个程序员j2ee开发一个web应用,需掌握的学习的技术点远远大于用.net开发.
l 本地接口
J2EE更确切说应当是Java语言提供了JINI方式,通过这种原码编程, 为Java增加一些新的特性..net则只支持C++编译产生原生代码一种直接编译途径.
l 发布时的环境
J2EE程序执行时需要安装JDK( 也就是虚拟机).同样 .net程序执行时需要安装.net FrameWork. 在Java虚拟机中, 一个Java类-其保存形式为class文件,被类装载器在需要时装入,然后由执行引擎执行.这种装入也可以通过网络,装入位于其它机器内的class文件.class文件由魔数,版本号,常量表,访问标志,this类,Supper类,接口,成员域,方法区以及属性区组成. ..ne则是运行CLR,实际上多个或一个类别组装到一个dll文件中,这个DLL文件首先有一个Mainifests,就是装配清单,装配清单中包含有多个class的MetaData,一个MetaData定义了一个Clss类型.CLR通过查询每个Dll中的manifests来加载执行一个新类型class.这样一来避免早期微软的COM接口必须要写注册表才能注册使用的弊端.有一点必须注意:所有的.net程序其实都是在一个被称为运行宿主进程内运行.因为所有的 .net程序都是以装配件.dll文件保存的,当然需要一个exe作为这些dll的宿主进程(asp.net提供了一个,IE也是,windows shell也充当的宿主进程) 的宿主进程创建了多个app domain,每个app domain类似于操作系统的Proces.