一 Servlet介绍

12 篇文章 0 订阅

断断续续地翻译完了,给国内需要的朋友看。

原文地址:

https://beginnersbook.com/2013/05/servlet-tutorial/

 

Servlet 是运行在web服务器的JVM里的java程序。 用于开发动态web应用.

在我们深入研究之前,我们要理解什么是“动态web应用”。 一个web应用可以描述为一组web页面的集合,当我们动态地调用它,对于不同用户它只是不同的web页面,服务端将根据客户端的请求生成web页面。

 

静态web页和动态web页主要的不同是,静态页面如其命名对于任何用户都是相同的,但是动态web页是基于客户端的请求。例如,假设有一个web应用展示给你两个inpurt域和一个add按钮,当你输入两个数值并点击add按钮,它展示给你另外的一个两个输入值的和web页面,这个web应用自然是动态的,因为展示给你的第二个结果的页面是根据用户的输入,对于任何用户,它都不是静态的。

 

然而,你可以说servlet所做的事情可以通过CGI(Common Gateway Interface)来完成。这是对的,但是CGI有一些限制,例如执行,可伸缩性,可重用性等,而servlet没有这些限制。我不打算更细致地讨论CGI,但是我会告诉你为什么servlet是更好的。

 

CGI 的限制

服务器必须创建一个新的CGI进程去处理每个客户端请求。例如,加入有100个用户正在访问web应用,那么服务器必须创建100个CGI进程去处理他们的请求。因为服务器资源是有限的,所以每次都为一个新的请求创建一个进程是一个不可取的选择。因为服务器资源有限,所以服务器在同一个时刻处理超过一定数量的用户的请求。

 

Servlet为什么比CGI更好呢?

 

正如我上面提到的,并发的请求被服务器线程处理,这里是一个图形化展示:

(image)[https://beginnersbook.com/wp-content/uploads/2013/05/How_Servlet_Works.jpg]

 

Servlet 的特点

 

现在我们已经理解了什么是Servlet,它的应用是什么。让我们更深入地探索讨论它的主要特征。

 

1 可移植性

Servlet 使用java作为编程语言,因为java是平台独立的,所以servlet自然也是平台独立的。例如,你可以在Winidows操作系统上创建servlet,使用GlassFish作为web 服务器,然后可以使用Apache tomcat把它运行在其他的操作系统上,例如Unix,Linux,这个特点让servlet具有可移植性,这也是servlet对CGI的主要优势。

 

2 效率和可伸缩性

一旦一个servlet被部署,并载入到web服务器中,🗼可以立刻开始满足客户端的请求。web服务使用轻量级的线程调用servlet,因此多个客户端的请求可以同时被一个servlet满足通过使用java多线程的特点。相较于CGI服务器必须为每一个客户端请求初始化一个新的进程,servlet是十分的高效和可伸缩。

 

3 健壮性

通过继承java的高级特性(例如垃圾回收,异常处理,java安全管理器等),servlet不太统一出现内容管理问题和内存泄漏问题,这是的servlet开发程序根甘泉,更少出错。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值