欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

servlet的一些概念

程序员文章站 2022-04-22 19:01:47
...

1.servlet (server applet)

概念:运行在服务器上的小程序

  • servlet就是一个接口,定义了java类被浏览器访问到(Tomcat识别)的规则
  • 将来我们自定义一个类 ,实现Servlet接口, 复写方法。

快速入门:

  • 1.创建javaEE项目
    2.定义一个类,实现servlet接口
    3.实现接口种的抽象方法
    4.配置servlet
    servlet的一些概念
    在web.xml里配置servlet
    servlet的一些概念

2.servlet生命周期

Servlet 加载—>实例化—>服务—>销毁。

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()方法时,这些线程已经终止或完成。

3. Servlet的体系结构

Servlet – 接口
|
GenericServlet – 抽象类
|
HttpServlet – 抽象类

  • GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象, 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可
  • HttpServlet:对http协议的一种封装,简化操作
    1. 定义类继承HttpServlet
    2. 复写doGet/doPost方法
相关标签: JAVA