aspnet和java哪一个好(java和aspnet写网站哪个好)

http://www.itjxue.com  2023-01-28 11:23  来源:未知  点击次数: 

学网站技术是ASP.NET好还是JAVA好?

.net比较好.

1.标准集成:XML、SOAP及其它

过去,微软的体系结构建立在COM/DCOM基础上,COM/DCOM是进程间通信的二进制标准。虽然这个标准本身没有什么失误,但是它与微软以外的领域格格不入。也就是说,这个标准成了实现与其它软件平台互操作的瓶颈。

除此之外,数据也是一个问题。虽然ADO简化了数据访问,但是把数据从一个地方传送到另外一个地方就成了问题。ADO Recordset(记录集)对象是一个存储了数据的二进制结构,而这种二进制格式对于非微软的平台没有任何意义。

.Net弥补了这些缺陷,因为它完全基于标准。比如,数据用XML的格式通过进程边界,而这个数据有一个到XSD的连接,所以任何客户端都可以正确地转化数据。

SOAP基于XML,用于与Web服务的通信。集成SOAP以后,不管客户端运行的是不是微软的操作系统,都可以实现简单的可编程访问。

2.简化应用

COM所面临的一个头痛的问题就是应用。COM利用Windows注册表来定位机器上的组件。这个想法是不错的:每个注册的组件只有一个实例,所有的应用程序都使用相同的版本。COM具有向后兼容性,也就是说新版本兼容老版本,但是开发人员可能会破坏这种兼容性。

.Net则采用了不同的方法:它根本就没有使用注册表。相反,微软的建议是每个应用程序使用自己局部的组件(在.Net称为“assembly”)。利用这种方法,用于应用程序Foo的Assembly X如果发生变化,Assembly X的Application Bar不会受到任何影响。这种方法听起来好象以前一台机器上同一个DLL的多个拷贝,的确是这样。不过你不会遇到应用程序查找Windows\System32目录的问题。

由于.Net不使用注册表,很多应用都可以用简单的拷贝命令来完成,通常没有必要开发安装程序。此外,应用程序不会琐定assembly,所以升级DLL的时候不必关闭应用程序。

3.Web服务支持

在流行的Web服务方面,微软发挥着重要的作用,而.Net为开发Web服务带来了前所未有的便利。用Notepad就可以建立简单的Web服务,甚至不必利用编译器,只要对它们进行简单的调用即可,因为.Net会对它们进行编译,甚至提供一个测试页供用户检验其功能。.Net 拥有所有必需的渠道,可以生成用户所需的所有文件,比如WSDL文件。

.Net也是一个聪明的Web服务使用者:只要设置了指向某个Web服务的索引,你就可以把它当作本地的assembly。你可以获得完整的Intel许可和功能实现帮助。

Web服务对于发送数据是非常重要的,感谢ADO.Net,Web服务可以利用简单或者复杂的数据,并以XML格式把它们发送到任何客户端,最后设置一个链接,指回到一个描述数据模式的XSD。

4.用于所有.Net语言的标准工具集

最终,你会拥有一个适用于所有语言的集成工具集。你会拥有一个统一的IDE、调试工具以及其它类似的工具。因此,其它公司可以把他们的语言嵌入IDE环境,并获得.Net工具所有的支持。比如富士通开发了netCOBOL .Net,它已经直接集成到IDE中,因此可以用 COBOL编写Web服务和Windows应用并获得微软提供的调试和profiling(监管)工具。

.Net是个开放的架构,所以其它厂商也可以提供自己的工具。比如Borland,该公司已经宣布其下一版Delphi将具有建立.Net应用的功能,同时它也保证,Delphi会拥有自己的IDE,不会嵌入Visual Studio .Net。

5.对移动设备的支持

Visual Studio .Net发布不久,微软就推出了移动Internet工具包(Microsoft Mobile Internet Toolkit ,MMIT),以便用.Net构建移动应用。该工具包提供了可视化功能,你可以直观地拖动和下拉面向移动设备的窗体和控件。该工具包有利于正确书写标记语言(比如WML、WAP等等)。

.Net简化架构(.Net Compact Framework)不久就会面市,它是.Net架构的缩略版,设计用于Pocket PC设备。有了这个架构,开发人员就可以开发出丰富的Pocket PC计算机应用。你可以编写一个运行于小型设备上的应用,比如用于Pocket PC设备或者具有Web功能的手机。事实上,MMIT包含了很多仿真程序,它们使用了真正为这类设备编写的ROM代码,所以在你的应用程序投入使用之前,可以首先测试其用于此类设备时的性能。

6.代码管理

.Net管理用户的代码,从很多方面看,这一点都是很重要的,比如减少bug以及构建更多可扩展的应用。.Net可以处理以下操作:内存分配和回收,进程及线程的创建和终止,以及运行代码的访问许可。

VB开发人员先前面临的问题——比如内存管理、线程和进程创建——现在都可以由.Net来处理。而C++程序员可以转向C#,.Net代替他们处理这些操作后,内存泄露和其它bug出现的可能性将大大减少。拥有了被管理的代码,你可以访问.Net所有跨语言的能力。

7.平台独立

虽然.Net是为微软的操作系统创建的,但是微软的确为ECMA标准委员会发布了一部分框架和C#。比如,Mono project实现了Linux的.Net,包括架构和C#编译器。这意味着很多应用(特别是基于Web的应用)一次编写完成后就可以运行于多种平台上。

8.充足的学习资源

.Net的学习曲线非常重要,可能.Net的方面的书要比其它所有编程技术的书都多。此外,微软和第三方团体开设了很多课程,可以让开发人员很快就上手。最后,很多网站为开发人员员学习.Net提供了技术和指导。

9.现代化语言

VB.Net和C#都是现代化的语言。它们完全是面向对象的,设计的时候消除了很多VB 和C++的矛盾。这两种语言使用了多层式架构 (n-tier),这是一种基于组件的方法。

比如,C#取消了指针和其它一些结构,它们曾经给C++程序员(特别是新手)带来很多严重的问题。代码由.Net架构管理后,VB.Net 和C#都从中受益。这个架构还包括一些基础的对象,它们是开发多线程、支持XML等应用所必须的。

10.跨语言标准基本类型

VB开发人员曾经面临一个致命的问题:VB中的字符串与C++中的字符串不同,所以调用Windows API函数的时候会出现一些问题。.Net确定了所有类型的标准定义,所以VB中的字符串和C#中的字符串相同,也和netCOBOL .Net中的字符串相同。这意味着你再也不必担心语言A中的整型数据是32位而语言B中只有16位。你可以确信不同语言的数据类型都相同,可以更好地进行跨语言集成。

优点多于缺点

.Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用开发并简化使用。IT人员对.Net保持了应有的警惕,因为它毕竟还是个新事物,需要有一个比较艰难的学习曲线。但是对于大多数组织而言,其优点远远多于缺点。有了.Net,你可以在未来的开发项目中赢得更高的生产力。

在还有很多详细的讲解和回答。。

java 好 还是ASP.net好???

从工作上来说接近85%的ASP.NET工作者月收入不足五千元,这意味着曾经高薪的历史一去不复返了。如今技术门槛比较低,.NET技术实在是算不上什么高深技术,再加上国内软件公司也没几个在做高科技项目,且不说.NET到底适不适合用来做高科技的项目,总而言之,既然这事儿的技术含量不高,那报酬也高不到哪里去。做.NET的仅靠技术能力得到高薪是很难的,那不到6%月收入高于8000的.NET开发程序员,应该大都是管理层:有数据表明其中项目经理占其中的10%,并不是纯.NET技术开发者。

Java编程的开发人员月薪有45%在1000-3000元的范围之内,这个范围的薪水基本上是大学毕业之后到工作两年之间的薪水范围,这说明大量毕业生进入软件编程行业,主要采用的还是Java技术,Java成为了他们谋生最主要的工具之一。此外,在3000-5000元月薪范围有29%的比例,这个薪水范围一般是1-3年工作经验的程序员,可见在软件行业当中,Java应用比例还是非常高的。另外在1万以上月薪范围还有2%的比例,说明Java程序员也有一部分可以进入比较高的收入阶层。但JAVA比较难学

JavaEE和ASP.NET相比哪个更有前途?为什么?好在哪里?

JavaEE和ASP.NET相比Javaee更有前途。

J2EE与.NET比较

1.体系架构的比较

作为彼此竞争的应用平台,J2EE和.NET开发平台在目标和体系结构上极其相似,但在实现上又完全不同。

(1)类似的平台基础构造 J2EE和.NET两个平台在底层的执行引擎都源于托管的虚拟机概念,但.NET的CLR沿着Java虚拟机(JVM)走得更远,CLR在借鉴了JVM的自动垃圾收集、异常处理等机制的同时,又为.NET平台添加了多语言支持、组件自描述等新的特性。

在.NET和 J2EE平台上,程序的编译都经过两个类似的过程。首先,特定高级语言编译器将C#(及其他.NET语言)和Java源代码分别翻译成中间语言(IL)和字节代码(ByteCode)。.NET在中间语言设计时通盘考虑了多个主流高级语言,在这一层面实现了.NET平台的跨语言承诺;J2EE的基石是Java语言,它最典型的特征是:一次编写,多次运行。跨平台是J2EE一直引以为豪的关键,这是通过JVM来实现的。

其次,在执行时,中间语言被即时编译器(JIT)编译成特定平台的二进制代码,字节代码则通过JVM解释执行,完成各自语言的指令功能。鉴于微软在“Wintel平台”上的代码优化功底,.NET代码的执行速度较之于Java有明显的优势是不争的事实。但在Unix/Linux平台上,由于.NET迟迟未能实现其跨平台的承诺,J2EE几乎成了惟一的选择,执行效率的比较也就无所谓。在代码执行的同时,通用语言运行时和Java虚拟机也都提出了异常捕捉、类型安全、内存分配和垃圾收集等自动化内存管理工作,大大减轻少了现代软件的内存泄漏问题,减轻了程序员的繁重负担。

面向对象程序设计在J2EE和.NET平台中都获得了直接的支持,单根继承加多接口实现是它们共有的特征。但在面向对象之外,.NET对现代组件编程提供了直接支持。当然,当下很多企业中间件都是基于J2EE平台,只是.NET从设计、编码、配置到运行都给予了组件编程更多、更直接的支持。

在基础的和企业级的服务上两个平台很难一决高低。从基础的集合、字符串操作到企业级的API接口,如JMS、JDBC、JAX和JNDI等,J2EE在这方面有着非常坚实的结构。微软.NET框架类库也不示弱,提供了从图画、网络、线程到ADO.NET、ADSI、Windows表单和ASP.NET等一系列的API。

除去API类库的无缝的功能复用外,对本地平台的调用操作也是值得关注的。CLR和Java虚拟机都支持本地方法的调用。在异构平台方面,J2EE更钟情于IIOP(InternetInterORB Protocol),而.NET则使用SOAP。

(2)相同的三层/多层体系 基于三层/多层分布式计算结构已毋庸置疑地成为当今企业应用的主流模式,也是两个平台较量的着力点。

在客户端,表示层负责用户与系统的交互。对于不同的处理要求,.NET和J2EE都提出了基于桌面的应用程序和基于浏览器的Web应用的开发组件:JavaApplication与Windows表单、Java Servlet/JSP与ASP.NET双双形成犄角之势。但Windows表单依赖微软桌面系统的天然优势,无论在交互速度还是在界面的表现性能上都较JavaApplication稍胜一筹。Servlet/JSP与ASP.NET是目前企业在“瘦客户端”应用的重点,两者都基于HTTP请求/响应模型,通过HTML浏览器页面完成用户交互。虽然ASP.NET声称在底层通过编译执行获得了相当高的处理速度和服务器方控件的浏览器自适应能力,但目前并没有这方面的硬性数据,很难据此而论高低。在缓存、状态优化等方面两者可谓是旗鼓相当。另一个与客户端应用相关的技术是ActiveX与Applet,从目前的趋势来看,它们在两个平台上的地位逐渐边缘化,也不为大多数企业所接受。

在中间层,分布式业务组件负责企业应用的商业逻辑部署。由于这些业务组件经常负责处理数据库连接、网络资源和线程等高昂的资源,所以一直是三层/多层架构的关键和企业应用的核心。J2EE的EJB是一个成熟的、得到业界广泛支持的大型企业级组件框架,而.NET组件则是建立在新型的COM+服务之上,两者在组件与操作系统的交互、客户端资源共享等方面都有很好的支持。.NET则通过元数据支持自描述性的组件开发、XCOPY部署以及多版本共存,无需注册表和描述文件,对企业客户有一定的吸引力。

在后端数据层,两个平台都为数据库连接量身定做了一套数据存取模型:J2EE的JDBC和.NET的ADO.NET,它们在支持传统SQL数据源的同时,也支持新型的XML数据源。这方面由于更多地涉及到具体的数据库产品,很难说那种数据模型更有优势。

2 移植性比较

在移植性方面,.NET支持跨语言,J2EE支持跨平台。

微软通过.NET 通用语言运行时来消除编程语言的差别,“选择.NET平台就意味着选择Windows”,这句话至少在可预见的一段时间里仍然是一个基本事实。J2EE则通过Java虚拟机来消除平台差别,跨平台是它的一大卖点,也是在选择企业应用开发平台时的一个重要参考因素,几乎所有的主流操作系统都提供了对J2EE的支持;实际上如果要搭建跨Unix、Windows等多个操作系统平台,J2EE平台几乎是惟一的选择,J2EE更关注跨平台而不是跨语言。但微软认为,如果企业的应用都能通过标准协议以Web服务的方式发布,那么平台都是中立的。为了吸引更多的开发者和鼓励广大企业厂商转到.NET平台,微软提出了多语言支持,希望用跨语言的交互性来平衡跨平台的互操作。

3. 性能比较

性能是J2EE和.NET喋喋不休的话题。二者之间著名的论战是一个关于宠物店的范例应用。宠物店是Sun一度以来作为J2EE典型应用的展示范例,而.NET“自告奋勇”地在自己的平台上实现了该宠物店应用,且声称代码行是J2EE的1/3,效率却是J2EE的30倍。但Sun的理由是这个范例根本不适合用来做性能比较,该范例实现也没有做针对性能的优化,而且指责微软通过后端数据库优化和缓存虚抬了.NET平台的效率。这样的争吵当然不能作为判断的依据,目前也没有见到更客观的第三方评测报告。在“Wintel平台”上也许没有理由怀疑.NET的性能;至于非Windows平台,.NET和J2EE也不再具有可比性。

4.安全性、稳定性比较

WINDOWS本身的安全漏洞,使得.NET的安全性不如J2EE。同时,在应用服务器的选择上,.NET只能用IIS,安全性、稳定性难以保证;而J2EE有更多的选择,可以在诸多遵循标准的厂商所提供的应用程序服务器中,选择最符合需要、成本最低、而且又被认为是最佳的平台。

5.可扩展性比较

.NET平台的扩展思想是基于软件的横向扩展,而J2EE平台的扩展思想则是基于硬件的纵向扩展。

Windows系统一般只能扩展到不超过8个处理器,而Sun的系统却可以扩展到100个甚至更多处理器。

基于J2EE平台的应用程序可被部署到各种操作系统上,例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器,这是NT服务器所望尘莫及的。J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

6.成熟度比较

在平台的成熟度方面,两者也有一比。J2EE在1999年形成了成熟的架构,发展至今已经具有相当成熟的、经过检验的企业应用系统。而.NET究其渊源是源自微软以前开发企业应用程序的平台DNA(DistributedNetwork Architecture),其中包括了许多已经被证实的技术,并且这些技术已经在产品中得到实现,包括微软的事务服务器、COM+、消息队列和SQL Server数据库等。

7.第三方厂商的支持

J2EE作为一种开放的规范,从一开始就得到了众多厂商的支持,IBM、BEA、HP、Oracle等在J2EE的实施上都有较大的投入。目前市场上最好的J2EE应用服务器并不是Sun与Netscape合资的iPlanet,而是BEA的WebLogic和IBM的Webshpere。开发工具有Borland的JBuilder、Sun的Forte for Java、BEA的WebLogicWorkshop、Oracle的JDeveloper、IBM的VisualAge forJava等。

而.NET在设计之初就紧紧地把平台规范与产品胶合在一起。虽然,NET架构的一小部分具有开放性(如C#语言、通用语言基础构造CLI 和Web服务标准),但至少目前很难想象会有一个非微软的.NET实现。Visual Stdio.NET是其唯一的开发工具。

8.开源支持比较

J2EE开源产品众多,免费框架居多,相应的最佳实践设计模式层出不穷。而.NET无开源社区支持,是以框架开发者为主导的设计。

9.学习成本比较

J2EE门槛较高,由于多且杂,需要开发人员花费很长时间才能熟悉整个体系。而.NET门槛较低,使用方便,学习成本较低。但是,对于开发人员来说,.NET在系统整体架构的设计方面不如J2EE易于把握。

10.对WEB服务支持的比较

从.NET和J2EE这两个平台的发展历程来看,.NET从一开始就深深打上了Web服务技术的烙印,在它的市场推广活动中,无时无刻不凸显其作为Web服务的开发和部署平台的特征,可以说,.NET天生就是为Web服务准备的开发和部署平台。相对.NET而言,J2EE是一个比较“老”的东西,最初它是为了将Java平台拓展到企业级应用领域而制订的一个平台框架规范,随着Web服务技术的兴起和发展,J2EE平台作为一个企业级应用的开发和部署平台,无法回避业界的重大技术革命——Web服务,J2EE也不断地引入了对Web服务的支持。

从服务描述、服务实现和服务的发布、发现与绑定,以及服务的调用和执行这些不同的角度看,J2EE和.NET的支持基本不相上下,惟一的区别可能是.NET的开发工具更为方便一些、集成度更高一些。

在Web服务规范的控制方面,微软与IBM共同主推了大量的Web服务规范,在一段时间内,两家公司Web服务技术的市场推广活动都是联合举行的,不难看出这两家公司在这个领域背后的战略合作关系。最初的Web服务核心技术SOAP、WSDL主要由这两家公司制订,后来的UDDI是由这两家为首的多家核心企业共同制订,再后来的一些不是核心的Web服务规范,如WS-Inspection、WSFL、WS-Security、WS-Routing、WS-License和WS-Referral等,则完全是由这两家来制订的。不难看出:IBM和微软对于Web服务的贡献以及它们对Web服务规范的控制。

尽管由于某种原因,Sun公司曾经在很长的一段时间里被排除在WS-I(由IBM,微软和BEA发起成立的促进WEB服务互操作的一个组织)的门外,但这并没有影响Sun公司继续在WEB服务方面坚持开放的战略。Sun公司是Java语言的发明者,而作为一个开放的跨平台的技术体系,Java在WEB服务的开发方面也起着非常重要的作用。双方妥协后,Sun最终被接纳为WS-I的董事成员。

Sun公司积极地参与了制订Web服务规范的过程,像XML和ebXML。并已经在Java中支持WEB服务中最重要的规范,例如SOAP(JAX-RPC、JAXM、SAAJ和JMS)、WSDL(Java API forWSDL)、UDDI/ebXML(JAXR)和XML(JAXP,JAXB)等等。Sun公司除了积极地参与Web服务领域里的标准化工作,更是努力地为客户提供全面的软件产品,为用户开发和部署Web服务提供平台。Sun公司的Sun ONE Web服务平台开发版,是业界第一个用于基于Java技术的Web服务和Web应用开发的全方位的集成平台。该平台集成了多种SunONE服务器软件、Java开发工具,支持业界的WEB服务标准,而且是面向开发人员设计,安装和使用都非常简单。

asp.net和JAVA那个好啊!不知道学什么了,帮忙介绍一下啊

如果是初学,建议学asp.net然后在学java。

因为:asp.net相对好学一些,而且有了asp.net基础以后在学java就容易的多了。

个人看法希望对你有帮助。

(责任编辑:IT教学网)

更多

推荐广告特效文章