转载:http://www.ibm.com/developerworks/cn/java/j-lo-servlet/
Java为基本类型提供包装类,这使得任何接受对象的操作也可以用来操作基本类型,直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。
为什么要将 Servlet 包装成 StandardWrapper 而不直接是 Servlet 对象。这里 StandardWrapper 是 Tomcat 容器中的一部分,它具有容器的特征,而 Servlet 为了一个独立的 web 开发标准,不应该强耦合在 Tomcat 中。
Tomcat 的启动逻辑是基于观察者模式设计的,所有的容器都会继承 Lifecycle 接口,它管理者容器的整个生命周期,所有容器的的修改和状态的改变都会由它去通知已经注册的观察者(Listener)
Servlet 的运行模式是一个典型的“握手型的交互式”运行模式。所谓“握手型的交互式”就是两个模块为了交换数据通常都会准备一个交易场景,这个场景一直跟随个这个交易过程直到这个交易完成为止。这个交易场景的初始化是根据这次交易对象指定的参数来定制的,这些指定参数通常就会是一个配置类。所以对号入座,交易场景就由 ServletContext 来描述,而定制的参数集合就由 ServletConfig 来描述。而 ServletRequest 和 ServletResponse 就是要交互的具体对象了,它们通常都是作为运输工具来传递交互结果。
Tomcat7.0 中这件事很容易解决,因为这种映射工作有专门一个类来完成的,这个就是 org.apache.tomcat.util.http.mapper,这个类保存了 Tomcat 的 Container 容器中的所有子容器的信息,当 org.apache.catalina.connector. Request 类在进入 Container 容器之前,mapper 将会根据这次请求的 hostnane 和 contextpath 将 host 和 context 容器设置到 Request 的 mappingData 属性中。所以当 Request 进入 Container 容器之前,它要访问那个子容器这时就已经确定了。
Session 与 Cookie 不管是对 Java Web 的熟练使用者还是初学者来说都是一个令人头疼的东西。Session 与 Cookie 的作用都是为了保持访问用户与后端服务器的交互状态。它们有各自的优点也有各自的缺陷。然而具有讽刺意味的是它们优点和它们的使用场景又是矛盾的,例如使用 Cookie 来传递信息时,随着 Cookie 个数的增多和访问量的增加,它占用的网络带宽也很大,试想假如 Cookie 占用 200 个字节,如果一天的 PV 有几亿的时候,它要占用多少带宽。所以大访问量的时候希望用 Session,但是 Session 的致命弱点是不容易在多台服务器之间共享,所以这也限制了 Session 的使用。
分享到:
相关推荐
### Servlet工作原理与生命周期解析 #### 一、Servlet概述 Servlet是Java Web开发中的核心组件之一,主要用于处理客户端发送到服务器端的HTTP请求,并生成相应的响应。Servlet技术由Sun Microsystems在1997年推出...
### Servlet工作原理深入解析 #### 一、引言 随着互联网技术的快速发展,Web应用程序已成为企业和个人进行在线交互的重要手段。在众多Web开发框架和技术中,Servlet作为一种基于Java的服务器端编程模型,自诞生...
本文以Tomcat为例,深入解析Servlet容器的工作原理。 首先,Servlet容器,如Tomcat,是一个独立的产品,它遵循Java EE(J2EE)规范中的Servlet API,为Servlet提供了一个标准化的执行环境。Servlet与Servlet容器的...
总的来说,Tomcat的工作原理涉及到服务器的启动、类加载机制、配置文件解析以及网络通信等多个方面。理解这些核心概念对于有效管理和优化Tomcat服务器性能至关重要。开发者可以根据需求调整`server.xml`配置,以实现...
### Servlet工作原理详解 #### 一、Servlet简介与工作流程 Servlet是一种服务器端的Java应用程序,主要用于接收客户端发送的HTTP请求,并返回响应结果。Servlet在Java Web开发中扮演着核心角色,它负责处理用户...
Servlet是Java Web技术的核心组成部分,它的工作原理是Java Web开发者必须理解的基础知识。Servlet容器,如Tomcat,是Servlet运行的平台,它们之间通过标准接口进行解耦合,以实现高度可扩展和灵活的Web应用服务。 ...
总结起来,JSP+JavaBean+Servlet的工作原理是一个典型的Web应用程序开发模型,通过合理的分工,实现了高效、可维护的动态网站开发。在实际应用中,开发者通常会结合其他框架,如Spring MVC,进一步提升开发效率和...
### 深入Java Web心脏:Servlet工作原理全解析 #### Java语言概述 Java作为一种流行的编程语言,由Sun Microsystems(现归Oracle所有)于1995年首次发布。其设计初衷是为了满足跨平台性、面向对象编程、健壮性、...
5、Servlet 工作原理解析.doc 6、servlet材料.doc 7、Spring的原理.doc 8、struts1.doc 9、Struts2原理.doc 10、报表.doc 11、框架.doc 12、数据库连接池的工作原理.doc 13、线程安全.doc 14、详解jdbc和hibernate...
JSP/Servlet数据库分页原理解析源码下载,注释详尽、简单易懂 将下载后的压缩文件解压后可以得到page_csdn文件夹,用eclipse导入即可,运行之前请运行page.sql数据库脚本,我使用的是MySQL数据库。 部署到Tomcat...
### Servlet容器工作原理 #### 一、概述 Servlet容器,如Tomcat,是Java Web应用的基础组成部分之一。本文旨在深入探讨Tomcat中的Servlet容器工作原理,重点解释Servlet容器如何加载和管理Servlet,以及如何处理...
本文将通过使用Servlet来模拟Struts1的工作流程,深入理解其核心机制。 首先,让我们探讨Struts1的基本架构。Struts1框架的核心组件包括ActionServlet、ActionForm、Action、Tiles以及配置文件(struts-config.xml...