没有合适的资源?快使用搜索试试~ 我知道了~
结合实例讲解了sevlet的基本概念和应用
资源推荐
资源详情
资源评论
1.1 Web 技术的发展
《Servlet/JSP 深入详解:基于 Tomcat 的 Web 开发》第 1 章 Servlet 与
Tomcat,要掌握 Java Web 开发,首先就要学会编写 Servlet,而要运行
Servlet,则需要一个 Servlet 容器,本节为大家介绍 Web 技术的发展。
AD:
第 1 章 Servlet 与 Tomcat
本章要点
了解 Web 技术的发展
掌握 Servlet 和 Servlet 容器的相关概念
了解 Tomcat 的作用
掌握 Tomcat 的安装和配置
了解 Tomcat 的启动过程
熟悉 Tomcat 的体系结构
会用 Tomcat 的管理程序
要掌握 Java Web 开发,首先就要学会编写 Servlet,而要运行 Servlet,则需要一个 Servlet
容器,本书选用的是 Tomcat。下面让我们来了解一下 Servlet 和 Tomcat。
1.1 Web 技术的发展
随着 Internet 的发展,基于 HTTP 协议和 HTML 标准的 Web 应用呈几何数量级的增长,人们
的生活在不知不觉中已经被网络悄悄地改变了。在网络普及之前,我们购买图书要去书店,给
亲人汇钱要去邮局或者银行……而现在,一切都是这么便捷,你可以在网上购买图书、汇款、
缴纳电话费,你甚至可以为远在他乡的女朋友订购一束玫瑰。各种各样的网上业务丰富了我们
的生活,节省了我们的时间,提高了我们的工作效率,改善了我们的生活品质。支撑这些网上
业务的就是各种各样的 Web 应用,而这些 Web 应用又是用各种 Web 技术开发的。
早期的 Web 应用主要是静态页面的浏览(如新闻的浏览),这些静态页面使用 HTML 语言来
编写,放在服务器上;用户使用浏览器通过 HTTP 协议请求服务器上的 Web 页面,服务器上
的 Web 服务器软件接收到用户发送的请求后,读取请求 URI 所标识的资源,加上消息报头发
送给客户端的浏览器;浏览器解析响应中的 HTML 数据,向用户呈现多姿多彩的 HTML 页面。
整个过程如图 1-1 所示。
图 1-1 浏览器请求静态页面
随着网络的发展,很多线下业务开始向网上发展,基于 Internet 的 Web 应用也变得越来越复
杂,用户所访问的资源已不仅仅局限于在服务器硬盘上存放的静态网页,更多的应用需要根据
用户的请求动态生成页面信息,复杂一些的还需要从数据库中提取数据,经过一定的运算,生
成一个页面返回给客户。例如,笔者通过 Web 浏览器想要查询本公司一年的销售报表,这个
销售报表是根据一年的销售数据得出的,而这一年的销售数据非常多,通常都是存储在数据库
中,当 Web 服务器端软件接收到客户端的请求,就需要从数据库中提取一年的数据,然后按
照一定的统计规则,通过计算生成报表页面,发送到请求者的 Web 浏览器端。类似于上述的
应用还有很多,要为用户提供各种各样的增强功能,就需要我们在 Web 服务端通过软件来实
现。可是这种实现,如何才能完成呢?
了解 HTTP 协议的读者,可能会想到,可以遵循 HTTP 协议实现一个服务器端软件,提供增强
功能。想法本身没有错误,但是由于 HTTP 协议服务器端的实现较为复杂,需要考虑很多方面,
而且由于应用的广泛性,不可能针对每一种应用都去实现这样的一个 HTTP 服务器,所以这种
方法在现实中不太可行。还有一种方法,就是利用已经实现 HTTP 协议的服务器端软件,而这
些软件预先为我们留出了扩展的接口,我们只需要按照一定的规则去提供相应的扩展功能。当
这类 Web 服务器接收到客户请求后,判断请求是否是访问我们提供的扩展功能,如果是,就
将请求交由我们所编写的程序去处理。当处理完成后,程序将处理结果交回 Web 服务器软件,
Web 服务器软件拿到结果信息后,再将结果作为响应信息返回给客户端。第二种方式的好处在
于,我们不需要对 HTTP 协议有过多的了解,HTTP 协议服务器端的实现已经由 Web 服务器软
件完成了,我们只需要根据我们的应用去开发相应的功能模块,然后将这些功能模块按照你所
采用的 Web 服务器软件的要求,部署到 Web 服务器中进行集成。在用户看来,Web 服务器
端就是一个整体,在为他/她提供服务。
早期使用的 Web 服务器扩展机制是 CGI,它允许用户调用 Web 服务器上的 CGI 程序。CGI 的
全称是 Common Gateway Interface,即公共网关接口。大多数的 CGI 程序使用 Perl 来编
写,也有使用 C、Python 或 PHP 来编写的。用户通过单击某个链接或者直接在浏览器的地址
栏中输入 URL 来访问 CGI 程序,Web 服务器接收到请求后,发现这个请求是给 CGI 程序的,
于是就启动并运行这个 CGI 程序,对用户请求进行处理。CGI 程序解析请求中的 CGI 数据,处
理数据,并产生一个响应(通常是 HTML 页面)。这个响应被返回给 Web 服务器,Web 服务
器包装这个响应(例如添加消息报头),以 HTTP 响应的形式发送给 Web 浏览器。整个过程
如图 1-2 所示。
图 1-2 用户访问 CGI 程序
然而 CGI 程序存在着一些缺点,主要是 CGI 程序编写困难、对用户请求的响应时间较长、以进
程方式运行导致性能受限等。由于 CGI 程序的这些缺点,开发人员需要其他的 CGI 方案。
1997 年,SUN 公司推出了 Servlet 技术,作为 Java 阵营的 CGI 解决方案。作为对微软 ASP
技术(1996 年推出)的回应,SUN 公司于 1998 年推出了 JSP 技术,允许在 HTML 页面中嵌
入 Java 脚本代码,从而实现动态网页功能。与 ASP、JSP 类似的服务器端页面编写技术还有
Rasmus Lerdorf 于 1994 年发明的 PHP 技术。
1.2 Servlet 与 Servlet 容器
2008-08-12 13:19 孙鑫 电子工业出版社 我要评论(0) 字号:T | T
《Servlet/JSP 深入详解:基于 Tomcat 的 Web 开发》第 1 章 Servlet 与
Tomcat,要掌握 Java Web 开发,首先就要学会编写 Servlet,而要运行
Servlet,则需要一个 Servlet 容器,本节为大家介绍 Servlet 与 Servlet 容器。
AD:
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 提供额外的功能,如错误处理和安全。
1.3 Servlet 容器的分类
2008-08-12 13:19 孙鑫 电子工业出版社 我要评论(0) 字号:T | T
《Servlet/JSP 深入详解:基于 Tomcat 的 Web 开发》第 1 章 Servlet 与
Tomcat,要掌握 Java Web 开发,首先就要学会编写 Servlet,而要运行
Servlet,则需要一个 Servlet 容器,本节为大家介绍 Servlet 容器的分类。
AD:
1.3 Servlet 容器的分类
根据 Servlet 容器工作模式的不同,可以将 Servlet 容器分为以下三类:
独立的 Servlet 容器
当我们使用基于 Java 技术的 Web 服务器时,Servlet 容器作为构成 Web 服务器的一部分而存
在。然而大多数的 Web 服务器并非基于 Java,因此,就有了下面两种 Servlet 容器的工作模
式。
进程内的 Servlet 容器
Servlet 容器由 Web 服务器插件和 Java 容器两部分的实现组成。Web 服务器插件在某个
Web 服务器内部地址空间中打开一个 JVM(Java 虚拟机),使得 Java 容器可以在此 JVM 中
加载并运行 Servlet。如有客户端调用 Servlet 的请求到来,插件取得对此请求的控制并将它
传递(使用 JNI 技术)给 Java 容器,然后由 Java 容器将此请求交由 Servlet 进行处理。进程
内的 Servlet 容器对于单进程、多线程的服务器非常适合,提供了较高的运行速度,但伸缩性
有所不足。
进程外的 Servlet 容器
Servlet 容器运行于 Web 服务器之外的地址空间,它也是由 Web 服务器插件和 Java 容器两部
分的实现组成的。Web 服务器插件和 Java 容器(在外部 JVM 中运行)使用 IPC 机制(通常是
TCP/IP)进行通信。当一个调用 Servlet 的请求到达时,插件取得对此请求的控制并将其传递
(使用 IPC 机制)给 Java 容器。进程外 Servlet 容器对客户请求的响应速度不如进程内的
Servlet 容器,但进程外容器具有更好的伸缩性和稳定性。
1.4 Tomcat 简介
2008-08-12 13:19 孙鑫 电子工业出版社 我要评论(0) 字号:T | T
剩余63页未读,继续阅读
资源评论
zxb19881129
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功