为什么要使用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...

面试题 相关文章推荐
Yahoo-PHP面试题3
Jan 14 面试题
如何将字串String转换成整数int
Feb 21 面试题
阿尔卡特(中国)的面试题目
Aug 20 面试题
下面这个程序执行后会有什么错误或者效果
Nov 03 面试题
一套SQL笔试题
Aug 14 面试题
你对IPv6了解程度
Feb 09 面试题
密封类可以有虚函数吗
Aug 11 面试题
静态成员和非静态成员的区别
May 12 面试题
C#面试题问题集
Apr 02 面试题
简述安装Slackware Linux系统的过程
Jan 12 面试题
代码中finally中的代码会不会执行
Feb 06 面试题
Unix控制后台进程都有哪些进程
Sep 22 面试题
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
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
总结对比php中的多种序列化
2016/08/28 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
Python 字典(Dictionary)操作详解
2014/03/11 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python探索之ModelForm代码详解
2017/10/26 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
.net面试题
2016/09/17 面试题
关于抽烟的检讨书
2014/02/25 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
教师工作能力自我评价
2015/03/04 职场文书