为什么要使用servlet


Posted in 面试题 onJanuary 17, 2016
servlet可以很好地替代公共网关接口(Common Gateway Interface,CGI)脚本。通常CGI脚本是用Perl或者C语言编写的,它们总是和特定的服务器平台紧密相关。而servlet是用Java编写的,所以它们一开始就是平台无关的。这样,Java编写一次就可以在任何平台运行(write once,run anywhere)的承诺就同样可以在服务器上实现了。servlet还有一些CGI脚本所不具备的独特优点:
1、servlet是持久的。servlet只需Web服务器加载一次,而且可以在不同请求之间保持服务(例如一次数据库连接)。与之相反,CGI脚本是短暂的、瞬态的。每一次对CGI脚本的请求,都会使Web服务器加载并执行该脚本。一旦这个CGI脚本运行结束,它就会被从内存中清除,然后将结果返回到客户端。CGI脚本的每一次使用,都会造成程序初始化过程(例如连接数据库)的重复执行。
2、servlet是与平台无关的。如前所述,servlet是用Java编写的,它自然也继承了Java的平台无关性。
3、servlet是可扩展的。由于servlet是用Java编写的,它就具备了Java所能带来的所有优点。Java是健壮的、面向对象的编程语言,它很容易扩展以适应你的需求。servlet自然也具备了这些特征。
4、servlet是安全的。从外界调用一个servlet的惟一方法就是通过Web服务器。这提供了高水平的安全性保障,尤其是在你的Web服务器有防火墙保护的时候。
5、setvlet可以在多种多样的客户机上使用。由于servlet是用Java编写的,所以你可以很方便地在HTML中使用它们,就像你使用applet一样。在本书中您将看到这一点。

Tags in this post...

面试题 相关文章推荐
什么是接口(Interface)?
Feb 01 面试题
说出ArrayList,Vector, LinkedList的存储性能和特性
Jan 04 面试题
serialVersionUID具有什么样的特征
Feb 20 面试题
广州御银科技股份有限公司试卷(C++)
Nov 04 面试题
C++如何引用一个已经定义过的全局变量
Aug 25 面试题
递归计算如下递归函数的值(斐波拉契)
Feb 04 面试题
网络安全方面的面试题
Nov 04 面试题
木马的传播途径主要有哪些
Apr 08 面试题
酷瑞网络科技面试题
Mar 30 面试题
linux面试题参考答案(2)
Dec 06 面试题
init进程的作用
Aug 20 面试题
介绍一下JNDI的基本概念
Jul 26 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
May 30 #面试题
Java servlet面试题
Mar 04 #面试题
JSP&Servlet技术面试题
May 21 #面试题
Servlet如何得到客户端机器的信息
Oct 17 #面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
Mar 16 #面试题
Servlet如何得到服务器的信息
Dec 22 #面试题
Servlet方面面试题
Sep 28 #面试题
You might like
php提示undefined index的几种解决方法
2012/05/21 PHP
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
python 读取文件并替换字段的实例
2018/07/12 Python
python 整数越界问题详解
2019/06/27 Python
Mac安装python3的方法步骤
2019/08/09 Python
python操作yaml说明
2020/04/08 Python
基于opencv实现简单画板功能
2020/08/02 Python
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
银行会计职员个人的自我评价
2013/09/29 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
英文演讲稿开场白
2014/08/25 职场文书
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server