Servlet是什么?
- Java Servlet是运行在Web服务器或者应用服务器上的程序,它是作为来自Web浏览器或者其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。
- 使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
- Java Servlet通常情况下可以与使用CGT(公共网关接口)实现的程序可以达到异曲同工的效果。相比于CGI,Servlet的优势如下:
- 性能明显更好
- Servlet在Web服务器的地址空间内运行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
- Servlet是独立于平台的,因为它们是用Java编写的
- 服务器上的Java安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet是可信的。
- Java类库的全部功能对Servlet来说都是可用的。它可以通过sockets和RMI机制与applets、数据库或其他软件交互。
Servlet任务
Servlet主要执行以下任务:
- 读取客户端(浏览器)发送的显示的数据。主要指表单数据
- 读取客户端(浏览器)发送的隐式的HTTP请求数据。包括cookies、mediaType、压缩格式等
- 处理数据并生成结果。这个过程可能需要访问数据库,执行RMI或者CORBA调用,调用Web服务,或者直接计算得出对应的响应。
- 发送显示的数据(即文档)到客户端(浏览器)。包括文本文件(HTML、XML)、二进制文件(GIF图像)、Excel等。
- 发送隐式的HTTP响应到客户端(浏览器)。mediaType、cookies、缓存参数等。