互联网软件开发与应用(17)

发布时间:2021-06-11

电子商务专互联网软件应用与开发(复

并且执行它。(3)Servlet将接收该HTTP请求并执行某种处理。(4)Servlet将向Web服务器返回应答。

(5)Web服务器将从Servlet收到的应答发送给客户端。

Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。

简答题

1.简述Servlet的优点。

答:Servlet可以很好地替代通用网关接口(Commmon Gateway Interface,CGI)脚本。通常CGI脚本是用Perl或者C语言编写的,它们总是和特定的服务器平台紧密相关。而Servlet是用Java编写的,所以它们一开始就是和平台无关的。这样,Java编写一次就可以在任何平台运行(Write Once, Run Anywhere)的承诺就同样可以在服务器上实现了。Servlet还有一些CGI脚本所不具备的独特优点。

(1)Servlet是持久的。Servlet只需Web服务器加载一次,而且可以在不同请求之间保持服务(例如一次数据库连接)。与之相反,CGI脚本是短暂的、瞬态的。每一次对CGI脚本的请求,都会使Web服务器加载并执行该脚本。一旦这个CGI脚本运行结束,它就会被从内存中清除,然后将结果返回到客户端。CGI脚本的每一次使用,都会造成程序初始化过程(例如连接数据库)的重复执行。

(2)Servlet是可扩展的。由于Servlet是用Java编写的,它就具备了Java所能带来的所有优点。Java是健壮的、面向对象的编程语言,它很容易扩展以适应用户的需求。Servlet自然也具备了这些特征。

(3)Servlet是安全的。从外界调用一个Servlet的唯一方法就是通过Web服务器。这提供了高水平的安全性保障,尤其是在Web服务器有防火墙保护的时候。

(4)Servlet可以在多种多样的客户机上使用。由于Servlet是用Java编写的,所以可以很方便地在HTML中使用它们,就像使用Applet一样。在本书中将看到这一点。

使用Servlet的方式多得超出想象。如果考虑到在服务器上所能访问到的所有服务(如数据库服务和老的系统),使用Servlet的方式实际上可能是无限的。

2.简述Servlet的生命周期。

答:Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。

Web容器加载Servlet,生命周期开始。通过调用Servlet的init()方法进行Servlet的初始化。通过调用Servlet()方法实现,根据请求的不同调用不同的do***()方法。结束服务,Web容器调用Servlet的destroy()方法。

第九章 JSP 技术介绍 模板元素:模板元素是指JSP的静态HTML或者XML内容,它对JSP的显示是非常必要的。这部分的任务主要由制作网页的美工来完成。

在JSP编辑时,它将把这些模板元素编译到Servlet里。当客户请求次JSP时,它会把这些模板元素一字不变地发送到客户端。 Request对象有它的请求访问,它将包装成HttpServletRequest接口。来自客户端的请求经JSP处理后,由Request对象进行封装。它将作为给jspService()方法的一个参数而由容器传递给JSP页面。通过getParameter(String paramaeterName)方法可以得到Request参数,通过GET、P0ST、HEAD等可以得到Request的类型,通过Cookies、Referer等可以得到引入的Http头。通用的方法有:request.getParameter(String name)、request.getParameterNames()、request.setCharacterEncoding(String encoding)等。

Response对象:Response对象具有页面的范围,它被包装成HttpServletResponse接口。他封装了JSP产生的响应,然后被发送到客户端以响应客户的请求。同样,它由容器生成,作为jspService()方法的参数被传入JSP。因为输出流是缓冲的,所以可以设置HTTP状态码和Response头。常用的操作有:response.sendRedirect("newURL")、response.setHeader("HeadInfo")等。

简述Servlet带来的问题。

答:纯Servlet存在以下一些问题:

(1)开发和维护应用程序的所有部分需要有深厚的Java编程知识,因此处理代码和HTML元素是交织在一起的。

(2)改变应用程序的外观和风格,或者加入对某种新类型客户机(如WML客户机)的支持时,都需要更新并重新编译Servlet代码。

(3)很难利用网页开发工具的优势来设计应用程序界面。如果使用这些工具来开发网页布局的话,生成的HTML代码

精彩图片

热门精选

大家正在看