Servlet是什么?

Java Servlet 是运行在 Web 服务器应用服务器上的程序。

Java Servlet是一个基于Java技术的Web组件,用于动态生成内容(HTML、JS),提供Web Server与Web Application的桥梁,通过Web Client达到与Web Server之间的动态交互

Java Servlet来自 Web 浏览器或其他 HTTP 客户端的请求HTTP 服务器上的数据库或应用程序之间中间层

使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势

  1. 性能明显更好。
  2. Servlet 在 Web 服务器的地址空间内执行 。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
  3. Servlet 是 独立于平台的,因为它们是用 Java 编写的。
  4. 服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此, Servlet 是可信的
  5. Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。

CGI与Servlet的区别:

  • CGI:当Web Client发起请求时,CGI会启动一个 进程调用,并把结果返回给Web Client(由于进程调用,进程之间实例是 无法共享实例)。
  • Servlet:当Web Client发起请求时,Web Server(符合Servlet规范的容器:Tomcat、Jetty)会启动一个线程调度(根据请求的URL,Match到具体的的Servlet,并调用(委托)相应的Servlet的service方法。由于线程调度,线程之间的实例是可以共享的,所以Servlet是线程不安全的对象)
  • -

猜你喜欢

转载自blog.csdn.net/InjoyMario/article/details/80652468
今日推荐