Servlet 你真的清楚吗?

1.Servlet 技术

a) 什么是 Servlet?

  1. Servlet 是 JavaEE的规范之一,规范就是接口
  2. Servlet 是 JavaWeb三大组件之一。三大组件分别为:Servlet程序、Filter过滤器、Listener监听器。
  3. Servlet 是 运行在服务器上的一个Java小程序,它可以接受客户端发来的请求,并相应数据给客户端。

b)如何手动实现Servlet程序

  1. 编写一个类去实现 Servlet 接口;
  2. 实现 service方法,处理请求,并响应数据;
  3. 在 web.xml 中去配置 servlet 程序的访问地址。
Service代码:
public class HelloServlet implements Servlet { 
/*** service 方法是专门用来处理请求和响应的 
   * @param servletRequest 
   * @param servletResponse 
   * @throws ServletException
   * @throws IOException */ @Override 
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { 
System.out.println("Hello Servlet 被访问了"); 
   }
 }

xml配置
在这里插入图片描述

c)Servlet工作模式

  1. 客户端发送请求到服务器,
  2. 服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器,
  3. 服务器将响应返回客户端。

Tomcat工作机制动画演示
用此动图帮助大家直观理解Servlet工作模式

在这里插入图片描述

d)url 地址 到 Servlet 程序访问

在这里插入图片描述

e) Servlet 的生命周期

  1. 执行Servlet构造器方法 ;
  2. 执行 init 初始化方法 ;
    第一,二步,是在第一次访问的时候,创建Servlet程序会调用。
  3. 执行 Service 方法
    第三步,每次访问都会使用
  4. 执行 destroy 销毁方法
    第四步,在web 工程停止的时候调用

f) 通过继承 HttpServlet 实现 Servlet程序

一般在实际开发中,都是使用继承HttpServlet类的方式去实现 Servlet程序。

  1. 编写一个类去实现 HttpServlet 类 ;
  2. 根据业务需要重写 doGet 或 doPost 类 ;
  3. 到 web.xml 配置 service 程序的访问地址 。

Servlet代码:
在这里插入图片描述
web.xml中的配置 :
在这里插入图片描述

g) Servlet 类的继承体系

在这里插入图片描述

2.ServletConfig 类

ServletConfig类 从类名上来看,就知道是Servlet程序的配置信息类。

Servlet 程序 和 ServletConfig对象都是由 Tomcat负责创建,我们负责使用。
Servlet 程序默认是第一次访问是创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象。

3.ServletContext类

a) 什么是ServletContext类?

  1. ServletConfig 是一个接口,它表示Servlet的上下文对象;
  2. 一个web 工程,只有一个ServletContext 对象实例;
  3. ServletContext 对象是一个域对象;
  4. ServletContext 是在 web工程上部署启动时创建,在web停止是销毁。

b) ServletContext 类的四个作用

  1. 获取 web.xml 中配置的上下文参数 context-param ;
  2. 获取当前的工程路径,格式:/工程路径 ;
  3. 获取工程部署在服务器硬盘上的绝对路径;
  4. 像 Map 一样存储数据 ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的波吉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值