什么是Servlet?
在直接讲出什么是Servlet之前,先来说说Java,Java是一种功能强大的通用型编程语言,可以处理HTTP请求,可以访问数据库,可以生成HTML`代码,您完全可以使用原生Java来开发动态网站。但是,使用原生Java开发动态网站非常麻烦,需要自己解析HTTP请求的报头,需要自己分析用户的请求参数,需要自己加载数据库组件... 种种原因导致使用原生Java开发动态网站几乎是一件不能被接受的事情。正是基于这种原因,Java 官方后来推出了Servlet技术,它对开发动态网站需要使用的原生Java API进行了封装,形成了一套新的API,称为 Servlet API。
可以这样理解,Servlet 是 Sun 公司推出的一种基于 Java 的动态网站开发技术。编写 Servlet 代码需要遵循 Java 语法,一个 Servlet 程序其实就是一个按照 Servlet 规范编写的 Java 类。Servlet 程序需要先编译成字节码文件(.class文件),然后再部署到服务器运行。
Servlet 是一种规范
严格来说,Servlet 只是一套 Java Web 开发的规范,或者说是一套 Java Web 开发的技术标准。【也可以把它想象成接口】
只有规范并不能做任何事情,必须要有人去实现它。所谓实现 Servlet 规范,就是真正编写代码去实现 Servlet 规范提到的各种功能,包括类、方法、属性等。
Servlet 规范是开放的,除了 Sun 公司,其它公司也可以实现 Servlet 规范,目前常见的实现了 Servlet 规范的产品包括 Tomcat、Weblogic、Jetty、Jboss、WebSphere 等,它们都被称为“Servlet 容器”。Servlet 容器用来管理程序员编写的 Servlet 类。
Servlet 接口
所有的 Servlet 功能都是通过一个名为Servlet的接口(Interface)向外暴露的,编写 Servlet 代码,可以从实现 Servlet 接口开始,就像下面这样:
public class ServletDemo implements Servlet {
//TODO:
}直接实现 Servlet 接口比较麻烦,需要实现很多方法,所以 Servlet 规范又提供了两个抽象类,分别是 GenericServlet 类和 HttpServlet 类,它们都实现了 Servlet 接口的很多常用功能。和 GenericServlet 类相比,HttpServlet 类更加方便,所以实际开发中一般都继承自 HttpServlet 类。
评论已关闭