【JavaWeb学习】—Servlet(十三)

一、什么是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。



【JavaWeb学习】—Servlet(十三)_java

二、手动实现Servlet程序

  • 编写一个类去实现Servlet接口
  • 实现Servlet方法,处理请求,并响应数据
  • 到web.xml中去配置Servlet程序的访问地址

三、url地址如何定位到Servlet程序去访问

【JavaWeb学习】—Servlet(十三)_servlet_02

四、Servlet生命周期

  • Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程
  • 一次创建,到处服务
  • 一个Servlet只会有一个对象,服务所有的请求
  1. 执行Servlet构造函数(实例化)
  2. 执行init初始化方法(初始化)
  3. 执行service方法(服务)
  4. 执行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;
}
}

五、通过继承 HttpServlet 实现 Servlet 程序

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类的继承体系

【JavaWeb学习】—Servlet(十三)_java_03