zoukankan      html  css  js  c++  java
  • jsp和serverlet的差别

    開始找工作面试的第一家公司,爱思创新 面试题:

    1、jsp和serverlet的差别

     简单来说:

    jsp:是包括java程序片的html文件
    servlet:是包括html的java文件

    事实上说白了JSP和SERVLET究竟什么差别呢,JSP就象宾馆前台的服务员,要长的不错,让顾客一看就认为比較舒服,他主要就是负责显示这个宾馆的形象的.而SERVLET就象部门经理,要处理各种各样的业务和事情,而bean呢就象是高层领导了,他负责从部门经理处获得信息,报告给董事会,或者把董事会的建议和计划吩咐下去.他们分工合作,各干其职.

    详细的看下以下吧.
        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的速度劣势非常快就能够被克服。

  • 相关阅读:
    redis 中 发布订阅 的 数据类型
    excelExport.js 导出 excel 表格
    Go 出现:err is shadowed during return(err在返回过程中被隐藏)
    Go 服务端 向 firebase Android 端 fcm 信息
    Python全栈day 03
    Python全栈day 01
    开发流程与版本管理规范
    php 魔术常量
    sql 消除重复
    重置mysql密码
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4297108.html
Copyright © 2011-2022 走看看