Java Web __ Servlet基础

Servlet接口

针对Servlet技术的开发,SUN公司提供了一系列接口和类,其中最重要的是javax.servlet.Servlet接口。

Servlet就是一种实现了Servlet接口的类,它是由web容器负责创建并调用,用于接收和响应用户的请求。

Servlet的生命周期

在Java中,任何对象都有生命周期,Servlet也不例外。
Servlet的生命周期如图:
image

Servlet的生命周期可分为三个阶段,具体如下:

  1. 初始化阶段
    当客户端向Servlet容器发出HTTP请求要求访问Servlet时,Servlet容器首先会解析请求,检查内存中是否已经有了该Serlvet对象,
    如果有直接使用该Serlvet对象,
    如果没有就创建Servlet实例对象,然后通过调用init()方法实现Servlet的初始化工作。
    需要注意的是,在Servlet的整个生命周期内,它的init()方法只被调用一次。

  2. 运行阶段
    是最重要的阶段。
    在这个阶段,Servlet容器会为这个请求创建代表HTTP请求的Request对象和代表HTTP响应的Response对象,然后将它们作为参数传递给Servlet的service()方法。

  3. 销毁阶段
    当服务器关闭或web应用被移除出容器时,Serlvet随着web应用的销毁而销毁。

HttpServlet

由于大多数Web应用都是通过HTTP协议和客户端进行交互,因此,在Servlet 接口中,提供了一个抽象类javax.servlet.http.HttpServlet。

HttpServlet是GenericServlet的子类,专门用于创建应用于HTTP协议的Servlet

HttpServlet主要有两大功能:

  1. 根据用户请求方式的不同,定义相应的doXxx()方法处理用户请求。
    例如,与GET请求方式对应的doGet() 方法,
    与POST方式对应的doPost() 方法。

  2. 通过service()方法将HTTP请求和响应分别转为HttpServletRequest和HttpServletResponse类型的对象。

ServletConfig接口

在Servlet运行期间,经常需要一些辅助信息,这些信息可以在web.xml文件中使用一个或多个<init-param>元素进行配置。

在web.xml文件中,例如
image
参数信息中<init-param>节点表示要设置的参数,
该节点中的<param-name>表示参数的名称,
<param-value>表示参数的值,
整体表示:我们在<init-param>节点中为TestServlet02配置了一个名为“encoding”的参数,并且参数的值为UTF-8。

当Tomcat初始化一个Servlet时,会将该Servlet的配置信息封装到一个ServletConfig对象中,
通过调用init(ServletConfig cofig)方法将ServletConfig对象传递给Servlet。

常用方法

getInitParameter()

ServletContext接口

当Servlet启动时,会为每个Web应用创建一个唯一的ServletContext对象代表当前Web应用。
该对象不仅封装了当前Web应用的所有信息,而且实现了多个Servlet之间数据的共享。

作用

  1. 获取Web应用程序的初始化参数

  2. 实现多个Servlet对象共享数据
    ServletContext对象可以实现多个Servlet对象共享数据的功能,它提供了许多操作属性的方法
    image

  3. 读取Web应用下的资源文件
    在ServletContext接口中,定义了一些读取Web资源的方法,这些方法是依靠Servlet容器来实现的。
    image

Java Web ___ 练习 __ 读取资源文件

posted @ 2022-06-20 20:52  kingwzun  阅读(55)  评论(0编辑  收藏  举报