第二章 Web应用体系结构

123 阅读1分钟

什么是容器

  1. Servlet没有main()方法。它们受控于另一个Java应用程序,这个Javay应用程序称为容器
  2. Tomcat就是一个典型的容器。如果Web服务器应用(如Apache)得到一个指向某个Servlet的请求,此时服务器不是直接把这个请求交给servlet本身,而是交给部署该serlvet的容器。要由容器向servlet提供Http请求和响应,而且是由容器调用serlvet的方法,如doPost()或doGet() image.png image.png

容器能够提供什么

  1. 通信支持。利用容器提供的方法,你能轻松地让servlet与Web服务器对话。无需自己建立ServerSocket、监听端口、创建流等。容器知道自己与Web服务器之间的协议。
  2. 生命周期管理。容器控制着servlet的生与死。它会负责加载类、实例化和初始化servlet、调用servlet方法,并使servlet实例能够被垃圾回收。有了容器的控制,你就不用太多地考虑资源管理了。
  3. 多线程支持。容器会自动地为它接收的每个servlet请求创建一个新的Java线程。
  4. 声明方式实现安全。利用容器,可以使用XML部署描述文件来配置(和修改)安全性。
  5. 容器负责将JSP代码编译成真正的Java代码。

代码里有什么(servlet何以成为一个servlet)

image.png

一个servlet可以有三个名字

  1. 客户都知道的URL名
  2. 部署人员知道的秘密内部名(部署名字)
  3. 实际的文件名

MVC概述和例子

image.png

J2EE如何集成这一切

  1. J2EE应用服务器包括一个Web容器和一个EJB容器
  2. Tomcat仅是Web容器