2 Web应用体系结构

什么是容器及容器如何处理请求

      servlet需要帮助,Servlet没有main()方法,他们受控于另外一个JAVA应用,这个java应用叫容器。

      请求到来时,必须有人实例化servlet,或者至少要建一个新的线程处理这个请求,必须有人调用servlet的doPost()或doGet()方法,而且这些方法还有一些重要的参数—HTTP请求和HTTP响应对象,容器把请求和响应交给servlet,而且容器还要管理servlet的生与死以及servlet的资源。

      Tomcat就是一个容器,如果Web服务器应用(如Apache)得到一个指向某servlet的请求(不是其他请求,如请求一个普通的静态HTML页面)此时服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器。要由容器向servlet提供HTTP响应和请求,而且由容器调用servlet的方法。在这里插入图片描述
以下要注意的是web服务器省略了,其实是存在着,而且为请求创建或分配一个线程时,把请求和相应对象传递给这个线程,servlet的任务是处理这个线程,当有多个请求时就会创建多个线程,一个servlet处理多个线程
在这里插入图片描述
在这里插入图片描述
多个请求
在这里插入图片描述

容器能提供什么及 原理

这些很重要

  1. 通信支持
    容器提供的方法可以轻松的让servlet与web服务器对话,无需自己建立
    ServerSocket、监听端口、创建流等。容器知道自己与web服务器之间的协议,(应该也是HTTP协议以及各个层之间的协议,TCP、IP。我们用到的应该只是应用层协议HTTP)所以servlet不用担心web服务器和自己的web代码之间的API。考虑的只是如何在servlet中实现业务逻辑。
  2. 生命周期管理
    容器控制servlet的生与死,会负责加载类、实例化和初始化servlet、调用servlet方法,并使servlet能够被垃圾回收。不用考虑资源管理。
  3. 多线程支持
    容器会自动地为接收到的每个servlet请求创建一个新的Java线程。针对客户的请求,如果servlet已经运行完相应的HTTP服务方法,这个线程就会结束。这并不是说不用考虑线程安全性,还是会遇到同步问题的。
  4. 声明方式实现安全
    利用容器可以使用XML部署描述文件来配置(和修改)安全性,而不必将其硬编码写到servlet(或其他)类代码中。 不用修改Java源文件,也 不用重新编译 ,你就能管理和修改安全性配置。
  5. JSP支持
    容器把JSP代码翻译成真正的Java。


    有了容器可以更专注于自己的业务逻辑,而不用考虑为线程管理、安全性和网络通信编写代码。

servlet何以成为servlet

容器如何找到servlet

J2EE如何集成

汇总

Tomcat是JAVA (EE) Web 应用服务器。

在这里插入图片描述

总结

这章很重要!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值