快捷搜索:

JSP与Servlets的区别

JSP和SERVLET到底在利用上有什么差别,很多人搞不清楚。我来胡扯几句吧。简单的说,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上。

在弥补几句:

我们可以看到,当ASP+COM和JSP+BEAN都采纳组件技巧后,所有的组件都是先辈行编译,并驻留内存,然后快速履行。以是,大年夜家常常吹的SERVLET/JSP先编译驻内存后履行的速率上风就没有了。

反之,ASP+COM+IIS+NT慎密整合,应该会有较大年夜的速率上风出现。而且,ASP+COM+IIS+NT开拓效率异常高,虽然BUG很多。

那么,为什么还用JSP+BEAN?由于JAVA其实出路弘远年夜。微软分拆后,操作系统将群雄并起,利用软件的开拓商必定要找一个通用开拓说话进行开拓,JAVA金瓯完好的机会就到了。假如微软分拆顺利,从平分出的利用软件公司将成为JAVA的新引导者。今朝的JAVA大年夜头SUN和IBM都灰心丧气,令人失望。盼望新公司能注入新生气愿望。不过,新公司很有可能和旧SUN展开JAVA标准大年夜战,双方各自拟订标准,影响JAVA夸平台。

别的,现在的机械速率越来越快,JAVA的速率劣势很快就可以被降服。

您可能还会对下面的文章感兴趣: