在string tool上运行servlet包(1)

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
在string tool上运行servlet包(1)

前言

最基本的servlet类生成和访问方法弄清楚Servlet接口,HttpServlet类,核心是了解方法构造函数。
请访问本例中的每一个servlet的url,并观察浏览器或是服务器控制台的输出信息。
学习web.xml文件中的相关节点,自行小结给一个servlet在容器中如何命名,如何指定?

一、Servlet

  1. Servlet是服务器组件,它是运行Servlet容器/Web应用服务器/Tomcat,负责与客户端进行通信。
  2. Servlet的功能:创建并返回基于客户请求的动态HTML页面,与数据库进行通信。
  3. Servlet的使用:Servlet本身是一组接口,自定义一个类,并且实现Servlet接口,这个类就具备了接收客户端请求以及做出响应的功能。
  4. 浏览器不能直接访问Servlet文件,只能通过映射的方式来间接访问Servlet,映射需要开发者手动配置,有两种 配置方式:XML文件的配置方式,注解的方式。
  5. Servlet的生命周期:
    (1)初始化阶段:当用户第一次向 Servlet 容器发出 HTTP 请求要求访问某个 Servlet 时,Servlet 容器会在整个容器中搜索该 Servlet 对象,发现这个 Servlet 对象没有被实例化,于是创建这个 Servlet 对象,然后调用该对象的 init() 方法完成初始化(在 Servlet 的整个生命周期内,它的 init() 方法只被调用一次)。当用户第二次访问这个 Servlet 时,Servlet 容器仍然在容器中搜索该 Servlet 对象,结果找到了该对象的实例,则不去创建而直接使用该对象。找到了对应的 Servlet 对象,随后 Servlet 进入到运行阶段。
    (2)运行阶段:Servlet 容器会为当前的请求创建一个 ServletRequest 对象和一个 ServletResponse 对象(它们分别代表 HTTP 请求和 HTTP 响应),并将这两个对象作为参数传递给 Servlet 的 service() 方法。service() 方法从 ServletRequest 对象中获得用户的详细请求信息并处理该请求,通过 ServletResponse 对象生成响应结果。在 Servlet 的整个生命周期内,用户每次请求访问 Servlet 时,Servlet 容器都会调用一次 Servlet 的 service() 方法,并且创建新的 ServletRequest 和 ServletResponse 对象。
    (3)销毁阶段:当服务器停止时,Servlet 容器需要回收 Servlet 对象所占用的内存,在回收之前,会自动调用该对象的 destroy() 方法做好回收内存前的准备,辟如关闭后台线程。和 init() 方法类似,destroy() 方法也只会被调用一次。Servlet 对象一旦创建就会驻留在内存中一直等待客户端的访问,直到服务器关闭或项目被移除出容器时,Servlet 对象才会被销毁。
    Servlet 对象的创建、对象提供服务、对象的销毁等操作皆由 Servlet 容器来管理,Java 程序员的任务只是负责编写 Servlet 类,无法干涉 Servlet 对象的生命周期。

二、Servlet类生成和访问方法

1.Servlet接口

Servlet接口有5种方法。分别为:init,service和destroy。
public void init(ServletConfig config)
初始化servlet,仅被调用一次

public void service(ServletRequest request,ServletResponse response)
为传入的请求提供响应。

public void destroy()
销毁,仅被调用一次

public ServletConfig getServletConfig()
返回ServletConfig对象。

public String getServletInfo()
返回有关servlet的信息

2.httpServlet类

Servlet—》GenericServlet—》HttpServlet
HTTP请求有很多类型,常用的有4种:
GET 读取
POST 保存
PUT 修改
DELETE 删除
CRUD(create read update delete)
GenericServlet实现Servlet接口,同时为它的子类屏蔽了不常用的方法,子类只需要重写Servlet方法即可。HttpServlet继承GenericServlet,根据请求类型进行分发处理,GET进入doGET方法,POST进入doPOST方法。
开发者自定义的Servlet类只需要继承HttpServlet即可,重写doGet和doPost。
在这里插入图片描述
在这里插入图片描述

3.Servlet的URL

由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使
用元素和元素完成。
l元素用于注册Servlet,它包含有两个主要的子元素:和,分别用于设置Servlet的注册名称和Servlet的完整类名。
一个元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:和,分别用于指定Servlet的注册名称和Servlet的对外访问路径。
如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。
凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。l 当访问 Tomcat 服务器中的某个静态 HTML 文件和图片时,实际上是在访问这个缺省 Servlet .

三、servlet在容器中命名

`

demo01
com.zfh.ServletDemo01


demo01
/abc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值