JavaWeb之Servlet

文章目录

  • 1.Servlet简介
    • 1.1 什么是servlet
    • 1.2理解Servlet
  • 2.Servlet的生命周期
    • 2.1概述
    • 2.2 init方法被设计成只调用一次
    • 2.3 service()方法是执行实际任务的主要方法
    • 2.4 destroy()方法

1.Servlet简介

1.1 什么是servlet

  • 概念: Java Servlet是运行在Web服务器或应用服务器上的程序,它作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的夹层。
  • 定位: Java Servlet用Java编写的服务端程序
  • 作用: 其主要功能在于交互地浏览和修改数据,生成动态的Web内容。
  • 理解: 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,我们将Servlet理解为后者。

1.2理解Servlet

JavaWeb之Servlet_第1张图片

1.tomcat封装了http请求数据为HttpServletRequest对象
2.此时方法调用时,还没有返回响应,但是提供了一个HttpServletResponse,之后程序要设置要响应的内容。
Servlet是以java代码的方式,提供一个服务资源,更灵活,可以提供更强大的

2.Servlet的生命周期

2.1概述

Servlet生命周期可被定义成从创建直到毁灭的整个过程,以下是Servlet遵循的过程:

  • Servlet通过调用init()方法进行初始化
  • Servlet调用service()方法来处理客户端的请求
  • Servlet通过调用destroy()方法终止(结束)
  • 最后,Servlet是由JVM的垃圾回收器进行回收垃圾的。

2.2 init方法被设计成只调用一次

他在第一次创建Servlet时被调用,在后续每次用户请求时不再调用,他是用于一次性初始化。Servlet创建于用户第一次调用对应于该Servlet的URL时,但是也可以指定的Servlet在服务器第一次启动时被加载。
当用户调用一个Servlet时,就会创建一个Servlet实例,每一个用户请求都会产生一个新的线程,适当的时候移交给doGet或doPost方法。init()方法简单的创建或加载一些数据,这些数据将用于Servlet的整个周期。
init 方法的定义如下:

public void init() throws ServletException{
     
//初始话代码
}

2.3 service()方法是执行实际任务的主要方法

每次服务器都会接受到一个Servlet请求时,服务器会产生一个新的线程并调用服务。service()方法检查HTTP请求类型(GET、POST、PUT、DELETE),并在适当的时候调用doGet、doPost、doPut、dpDelete等方法。

public void service(ServletRequest request,
					ServletResponse response)
		throws ServletException,IOException{
     
		}

service()方法由容器调用,service方法在适当的时候调用doGet、doPost、doPut、doDelete等方法。所以,不用对service()方法做任何的动作,只需要根据来自客户端的请求数据来重写doGet()或doPost().

2.4 destroy()方法

destroy()方法只会被调用一次,在Servlet生命周期结束时会被调用。在调用destroy()方法之后,Servlet对象被标记为垃圾回收,destroy方法定义如下:

public void destroy(){
     
	//终止化代码
}

你可能感兴趣的:(web开发,servlet)