Serverlet理解

部分转载自:https://blog.csdn.net/javaloveiphone/article/details/8154791

从上图可以看出 Tomcat 的容器分为四个等级,真正管理Servlet 的容器是Context 容器,一个 Context 对应一个 Web 工程。除了将 Servlet 包装成 StandardWrapper 并作为子容器添加到 Context 中,其它的所有 web.xml 属性都被解析到 Context 中,所以说 Context 容器才是真正运行 Servlet Servlet 容器。一个 Web 应用对应一个 Context 容器,容器的配置属性由应用的 web.xml 指定,这样我们就能理解 web.xml 到底起到什么作用了。

Web服务器在与客户端交互时.Servlet的工作过程是:

1.     在客户端对web服务器发出请求

2.     web服务器接收到请求后将其发送给Servlet

3.     Servlet容器为此产生一个实例对象并调用ServletAPI中相应的方法来对客户端HTTP请求进行处理,然后将处理的响应结果返回给WEB服务器.

4.     web服务器将从Servlet实例对象中收到的响应结构发送回客户端.

以下是我对Serverlet的一些总结:

在第一次请求到来时调用init()方法进行一次创建和初始化,可以在web.xml中对Serverlet进行初始化赋参,然后调用getInitParameter(String name)进行初始化的参数调用。当长时间不使用或web服务器关闭时serverlet会被销毁destroy()。

而具体解析请求如下:

1.     web客户向Servlet容器发出HTTP请求;

2.     Servlet容器解析webHTTP请求.

3.     Servlet容器创建一个HttpRequest对象,在这个对象中封装了http请求信息;

4.     Servlet容器创建一个HttpResponse对象;

5.     Servlet容器(如果访问的该servlet不是在服务器启动时创建的,则先创建servlet实例并调用init()方法初始化对象)调用HttpServletservice()方法,HttpRequestHttpResponse对象为service方法的参数传给HttpServlet对象;

6.     HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;

7.     HttpServlet调用HttpResponse的有关方法,生成响应数据;

8.    Servlet容器把HttpServlet的响应结果传给web客户

也就是说在HTTPServerlet中,service方法是处理逻辑的关键,service方法调用时收到上层传递的HttpRequestHttpResponse参数,前者包含客户端传递的参数,后者用于回传给客户端

18.12.17 发现前面对serverlet的理解还是很浅,补一篇博客:

https://blog.csdn.net/jinfulin/article/details/44549573 详细的一篇讲解serverlet的博客。

https://www.cnblogs.com/xdp-gacl/p/3760336.html 开发serverlet再倒回来细看这篇博客,以下图截至此博客。

serverlet调用图:

Servletè°ç¨å¾

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值