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

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的速度劣势非常快就能够被克服。

jsp和serverlet的差别的更多相关文章

  1. JSP与HTML的差别

    HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性 语言呢?由于.仅仅要你有一个浏览器那么它就能够正常显示 ...

  2. JSP/Servlet-----charset 、pageEncoding差别

    一.JSP/Servlet中的几个编码的作用         在JSP/Servlet中有4个地方可设置编码(例如以下).当中前两个仅仅能用于JSP中,后两个可用于JSP和Servlet 中.    ...

  3. java中的system.out.println()和JSP中out.println()差别

    out.println()输出到client.     在out.println()中,out是response的实例.是以response为对象进行流输出的,即将内容输出到client.假设在JSP ...

  4. J2EE 13规范(4)-JSP

    JSP全称(Java Server Page ),也称javaserver页面.看到jsp是否立马想到原先以前学过的asp呢. 一.jsp和asp的比較: JSP(Java Server Page)与 ...

  5. JSP 知识基本

    from:http://blog.csdn.net/caipeichao2/article/details/38589293 more:http://www.2cto.com/kf/web/jsp/4 ...

  6. EL和JSTL专题

    EL简介 EL全名为Expression Language,它原本是JSTL 1.0为方便存取数据所自定义的语言.当时只能在JSTL标签中使用,如下: <c:out value="${ ...

  7. 两种include方式及filter中的dispatcher解析

    两种include方式 我自己写了一个original.jsp,另外有一个includedPage.jsp,我想在original.jsp中把includedPage.jsp引进来有两种方式: 1.& ...

  8. 尚学堂Java面试题整理

    博客分类: 经典分享   1. super()与this()的差别? - 6 -  2. 作用域public,protected,private,以及不写时的差别? - 6 -  3. 编程输出例如以 ...

  9. jstl--->Core 核心标签库->URL操作

    jstl--->Core 核心标签库->URL操作 -->import.param.URL.redirect <c:import>将静态或动态文件包含至本身jsp页面 而 ...

随机推荐

  1. G - 小希的迷宫(并查集)

    1今天准备复习三道以前做过的题呢,结果只看了一道,也因为交题的时候没把测试时候为了方便而改的数字改过来而wrong answer,浪费了好长时间,啊啊啊~~ 不过这道题应该是掌握了,嘿嘿…… Desc ...

  2. HDU OJ 5326 Work( 2015多校联合训练第3场) 并查集

    题目连接:戳ME #include <iostream> #include <cstdio> #include <cstring> using namespace ...

  3. [Swust OJ 715]--字典序问题(组合数预处理/数位dp)

    题目链接:http://acm.swust.edu.cn/problem/715/ Time limit(ms): 1000 Memory limit(kb): 65535   在数据加密和数据压缩中 ...

  4. listview,fragment结合起来

    这是csdn上的以个demo,很适合初学者.来源:http://download.csdn.net/detail/endlife99/7274419,侵删. MainActiviy: package ...

  5. Js 30 BOM

    小知识点, 1.document.write()方法: 如果document.write()在一个事件中或window.onload=function(){}这个function里, 那么docume ...

  6. Python 第十三篇之二:jQuery基础

    一:jQuery是一个兼容多浏览器的javascript类库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发,并且在兼容性方 ...

  7. Hadoop Error:Name node is in safe mode的解决方法

    Error:name node is in  safe mode 解决方法:hadoop dfsadmin -safemode leave(见图)

  8. Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明(转)

    一.  官网说明 在DBCA 建库的时候,有提示让我们选择连接类型,这里有两种类型:专用服务器模式和共享服务器模式.默认使用专用模式.如下图: Oracle 官方文档对这两种文档的说明如下: Abou ...

  9. weblogic中设置数据源的注意点

    一.基本概念 进入weblogic的管理页面,点击服务——>数据源,可以进行数据源的配置.通过新建,输入地址,用户名,密码等信息可以新建一个数据源. 二.发现问题 建立好数据源之后,跑项目,发现 ...

  10. HTTP1.1协议中文版-RFC2616

    转自:http://www.cnpaf.net/Class/HTTP/200811/23277.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 “互联网官方协 ...