一,什么是Servlet
Java Servlet是运行在Web服务器或应用服务器之上的程序,用作请求(来自于浏览器或HTTP客户端)与服务器上的数据库或应用程序之间的中间层。
通过Servlet,可以汇集用户通过页面表单的输入,然后从数据源(比如数据库中)中汇总出结果集并动态滴创建出一个web页面。
Java Servlet的初衷跟CGI(Common Gateway Interface)是相同的,但却有特有的优势:
- 性能更佳
- Servlet在Web服务器的地址空间内运行,不需要创建独立的进程去处理每一个客户端的请求
- Servlet是跨平台的,因为其是基于JAVA的
- 服务器上的JAVA安全管理器拥有一套强力的限制以保持服务器上的各种资源,因为Servlet是可依赖的
- Java所有的类库都适用于Servlet,因此Servlet可以通过sockets及RMI机制跟applets,数据库及各种软件进行交互
二,Servlet的架构
由上图可见,Servlet是典型的中间层应用
三,Servlet的目标
- 读取客户端(一般是浏览器)发送的显式数据,包括HTML表单及HTTP客户端请求等
- 读取客户端发送的隐匿数据,比如cookies,媒体类型及压缩机制等
- 处理输入数据并产生输出结果,处理过程可能包括跟数据库进行交互,调用RMI或CORBA,调用WebService等
- 向客户端发送各种类型的隐匿数据,比如二进制数据,文本数据,excel数据等
- 向向客户端发送显式的回应数据,比如告诉浏览器或其它客户端什么类型的文档会被返回,设置cookies及缓存参数
四,Servlet包
Java的Servlet是一组java类,这组java类可运行在支持java servlet标准的web容器中,比如tomcat,weblogic等。具体而言,可使用javax.servlet和javax.servlet.http两个包去创建servlet,这两个包是java企业版的标配。
/********************************外星人乔丹拍板时间***************************/
Java Servlet,就是HTTP客户端与服务器之间的中间层,上可接收HTTP客户端的请求数据,隐匿信息并做相关处理之后提交到后台,下可搜集后台的反馈结果,并反提交给上层的HTTP客户端