一,servlet定义
Servlet(Server Applet)是Java Servlet的简称,称为服务器端小程序、小服务程序或服务连接器,是一种使用 Java 语言来开发动态网站的技术(用Java编写的服务器端程序),具有独立于平台和协议的特性,Servlet是sun公司提供的一门用于开发动态web资源的技术。Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
1、编写一个Java类,实现servlet接口。(通常我们也把实现了servlet接口的java程序,称之为Servlet)
2、把开发好的Java类部署到web服务器中。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。即:
1、Serviet是JavaEE规范之一。规范就是接口
2、Servlet是JavaWeb三大组件之一。三大组件分别是:Servlet程序、Filter过滤器、Listener监听器。
3、Servlet是运行在服务器上的一个 java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端,是一种独立于操作系统和网络传输协议的服务器端的Java应用程序,用来拓展服务器的功能,生成动态的web页面。
注意:Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载 ;(没有main方法)
二,Servlet实现过程
最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server。此后,一些其它的基于 Java 的 Web Server 开始支持标准的 Servlet API。Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
1、客户端发送请求至服务器端;
2、服务器将请求信息发送至 Servlet;
3、Servlet 生成响应内容并将其传给服务器。
4、响应内容动态生成,通常取决于客户端的请求;服务器将响应返回给客户端。
Servlet 看起来像是通常的 Java 程序。Servlet 导入特定的属于 Java Servlet API 的包。因为是对象字节码,可动态地从网络加载,可以说 Servlet 对 Server 就如同 Applet对 Client 一样,但是,由于 Servlet 运行于 Server 中,它们并不需要一个