随着Web应用业务需求的增多,动态Web资源的开发变的越来越重要。目前,很多公司都提供了开发动态Web资源的相关技术,其中比较常见的有ASP、PHP、JSP和Servlet等。基于Java的动态Web资源开发,SUN公司提供了Servlet和JSP两种技术。接下来,我们来详细了解Servlet技术。
1.什么是Servlet?
Servlet是在运行在服务器端的小程序。这个词是在Javaapplet的环境中创造的。虽然后者已很少被使用,但Servlet却发展的很好。同时,Servlet也是javaweb的三大组件之一,属于动态资源的一种。
Servlet的主要任务就是处理客户端发送的请求,现在我们来具体分析一下Servlet的主要任务:
1.获取请求数据:例如做登录操作时,Servlet就需要获取到用户输入的用户名和密码;
2.处理请求:还以登录操作为例,Servlet对请求数据,用户名和密码进行处理;
3.响应请求:对于登录操作来说,Servlet给浏览器的响应即为登录成功或登录失败。
客户端发出登录请求,或者注册请求,这些请求都会交给Servlet来处理,并且这些Servlet都是由我们自己来编写的。
下面通过一张图来形象的展示Servlet,如图所示:
图1-1 Servlet介绍
由图1-1可得出以下几点:
1.不同的请求对应不同的Servlet;
2.每一个Servlet都是唯一的;
3.服务器端会存在多个Servlet,来处理不同的请求。
2.Servlet相关的接口和类
针对Servlet技术的开发,SUN公司提供了一系列的接口和类,其中最重要的是javax.servlet.Servlet接口。下面我们来了解三个和Servlet技术相关的接口和类:
1.javax.servlet.Servlet接口;
2.javax.servlet.GenericServlet类;
3.javax.servlet.http.HttpServlet类;
通过一张图来了解它们三个之间的关系,如图1-2所示:
图1-2 三者关系图
自定义一个Servlet类,有以下三种书写方式:
1.实现javax.servlet.Servlet 接口
2.继承javax.servlet.GenericServlet类
3.继承javax.servlet.http.HttpServlet类
我们刚刚接触Servlet,为了能够更加了解Servlet的一些功能特性,我们会从实现Servlet接口开始学习。当我们对Servlet有了一定的了解之后,我们最常用到的方式是继承HttpServlet。