【Servlet】和【Servlet调用过程】

本文详细介绍了Servlet的概念、作用、生命周期以及调用过程。Servlet是Java中用于处理动态web请求的技术,它在服务器端运行,通过Servlet容器如Tomcat来调用执行。Servlet的主要职责是接收和响应请求,其生命周期包括初始化、服务和销毁三个阶段。在调用过程中,服务器根据请求信息找到对应的Servlet,并调用相应方法处理请求,最终将结果返回给浏览器。此外,文章还展示了Servlet调用的具体步骤,帮助读者深入理解Servlet的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

什么是Servlet?

Servlet的作用?

Servlet生命周期?

Servlet调用过程?


什么是Servlet?

        Servlet是由SUM公司提供的动态web资源技术,本质上就是一段java程序,是在服务器上运行的,但是这段java程序无法独立运行,必须放在Servlet容器里(例如:Tomcat服务器),由容器调用才能执行。

Servlet的作用?

        Servlet的作用是处理请求,服务器会将接收到的请求交给Servlet处理,然后Servlet接受请求,最后将结果响应给浏览器。

Servlet生命周期?

        Servlet在第一次被访问时创建Servlet实例,创建之后服务器会立即调用init方法进行初始化的操作,之后Servlet实例会一直驻留在服务器的内存中,为后续的请求服务。只要有请求来访问这个Servlet,服务器就会调用service方法来处理请求;直到服务器关闭,或者WEB应用被移出容器,随着WEB应用的销毁,Servlet实例也会跟着销毁,在销毁之前服务器会调用destroy方法进行善后的处理。

Servlet调用过程?

Servlet处理的这个过程就是Servlet的调用过程,大概的调用过程如下图所示:

解释上图的步骤:

(1)浏览器向服务器发送请求,服务器调用一个servlet来处理

(2)Servlet负责对请求进行处理,处理的过程中可能需要连接并访问数据库,最终得出一个结果.

(3)通常servlet不直接将结果响应给浏览器,而是由JSP或者html负责展示。

(4)最终要响应的结果是由服务器负责响应给浏览器

接下来是详细的Servlet调用过程:

(1)在浏览器输入地址,浏览器先去查找hosts文件,将主机名翻译为ip地址,如果找不到就再去查询dns服务器将主机名翻译成ip地址。

(2)浏览器根据ip地址和端口号访问服务器,组织http请求信息发送给服务器。

(3)服务器收到请求后首先根据Host请求头判断当前访问的是哪台虚拟主机。

(4)服务器根据http请求头中的请求URI判断当前访问的是哪个web应用。

(5)服务器根据http请求头中的请求URI判断当前访问的是web应用中的哪个web资源。

(6)检查web应用的web.xml文件,如果根据路径找到具体的servlet处理类的全路径名交给该servlet处理,如果找不到就交给缺省servlet处理。

(7)这个过程中浏览器只知道自己发出来http请求,不久就收到了http响应,浏览器不知道也不关心服务器内部是如何处理的。浏览器和服务器之间的关系是非常单纯的,只有HTTP协议。

(8)解析请求、封装Request,Response对象、创建Servlet、调用Service方法都是服务器自动进行的,开发人员只需要写好Servlet配置进容器中即可,无需操心具体的底层实现。

需要了解Request,Response的请移步写文章-CSDN博客https://mp.csdn.net/mp_blog/creation/editor/123375697

下面用一个例子来一步一步展示Servlet调用过程,如下步骤:

 (1)在浏览器输入地址:http://localhost/Hello/HelloServlet

然后浏览器先去查找hosts文件,将主机名翻译为ip地址,如果找不到就再去查询dns服务器将主机名翻译成ip地址。

(2)浏览器根据ip地址和端口号访问服务器,组织http请求信息发送给服务器。

 (3)服务器收到请求后首先根据Host请求头判断当前访问的是哪台虚拟主机。

(4)服务器根据http请求头中的请求URI判断当前访问的是哪个web应用。

(5)服务器根据http请求头中的请求URI判断当前访问的是web应用中的哪个web资源。

 

(6)检查web应用的web.xml文件,如果根据路径找到具体的servlet处理类的全路径名交给该servlet处理,如果找不到就交给缺省servlet处理。这个过程中浏览器只知道自己发出来http请求,不久就收到了http响应,浏览器不知道也不关心服务器内部是如何处理的。浏览器和服务器之间的关系是非常单纯的,只有HTTP协议。

 

 

 

 

(8)解析请求、封装RequestResponse对象、创建Servlet、调用Service方法都是服务器自动进行的,开发人员只需要写好Servlet配置进容器中即可,无需操心具体的底层实现。

 

 

 

 

 

 

 

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值