零点起飞学JavaWeb开发之Servlet技术基础.pptx
第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文件包括大量的