`

[转]Servlet与Servlet容器-51CTO

阅读更多

原帖地址:http://book.51cto.com/art/200808/84876.htm

 

1.2   Servlet与Servlet容器

Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容。Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立的字节码,可以被动态地加载到支持Java技术的Web服务器中运行。目前Servlet规范最新的版本是2.5。

在上文中,出现了一个概念“Servlet容器”。那么什么是Servlet容器呢?Servlet容器有时候也叫做Servlet引擎,是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应。Servlet不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法,Servlet容器在Servlet的生命周期内包容和管理Servlet。

在JSP技术推出后,管理和运行Servlet/JSP的容器也称为Web容器。在本书中,Servlet容器、JSP容器,以及Web容器是同义的。

用户通过单击某个链接或者直接在浏览器的地址栏中输入URL来访问Servlet,Web服务器接收到该请求后,并不是将请求直接交给Servlet,而是交给Servlet容器。Servlet容器实例化Servlet,调用Servlet的一个特定方法对请求进行处理,并产生一个响应。这个响应由Servlet容器返回给Web服务器,Web服务器包装这个响应,以HTTP响应的形式发送给Web浏览器。整个过程如图1-3所示。

 
图1-3  用户访问Servlet


与CGI程序相比,Servlet具有以下优点:

Servlet是单实例多线程的运行方式,每个请求在一个独立的线程中运行,而提供服务的Servlet实例只有一个。

Servlet具有可升级性,能响应更多的请求,因为Servlet容器使用一个线程而不是操作系统进程,而线程仅占用有限的系统资源。

Servlet使用标准的API,被更多的Web服务器所支持。

Servlet使用Java语言编写,因此拥有Java程序语言的所有优点,包括容易开发和平台独立性。

Servlet可以访问Java平台丰富的类库,使得各种应用的开发更为容易。

Servlet容器给Servlet提供额外的功能,如错误处理和安全。

分享到:
评论

相关推荐

    韩顺平servlet笔记

    - "51CTO下载-韩顺平2011最细servlet笔记2.doc" 可能进一步探讨了Tomcat服务器的安装、配置与管理,包括端口号设置、虚拟主机配置、部署Web应用等。此外,可能还会讲解Cookie和Session的创建、存储、读取、过期策略...

    51CTO下载-韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

    - **Spring**:一个轻量级的 IoC 容器和 AOP 框架,用于解决企业级应用的复杂性。 - **Ajax**:一种异步通信技术,用于改善用户体验。 ### Java 之父——James Gosling James Gosling 是 Java 语言的设计者之一,...

    51CTO下载-java笔记2

    JDBC(Java Database Connectivity)是Java编程语言访问数据库的标准API,它允许Java程序通过编写SQL语句与各种类型的数据库进行交互。学习Oracle JDBC涉及以下内容:加载驱动、建立数据库连接、创建Statement或...

    javaworkweb

    "apache-tomcat-6.0.32-windows-x86"是Apache Tomcat的一个旧版本,它是一个流行的开源Web服务器和Servlet容器,用于运行Java Web应用程序。选择这个特定版本可能是因为项目需求或者兼容性考虑,而"windows-x86"表明...

    轻量级java ee企业应用实战(第三版)电子书part2

    这本书的第二部分,包括了三个压缩子文件:51CTO下载-轻量级Java_EE企业应用实战_(第三版).z04、51CTO下载-轻量级Java_EE企业应用实战_(第三版).z05和51CTO下载-轻量级Java_EE企业应用实战_(第三版).z06,这些文件...

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    《如果附件下载后文件损坏,可以到http://down.51cto.com/data/158982下载资源,不需要下载豆。》 具体做法如下: 1。将附件解压获取struts2-sunspoter-stream-1.0.jar,并复制在/WEB-INF/lib下 2。在原有的struts...

    java web4.zip

    这些文件名如"51CTO下载-Java Web整合开发王者归来.part16.rar"等,暗示了该资源可能来源于51CTO网站,并且是关于“Java Web整合开发”的深入学习资料。 Java Web开发是Java技术在互联网领域的应用,它涵盖了Web...

    jsp+mysql网上购物

    - `51CTO下载-jsp网上购物系统源代码.rar`:这显然也是一个源代码包,很可能从51CTO网站上下载,可能包含了完整的网上购物系统源码,供学习和参考。 - `WSGW`:这个文件名看起来不太完整,可能是一个目录或者文件的...

    开发者突击:Java Web主流框架整合开发(part05和part06)(共6个压缩包)

    在【压缩包子文件的文件名称列表】中,我们看到了"51CTO下载-开发者突击:Java Web主流框架整合开发.part06.rar"和"51CTO下载-开发者突击:Java Web主流框架整合开发.part05.rar"。这表明这些资源可能来自于51CTO...

    zabbix tomcat监控模版

    Tomcat是Apache软件基金会的Java Servlet和JavaServer Pages(JSP)容器,广泛用于部署Web应用程序。监控Tomcat主要包括以下几个关键指标: 1. **CPU使用率**:监控Tomcat进程对CPU资源的占用情况,过高可能表明...

    nginx+tomcat高可用、高性能jsp集群

    可以通过执行`/init_system.sh`脚本来初始化系统,该脚本的具体内容可参考作者在51CTO博客上的相关文章。 ### 2. LVS+Keepalived LVS(Linux Virtual Server)是一种高性能的负载均衡解决方案,而Keepalived则负责...

    2012java开发工程师必备精品资料

    由于具体文件名 "51CTO下载-【珍藏版】2012java开发工程师必备精品资料(115).pdf" 并未提供详细内容,我们无法直接解读其具体内容,但它可能是一个PDF文档,包含了上述各个方面的综合教程或案例研究。对于想要系统...

Global site tag (gtag.js) - Google Analytics