background image

对象并不是十分了解。

ASP.NET 所带来的进步是革命性的,难怪有朋友认为 ASP.NET

.NET 家族中最为成功的产品了。我当时只是拿 ASP.NET 来跟 ASP 作对比,其优越性自然

显露无遗,尤其是在控件设计方面的优势。事实上直到后来进入

J2EE 的开发领域,我依然

ASP.NET 的开发方式赞赏有加。Microsoft 在技术的创新上一直秉持削弱领域开发特性的

原则,让开发人员能够在不同的开发领域中都可以轻松上手,游刃有余。

ASP.NET 的出现

带来了

WebForm,而在桌面程序开发中则有 WinForm,两者相通的地方随处可见,这让原

有的桌面程序开发人员可以平滑的过渡到

Web Application 开发中来;ASP.NET 对于控件在

设计以及使用上的支持堪称完美,也为网页设计人员进入

ASP.NET 开发领域扫除了不少的

障碍。反观

J2EE 领域,做 Swing 开发的人员,如果要学习 Web 的开发,原有的知识几乎无

用武之地了。在这个人气就是财富的年代,在一定层面上求同存异,让开发人员能够一通百

通,无疑是一个十分明智的做法。

J2EE 领域也开始意识到了这一点,将 Swing 概念应用到

Web 开发的 Wicket Framwork 的发布着实是一个极大的进步啊。J2EE 在降低 Web 开发的难

度,吸引入门级开发人员方面需要向

.NET 好好请教一番了。

        好,个人经历接着说。2003 年底,我进入了一家软件公司从事 J2EE 的开发工作。

当时公司技术部门负责人在面试我的时候提到了我缺乏

J2EE 的开发经验的问题,我信心满

满的告诉他,我做过

.NET 的项目,而.NET 和 J2EE 都是专注在企业级应用上的,因此肯定

会很快上手,不会有什么问题。然而后来的工作证明了平台之间的差异性是很大的,

.NET 过渡到 J2EE 并不是一件轻松的事情。没有了熟悉的 Web Control,取而代之的是简

陋 的

Tag  Library ; 没 有 了 简 单 易 用 的 Event-Driven 的 方 法 , 呈 现 眼 前 的 是

doGet、doPost、doHead 和 service 这样看似丑陋的面孔。蜕变的过程是痛苦的,但是蜕变带来

了进化。开发方式的改变让我可以从一个更加深入的层面去看待

Web 开发,而我开始重新

认识

Web Application。Web 开发的复杂性在很大程度上源于 Http 是一个无状态的连接协议,

Web Server 不管你是 Michael,还是 Jordon,只要你在浏览器上使用了相同的 URL,就会得

到相同的资源。在这里,你必须清楚

URL 到底是什么的缩写。也许你会站出来反驳我刚才所

说的结论,但是这种情况在只有静态

HTML 网页的年代是绝对正确的。随着时代的发展,

资源已经不再局限于静态的

HTML 网页,随之出现了所谓的动态网页。这里的动态不是指

充满

Flash 动画的网页,而是指网页的内容会根据不同的 Request 而发生变化。虽然 Web 的

内容开始个性化了,但是仍然没有脱离

Client 发送 Request,Server 返回 Response 这样的模

式。由于

Http 是一个无状态的连接协议,为了能够识别用户访问同一资源的状态,在 J2EE