概念:运行在服务器上的小程序
servlet就是一个接口,定义了java类被浏览器访问到(Tomcat识别)的规则将来我们自定义一个类 ,实现Servlet接口, 复写方法。快速入门:
1.创建javaEE项目 2.定义一个类,实现servlet接口 3.实现接口种的抽象方法 4.配置servlet 在web.xml里配置servletServlet 加载—>实例化—>服务—>销毁。
public class EmpServlet extends HttpServlet{ //初始化servlet,调用init方法 @Override public void init() throws ServletException { System.out.println("初始化时调用"); } //开启服务 @Override protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException { System.out.println("开启服务时调用"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } //销毁时调用destory @Override public void destroy() { System.out.println("销毁时调用"); } }init():
在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。service():
它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。destroy():
仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。Servlet – 接口 | GenericServlet – 抽象类 | HttpServlet – 抽象类
GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象, 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可HttpServlet:对http协议的一种封装,简化操作 1. 定义类继承HttpServlet 2. 复写doGet/doPost方法