什么是容器
- Servlet没有main()方法。它们受控于另一个Java应用程序,这个Javay应用程序称为容器
- Tomcat就是一个典型的容器。如果Web服务器应用(如Apache)得到一个指向某个Servlet的请求,此时服务器不是直接把这个请求交给servlet本身,而是交给部署该serlvet的容器。要由容器向servlet提供Http请求和响应,而且是由容器调用serlvet的方法,如doPost()或doGet()
容器能够提供什么
- 通信支持。利用容器提供的方法,你能轻松地让servlet与Web服务器对话。无需自己建立ServerSocket、监听端口、创建流等。容器知道自己与Web服务器之间的协议。
- 生命周期管理。容器控制着servlet的生与死。它会负责加载类、实例化和初始化servlet、调用servlet方法,并使servlet实例能够被垃圾回收。有了容器的控制,你就不用太多地考虑资源管理了。
- 多线程支持。容器会自动地为它接收的每个servlet请求创建一个新的Java线程。
- 声明方式实现安全。利用容器,可以使用XML部署描述文件来配置(和修改)安全性。
- 容器负责将JSP代码编译成真正的Java代码。
代码里有什么(servlet何以成为一个servlet)
一个servlet可以有三个名字
- 客户都知道的URL名
- 部署人员知道的秘密内部名(部署名字)
- 实际的文件名
MVC概述和例子
J2EE如何集成这一切
- J2EE应用服务器包括一个Web容器和一个EJB容器
- Tomcat仅是Web容器