一、什么是Servlet?
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Servlet是运行在服务器上的一个java小程序,它可以接收客户端发过来的请求,并响应数据给客户端。
Servlet是JavaWeb的三大组件之一,JavaWeb三大组件指的是Servlet、Filter、Listener。
二、手动实现Servlet程序
- 编写一个类去实现Servlet接口
- 实现Servlet方法,处理请求,并响应数据
- 到web.xml中去配置Servlet程序的访问地址
三、url地址如何定位到Servlet程序去访问
四、Servlet生命周期
- Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程
- 一次创建,到处服务
- 一个Servlet只会有一个对象,服务所有的请求
- 执行Servlet构造函数(实例化)
- 执行init初始化方法(初始化)
- 执行service方法(服务)
- 执行destory销毁的方法(销毁)
public class ServletDemo1 implements Servlet { //public ServletDemo1(){} //生命周期方法:当Servlet第一次被创建对象时执行该方法,该方法在整个生命周期中只执行一次 public void init(ServletConfig arg0) throws ServletException { System.out.println("=======init========="); } //生命周期方法:对客户端响应的方法,该方法会被执行多次,每次请求该servlet都会执行该方法 public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { System.out.println("hehe"); } //生命周期方法:当Servlet被销毁时执行该方法 public void destroy() { System.out.println("******destroy**********"); } //当停止tomcat时也就销毁的servlet。 public ServletConfig getServletConfig() { return null; } public String getServletInfo() { return null; } }
public class ServletDemo3 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("haha"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("ee"); doGet(req,resp); } }
六、整个Servlet类的继承体系