.NET架构转Java开发必须了解的历史

终于不在职守在.NET领域 .NET的winform和webform项目也开发了不少了  尤为是WEB领域 从ASP -> ASP.NET 2.0 -> ASP.NET MVC 4.0 ->  ASP.NET CORE(这块尚未研究和实际项目经验) php

决定本身学Java的根本缘由 是目前前端流行的大趋势下 利用ASP.NET基本上就是开发后端API接口 数据交互到前端页面 由前端UI框架进行展现 以及实现交互功能前端

既然工做主要集中在前端了 后端仅仅是数据接口以及简单的页面参数传值和绑定 那么多学一个java 多学一个php 也就能多会一种开发语言开发Web项目java

至此,利用.NET已有比较经典又复杂的页面,对应的去学习Java对应的架构 实现利用Java编码完成相同的效果 也就只是时间问题了程序员

.NET架构:Visual Studio + ASP.NET(webmethod异步方法)+ EntityFramework ORM web

Java架构:Intellij idea + Servlet/JSP/JSP+JavaBean + Hibernate 5.1/5.2 ORM数据库

目前已经基本学会使用maven构建项目 以及掌握HB的各类用法,那么剩下的就是中间的网页技术了 下面的文章就是本身的转载,比较好的让我了解了java web那边的技术发展进程,其实和.NET这边真的是有对应的 因此学起来应该很好理解后端

转帖内容1:设计模式

首先sun提出的是Servlet体系,这个体系使得使用JAVA的程序员也能开发基于B/S架构的WEB应用程序,使用Servlet类将HTTP请求和响应封装在标准JAVA类中来实现各类WEB应用方案。这一步也是sun的J2EE架构中的最关键的一步。
随着大量的B/S架构程序开发出来之后,人们发现Servlet类的编写是很是繁琐的,主要集中在几个问题上:首先有大量冗余代码,这些代码在每一个servlet类中都是如出一辙或者基本近似的,其次是开发Servlet的程序员不多有精通美工的,致使使用Servlet开发没法方便的作到各类页面效果和丰富多彩的风格,这个时候sun借鉴了微软的ASP方式,正式提出JSP(也就是Servlet 1.1),JSP推出后,JAVA程序员也能象ASP的程序员那样将服务端代码添加在已经由美工设计好的静态页面上,通过一个JSP容器对JSP文件进行自动解析并转换成Servlet类来交给WEB服务器运行。这么一来,极大的提升了工做效率。
人的渴望老是无止境的~~,随着JSP的普遍应用和各类设计模式的盛行,人们发现JSP也暴露了大量的问题:首先,夹杂服务端代码的JSP文件给后期维护和页面风格再设计带来大量阻碍,美工在修改页面的时候不得不面对大量看不懂的服务端代码,程序员在修改逻辑的时候常常会被复杂的客户端代码搞昏。交叉的工做流使得JSP面临大量的困境。这直接致使了servlet1.2的出台,sun在这一版中充分倡导了MVC的概念,大量页面标签的使用使得交叉工做流变的稍微的容易了,服务端标签的兼容性使得美工也能够直接随意移动这些标签而获得对应的效果。可是又暴露了一些问题:设计的差的标签使得程序的错误得不到检测,不成熟的代码致使没法真正的使服务端标签能够和客户端标签那样随意移动而不会致使逻辑错误。这些都有待咱们去解决~

BTW:这个过程当中有个搞笑事情,sun借鉴微软的ASP提出了JSP,而微软又借鉴SUN的JSP架构完善了ASP.net的架构,因此咱们看到,经过不断的竞争与完善,技术老是会让咱们逐渐的驾轻就熟,因此尽情享受吧呵呵~。服务器

转帖内容2:网络

单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句仍是采用了老的CGI方式,是一句一句输出,因此,编写和修改HTML很是不方便。后来SUN推出了相似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。固然也能够更复杂。SERVLET用来写business layer是很强大的,可是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。固然也能够写business layer。写惯了ASP,PHP,CGI的朋友,常常会不自觉的把presentation layer和business layer混在一块儿。就象前面那个朋友,把数据库处理信息放到JSP中,其实,它应该放在business layer中。根据SUN本身的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部份。而全部的数据计算,数据分析,数据库联结处理,通通是属于business layer,应该放在JAVA BEANS中。经过JSP调用JAVA BEANS,实现两层的整合。实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS彻底相似,全部的presentation layer由ASP完成,全部的business layer由COM/DCOM完成。经过调用,实现整合。为何要采用这些组件技术呢?由于单纯的ASP/JSP语言是很是低效率执行的,若是出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提升功能上限,加快执行速度。另一方面,纯SCRIPT语言将presentation layer和business layer混在一块儿,形成修改不方便,而且代码不能重复利用。若是想修改一个地方,常常会牵涉到十几页CODE,采用组件技术就只改组件就能够了。综上所述,SERVLET是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,而且两层混杂。因此,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。SUN本身的意思也是未来用JSP替代SERVLET。但是,这不是说,学了SERVLET没用,实际上,你仍是应该从SERVLET入门,再上JSP,再上JSP+BEAN。强调的是:学了JSP,不会用JAVA BEAN并进行整合,等于没学。你们多花点力气在JSP+BEAN上。

相关文章
相关标签/搜索