Servlet是一个用Java语言编写的、实现Servlet接口的类,它在Servlet容器中运行,由Servlet容器管理Servlet的整个生命周期,所以,也常常称Servlet是Servlet容器上运行的服务器小程序。
从Servlet实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下,Servlet只用来扩展基于HTTP协议的WEB应用功能。
在WEB应用程序中,Servlet有两个主要用途:
(1)实现动态网页
(2)作为前端页面与后台数据库或者后台服务器程序之间的中间件。
一、WEB应用程序
WEB应用程序是一种通过WEB(World Wide Web 全球广域网/万维网)访问的应用程序,程序的最大特点是:在客户端无需安装任何软件,用户只需通过客户机上的浏览器,输入要访问的WEB应用中资源的URL地址(Uniform Resource Location统一资源定位符,即:在万维网上,用以标识每一个资源的唯一的资源定位地址),即可访问WEB应用程序。
WEB应用程序举例:淘宝、天猫、百度、美团、京东、收获啦。
WEB应用程序开发,是目前软件开发领域的三大方向之一。
Servlet作为WEB应用中的一种动态资源开发技术,共有三种开发方式。
二、创建Servlet程序的三种方式
为了更快速、规范地开发Servlet程序,SUN公司提供了一套标准的Servlet API,在这套Servlet API中,提供了一个接口和两个抽象类,分别是:javax.servlet.Servlet接口:Servlet程序必须实现的接口
javax.servlet.GenericServlet抽象类:实现了Servlet接口的抽象类
javax.servlet.http.HttpServlet抽象类:GenericServlet的抽象子类
于是,可以分别通过以上接口和抽象类,用三种方式创建Servlet程序。
1、创建方式一
通过实现javax.servlet.Servlet接口,创建与访问协议无关的Servlet。
实现Servlet接口
在Servlet程序中,需要实现Servlet接口中定义的所有方法。
代码示例如下:
@WebServlet(description = "通过实现Servlet接口创建的Servlet程序", urlPatterns = { "/shouhuola/Servlet01" })
public class Servlet01 implements Servlet {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
arg1.setContentType("text/html; charset=utf-8");
arg1.getWriter().println("这是通过实现Servlet接口创建的Servlet程序");
}
}