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

面试题 相关文章推荐
Java里面StringBuilder和StringBuffer有什么区别
Jun 06 面试题
精伦电子Java笔试题
Jan 16 面试题
一套带答案的C++笔试题
Jan 10 面试题
威盛公司软件C++工程师笔试题面试题
Jul 16 面试题
三维科技面试题
Jul 27 面试题
XML文档面试题
Aug 05 面试题
名词解释型面试题(主要是网络)
Dec 27 面试题
一些网络技术方面的面试题
May 01 面试题
C# Debug和Testing相关面试题
Oct 25 面试题
软件测试常见笔试题
Feb 04 面试题
介绍下Java中==和equals的区别
Sep 01 面试题
介绍下static、final、abstract区别
Jan 30 面试题
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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
php 操作符与控制结构
2012/03/07 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
争先创优活动总结
2014/08/27 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
教师自查自纠材料
2014/10/14 职场文书
尼克胡哲观后感
2015/06/08 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
MySQL多表查询机制
2022/03/17 MySQL
SQL语句多表联合查询的方法示例
2022/04/18 MySQL