文档详情

零点起飞学JavaWeb开发之Servlet技术基础.pptx

发布:2025-05-09约3.36千字共14页下载文档
文本预览下载声明

第8章Servlet技术入门

Servlet技术是JSP技术的基础,初学者一般都是从学习JSP技术开始的。主要是因为这种技术相对简单些。虽然应用JSP和JavaBean联合起来可以完成大部分Servlet的功能,但Servlet技术有其不可替代的独特的优势。例如,高效率、高安全性等特点。本章通过结合例子讲解Servlet的基础知识,使读者初步理解这种技术的特点和使用方法。

8.1Servlet介绍

Servlet技术出现于J2EE平台之前,在过去的一段时间内,Servlet技术得到了广泛的应用。JSP技术是基于Servlet技术框架下的,由此可见Servlet技术的强大。下面讲述Servlet的概念、特点,以及它与JSP的关系。

什么是Servlet

添加标题

Servlet是运行于服务器端的、按照其自身规范编写的Java应用程序。笔者认为可以从3个层面解释这个概念。

添加标题

Servlet是用Java语言编写的,它是一个Java类。因而Servlet遵守所有Java语言的语法规则,并且它可以调用一般Java程序可以调用的系统包。

添加标题

Servlet是在服务器端运行的。它编译后的“.class”文件被服务器端调用和执行。Web服务器使用该class文件去处理浏览器请求,并将处理的结果返回到客户端。

添加标题

Servlet的主要功能是用来接受、处理客户端请求,并把处理结果返回到客户端显示。其过程如下所述。

添加标题

由于Servlet特殊的应用特点,它有自身特殊的规则。一般来说,它必须调用JavaServletAPI,必须是对特定类或接口的继承或实现。并且,它必须重写特定的方法去处理客户端请求。

1.客户端把请求送到Servlet处理

例如,用来实现注册的用户表单,其代码中可以指定使用哪个Servlet去处理它。用户填写好表单,当单击“提交”按钮时,客户端将请求发到Web服务器。Web服务器根据客户端的请求找到相应的Servlet调用它去处理请求。

2.Servlet处理请求

这时Servlet相应的方法被Web服务器调用去处理请求。这个过程中,Servlet可以和服务器端的其他资源(文件、数据库、Applet、Java应用程序等)交互。例如,该Servlet可以调用其他的Servlet、Java应用程序、Applet。它还可以连接数据库、执行数据库操作、读取文件或者生成文件。执行完这些操作后,该Servlet会把最终客户端想要的结果返回。

3.Servlet把请求的结果返回到客户端显示

在这个过程中,Servlet返回的并不仅仅是数据结果,而是整个HTML文件。例如,用户在网页上查询信息时,假设在单击“查询”按钮后,返回了显示查询结果的页面。那么用来表示这个页面的整个HTML文件都是Servlet产生并返回来的,而并不仅仅是页面上显示的查询结果。

01

说明:客户端与Servlet不断交互,因而生成动态Web内容。

02

若要实现一个Servlet,必须实现JavaServletAPI。这就要求该Servlet类继承系统已经定义好的类,并且重载这个特定类的方法。在这些方法中完成对客户端请求的处理,最后将生成的HTML页面返回到客户端。具体的实现方法在节的例子中讲解。

03

Servlet最大的优势就在于一方面它是用Java语言写的,是一个Java类。因而,Java语言赋予了它强大的功能;另一方面,它又可以用来处理客户端的请求,并且可以返回响应。这两方面的结合使Servlet成为功能非常强大的服务器端语言。总地来说,它主要有以下方法的优势。

可移植性好。

功能强大。

安全性好。

简洁。

高效耐久。

Servlet的优势

JSPvsServlet

JSP和Servlet的关系可以这样描述:一个JSP文件本质上就是一个Servlet类。只不过这个类在该JSP文件被客户端或者其他的Servlet调用时,才被Web服务器处理。它先被Web服务器处理成为一个后缀名为“.java”的Servlet类,然后被编译为一个后缀名为“.class”的文件。该编译后的Servlet被Web服务器调用,去处理客户端或其他的Servlet的请求。一般来说,它不会像节里第二步描述的那样进行那么复杂的处理,而仅仅是把原始的JSP文件所表示的整个HTML页面作为请求的结果返回到客户端。

1.JSP出现之前Servlet的使用状况

JSP是Servlet发展后期的产物。在没有JSP之前,就已经出现了Servlet技术。这时的Servlet相应客户端请求就像节里第3小节描述的那样,是利用输出流动态生成整个HTML页面。所以输出的内容包括每一个HTML标签和每个在HTML页面中出现的内容。然后将其返回到客户端显示。HTML文件包括大量的

显示全部
相似文档