当前位置:文档之家› JSP应用与开发技术课后习题答案

JSP应用与开发技术课后习题答案

JSP应用与开发技术课后习题答案
JSP应用与开发技术课后习题答案

第1章

1.什么是静态网页?什么是动态网页?两者的区别是什么?试举例说明。

答:在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。静态网页的网址形式通常为:https://www.doczj.com/doc/b45148336.html,/eg/eg.htm,也就是以.htm、.html、.shtml、.xml等为后后缀的。在HTML 格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。

我们将静态网页的特点简要归纳如下:

(1)静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”;

(2)网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;

(3)静态网页的内容相对稳定,因此容易被搜索引擎检索;

(4)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;

(5)静态网页的交互性交叉,在功能方面有较大的限制

动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”,如有这样一个动态网页的地址为:https://www.doczj.com/doc/b45148336.html,/ip/index.asp?id=1这就是一个典型的动态网页URL形式。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的“动态效果”没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页。

我们将动态网页的一般特点简要归纳如下:

(1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量;

(2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;

(3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;

(4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。

静态网页与动态的区别

程序是否在服务器端运行,是重要标志。在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、https://www.doczj.com/doc/b45148336.html,、CGI等。运行于客户端的程序、网页、插件、组件,属于静态网页,例如html页、Flash、

JavaScript、VBScript等等,它们是永远不变的。

2. 什么是B/S模式?什么是C/S模式?试举例说明。

答:即浏览器服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。

这种模式,我们通常将其成为瘦客户端模式。

典型的系统:网上银行、网上书店、Blog等等

客户机/服务器(Client/Server,C/S)模式

即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心、以客户机为网络基础、在信息系统软件支持下的两层结构模型。这种体系结构中,用户操作模块布置在客户机上,数据存储在服务器上的数据库中。客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。目前大多数信息系统是采用Client/Server结构。

服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL Server。客户端需要安装专用的客户端软件。

这种模式我们也通常成为胖客户端模式。

典型的系统:QQ、MSN

3. 什么是JSP?与ASP、PHP、https://www.doczj.com/doc/b45148336.html,相比,JSP有哪些优点??

答:JSP(Java Server Pages)是由Sun Microsystems公司倡导的、许多公司参与一起建立的一种动态网页技术标准。JSP技术是用Java语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。

JSP不像CGI,ISAPI和NSAPI那样难于编写和维护,不像PHP那样只能适应中小流量的网站,也不像ASP那样受到跨平台的限制(只能运行于Microsoft公司开发的IIS和PWS 上)。JSP体现了当今最先进的网站开发思想,和其他Web开发工具相比,JSP有着它自己强大的优势。

程序可以跨台平执行。JSP可以让开发人员在任意环境中进行开发,在任意环境中进行系统部署,在任意环境中扩展应用程序。

多样化和功能强大的开发工具支持。Java有许多非常优秀的开发工具,而且有许多可以免费得到,并且其中的许多已经可以顺利地运行于多种平台之下。

强大的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,一台服务器到无数台服务器,Java显示了巨大的生命力。。

4. JSP、Java和JavaScript有什么区别与联系??

答:JAVASCRIPT从其名称含义是JAVA脚本,是在浏览器中运行的脚本语言,由于其大部分语法规范取自于JAVA语法规范,所以取名为JAVASCRIPT。JAVASCRIPT是一门基于对象的弱类型脚本编程语言,主要用来制作网页前台的技术。并且是现在比较热门的AJAX技术的核心。

JSP是JAVA SERVER PAGE的首字母缩写,顾名思义,是JAVA的服务端页面,其动态语法部分完全是JAVA规范。JSP是基于Java的技术,用于创建可支持跨平台及Web服

务器的动态网页。从构成情况上来看,JSP页面代码一般由普通的HTML语句和特殊的基于Java语言的嵌入标记组成,所以它具有了Web和Java功能的双重特性。JSP是和ASP,PHP 一样的服务器端语言,主要用来制作网站后台的技术。

JAVA是和C/C++一个等级的强类型编程语言,是纯面向对象的.比起JSP和JAVASCRIPT要复杂的多。一般学好JAVA就能很容易转向其他两门语言。

总结:JSP是JAVA技术的其中之一,所以学好了JAVA过渡到JSP从编程角度来讲比较容易,学好JSP以后要想学好JAVA,就还要学习更多的JAVA方面的东西,比如JAVABEAN,企业级应用等等。

JAVASCRIPT严格来讲,除了语法参照了JAVA语法规范外,和JAVA毫无关系,所以两者之间只是语法规范类似,相互之间的过渡就只有语法能够参照,其他的都得分别去了解,JAVASCRIPT是过程式语言,JAVA则是面向对象的。

第2章

1. 什么是HTML 语言?HTML文件有什么特征?

答:HTML是超文本标记语言(Hypertext Mark-up Language)的缩写,主要用来创建与系统平台无关的网页文档。它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言,它不是编程语言,而是一种描述性的标记(标签)语言。

HTML文件是纯文本文件,是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML文件能用任意的文本编辑器编辑,如:记事本、写字板、Word等,也可以使用所见即所得的编辑器来编辑HTML文件,如Dreamweaver等。

2. 什么是JavaScript?

答:JavaScript是由Netscape公司开发的一种网页的脚本编程语言,它支持客户端与服务器端的应用程序以及构件的开发。JavaScript是一种解释性的语言,它的基本结构形式与其他编程语言相似,需要先编译后执行。JavaScript是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。在HTML基础上,使用Javascript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。

3. 简述HTML和JavaScript在JSP动态网页中所扮演的角色。

答:要使用JSP开发出专业的动态网站,首先必须熟练掌握静态网站的制作技术。HTML 是在学习JSP之前必须了解的基础知识,很多JSP语法的使用都是建立在HTML文档的基础上。实际开发中,一般都是使用现成的HTML文档来添加JSP的动态脚本并做适当修改,除了特殊的应用,很少从零开始写一个JSP页面,所以读懂HTML文档并了解HMTL语言中的技巧为更快地上手JSP提供了很大的帮助。

JavaScript是JSP知识体系中一个可选的知识模块。也就是说不了解JavaScript知识也不会影响JSP的应用开发,但是如果掌握了JavaScript的知识,将可以更加方便地解决网页开发中的某些特定问题,例如经常使用JavaScript判断用户在表单中输入数据的合法性。

第3章

第4章

1.如何在HTML网页中嵌入JSP程序代码?怎样来定义JSP中的声明区与程序区?

答:在JSP网页中必须于<%与%>符号间嵌入程序代码。

JSP声明的语法格式为:

<%! declaration; [ declaration; ] ... %> 或<%! 声明; [声明; ] ... %>

脚本代码的语法格式如下:

<% code fragment %> 或<% 代码%>

2.请说明JSP中有哪3个指令元素,以及这3个指令的主要用途。

答:page指令:可用来设置JSP网页的特性,如编码方式、引用类、缓冲区等。

include指令:可用来将HTML、文本文件或者JSP程序加载当前的JSP网页。

taglib指令:可用来引用一个自定义的标签库。

3.JSP中include指令与include动作的区别?

答:include指令是指把其它页面的Java代码(源码)加进来,跟本页面的代码合并在一起,相当于把源码从那个页面复制到本页面中来,然后再编译。并且由于本页面编译时已经包含了别的文件的源码,所以以后其它页面更改时,本页面并不理会,因为已经编译过了。动作是指两个页面的代码运行完以后,再把包含的那个页面运行后的HTML结果页面加到本页面运行后的HTML结果页面中来。所以是运行时包含,并且还可以传递参数给被包含的页面。

4. JSP网页可以使用的特殊操作元素有哪些?其中操作元素各有什么功能?

答:可使用的操作元素有

:可将当前浏览器显示网页的网址,重新导向新的网址。

:主要用来传递参数给JSP程序,而由程序取得参数值。

第5章

1. JSP中的内建对象包含哪些?试简述这些对象在JSP中的主要功能。

答:request:取得客户端数据与系统的信息。

response:响应客户端信息。

application:记录与处理上线者共享的数据。

session:记录与处理上线者的个别数据。

out:控制数据输出的操作。

config:取得JSP编译后Servlet的信息。

pageContext:存取与处理系统运行时期的各项信息。

page:表示当前的JSP网页。

2. response重定向方法sendRedirect和动作元素的区别是什么?

(1)response.sendredirect()会在客户端呈现跳转后的URL地址;这种跳转称为客户端跳转。使用response.sendredirect()将重定向的URL发送到客户端,浏览器再根据这个URL 重新发起请求。所以用这个方法时,你在浏览器地址栏上会看到新的请求资源的地址。并且这个时候的request,response都和第一次的不一样了。这时是重新产生了新的request,response。

(2)使用完全是在服务器上进行,浏览器地址栏中的地址保持不变;这种跳转称为服务器端跳转。所以使用这个方法时没有产生新的用request,response。因为request没有变,在同一个请求内,可以用request来转递参数。

(3)response.sendRedirect()想带参数的话,自己在地址中写成xxx.jsp?param1=aaa&... 这种形式传递参数。能够使用标签向目标文件传送参数和值,目标文件必须是一个动态的文件,能够处理参数。

(4)后面的语句不会被执行也不会继续发送到客户端,response.sendRedirect()后面的语句会继续执行,除非语句前面有return。

(5)是在服务器的内部进行转换,只发送给客户端最后转到的页面,速度会比较快;response.sendRedirect()需要服务器与客户端之间的往返,可以转到任何页面,包括网络有效域名。但速度比较慢。

3. application与session存储数据变量的方式有何区别?

答:application:记录联机用户共享的数据。session:记录联机用户的个别数据。

4. 请说明session对象的生命周期在哪些状况下会结束。

答:当以下四种情形之一发生时,session与其中的数据便会消失:

(1)用户关闭当前正在使用的浏览器程序。

(2)关闭网页服务器。

(3)用户未向服务器提出请求超过预设的时间,Tomcat服务器预设为30分钟。

(4)运行程序结束session。

第6章

1. 请简述Cookie的概念与使用方式。

答:Cookie为浏览器提供的功能,是一种可将联机用户的数据存储在客户端计算机上的技术,要运用Cookie必须先建立一个Cookie对象来存储字符串数据,再将此Cookie对象传送到客户端。

2.查看自己计算机上Cookie文件的保存位置。浏览网页,运行书上的例子,看是否会把信息记录在此位置?文件是如何命名的?文件的内容是什么?

答:在默认情况下,Cookie是随着用户关闭浏览器而自动消失的。所以书上例子不会保存Cookie。如果在例2中我们在usingCookie.jsp中使用setMaxAge()方法,设置Cookie 对象的存在期限。这样Cookie对象就会保存在硬盘中的Cookies文件夹中如“C:\Documents and Settings\Administrator\Cookies”如文件“administrator@ch06[1].txt”。内容是如下代码“name

d

localhost/ch06/

1024

1524104704

30118001

4117789296

30117999

*”

3.Cookie的常见用途有哪些?

(1)网站浏览人数管理

由于代理服务器、缓存等的使用,唯一能帮助网站精确统计来访人数的方法就是为每个访问者建立一个唯一的ID。使用Cookie,网站可以完成以下工作:测定多少人访问过;测定访问者中有多少是新用户(即第一次来访),多少是老用户;测定一个用户多久访问一次网站。

通常情况下,网站设计者是借助后台数据库来实现以上目的的。当用户第一次访问该网站时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数或判断用户是新用户还是老用户。

(2)按照用户的喜好定制网页外观

有的网站设计者,为用户提供了改变网页内容、布局和颜色的权力,允许用户输入自己的信息,然后通过这些信息对网站的一些参数进行修改,以定制网页的外观。

(3)在电子商务站点中实现诸如“购物篮”等功能

可以使用Cookie记录用户的ID,这样当你往“购物篮”中放了新东西时,网站就能记录下来,并在网站的数据库里对应着你的ID记录当你“买单”时,网站通过ID检索数据库中你的所有选择就能知道你的“购物篮”里有些什么。

4.Cookie与session有何不同?

session与Cookie同样是用来记录上线用户的个别数据的,两者的差异在于session是存在于服务器端,而Cookie则是存在于客户端。

第7章

1. 试说明什么是JavaBean。

答:JavaBean是一种特殊的Java程序,是用于包装特定功能的程序代码,可以被JSP 网页重复使用,其本身无法独立运行,是JSP网页程序组件化的核心。

2. 请说出如何在JSP网页中载入JavaBean。

A:

3. JavaBean对象可声明哪些不同的生命周期?

答:request、session、page及applaction。

4. JavaBean程序除了必须要有一个无传入值的建构式之外,还有哪些特色?

答:除了必须要有一个无传入值的建构式之外,还必须是一个公开的类,并以set及get 开头的方法来设置与取得属性。

5. 试说明Get和Post方法之间的差异?

答:Post和Get这两种设置方式主要的差异在于数据的传送方式,前者将所要传送的数

据包含在HTTP文件头中,后者则是将数据直接串接在网址栏的后端,两者都可使用GetParameter取得传送的数据内容。

第8章

1. import="java.io.*"

2. 试说明如何利用File类进行文件目录的操作?

答:利用File类进行文件目录的操作首先必需建立一个File对象,将所要操作文件或是目录完整路径当作参数传入,当File对象建立之后,JSP网页便可以利用这个对象调用File类的所有方法,以进行各种文件目录的操作。

3. 简述文件存取操作的操作过程。

答:首先利用File类建立一个参照指定文件的目录的File实体对象,接下来利用FileWriter和FileReader这两个类,进行指定文件的读写,其中的FileWriter的write方法,负责将数据写入文件,而FileReader的read则用来读取文件中的数据。

第9章

1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话

create table student

(

学号int,

姓名varchar(10),

年龄int,

性别varchar(4),

家庭住址varchar(50),

联系电话varchar(11)

);

--------------------------------------------------------------------

2) 修改学生表的结构,添加一列信息,学历

alter table student add column 学历varchar(6);

--------------------------------------------------------------------

3) 修改学生表的结构,删除一列信息,家庭住址

alter table student drop column 家庭住址;//注意此处用drop而非delete

--------------------------------------------------------------------

4) 向学生表添加如下信息:

学号姓名年龄性别联系电话学历

1A22男123456小学

2B21男119中学

3C23男110高中

4D18女114大学

insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"A",22,"男","123456","小学");

insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"B",21,"男","119","中学");

insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"C",23,"男","123456","高中");

insert into student (学号,姓名,年龄,性别,联系电话,学历) values(1,"D",23,"女","114","大学");

--------------------------------------------------------------------

5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”

update student set 学历="大专" where 联系电话like "11%";

--------------------------------------------------------------------

6) 删除学生表的数据,姓名以C开头,性别为‘男'的记录删除

delete from student where 姓名like "C" and 性别="男";

--------------------------------------------------------------------

7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来

select 姓名,学号from student where 年龄<22 and 学历="大专";

--------------------------------------------------------------------

8) 查询学生表的数据,查询所有信息,列出前25%的记录

select top 25 percent * from student ; ????

select * from student limit 25%;????

这条有问题,在sql 2000中应该是select top 25 percent * from student ;

--------------------------------------------------------------------

9) 查询出所有学生的姓名,性别,年龄降序排列

select 姓名,性别,年龄from student order by 年龄desc;

--------------------------------------------------------------------

10) 按照性别分组查询所有的平均年龄

select avg(年龄) as 平均年龄from student group by 性别;

select avg(年龄) from student group by 性别;

select avg(年龄) 平均年龄from student group by 性别;

第10章

1. 说明Statement与ResultSet接口的意义,以及这两个生成的对象在JSP程序处理数据库时,分别扮演着什么样的角色?

答:Statement:Statement接口中主要是提供了一些SQL运行的方法,以及设置运行SQL 后所返回ResultSet类型对象的属性。由此接口所生成的对象在JSP中同样是用来运行各种SQL指令与设置Resultset对象的属性。

ResultSet:ResultSet接口下所定义的方法大都是用来控制ResultSet对象中指针的移动的,以取得其中的数据元素。

2. 试列举说明Statement运行SQL指令的3种方法成员。

答:execute():运行一般SQL指令,例如建立数据库、修改数据表等等。

executeQuery():运行以SELECT语句开头的描述,这个方法同时返回一个包含查看结果的ResultSet对象。

executeUpdate():修改数据表内容,例如新增、删除与修改数据等。

3. 说明如何一次运行多段SQL语句。

答:首先建立一个Statement对象,将多个想要运行的SQL指令以addBatch()方法加到批处理文档中,最后引用executeBacth()方法运行。

第12章Servlet基础

1.简述Servlet和JSP的关系。

答:

Servlet是服务器端运行的一种Java应用程序。当浏览器端有请求则将其结果传递给浏览器。在JSP中使用到的所有对象都将被转换为Servlet或者非Servlet的Java对象,然后被执行,所以执行JSP实际上与执行Servlet是一样的。

2.简述Servlet的生命周期。

答:

Servlet的生命周期可分为下面几个阶段:

(1)装载Servlet。

(2)实例化一个Servlet实例对象。

(3)调用Servlet的init( )方法进行初始化。

(4)服务。

(5)卸载。

3.简述HttpSession接口的功能和使用方法。

答:

.HttpSession接口是Servlet提供会话追踪解决方案。HttpSession对象存放在服务器端,只是对cookie和url重写技术的封装应用。

使用HttpSession进行会话控制的过程:

(1)获得一个HttpSession实例对象;

(2)访问和设置与会话相关联信息,维护会话的状态;

(3)废弃会话数据。

4.简述开发一个Servlet所需要的步骤。

答:

第一步:编写Servlet实例

第二步:在web.xml文件中配置该Servlet

第三步:编写其它文件

5.编写一个html页面和一个Servelt,实现利用Servelt的doPost方法读取html文件中

Form表单内容。

答:

参考12.6.2

6.写一个利用HttpSession接口的用户登录的Servlet,当用户已经登录时,返回欢迎信息;否则转向登录页面。

答:

第一步:编写Servlet实例SessionServlet.java所示。

package com;

import java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

/**

*

* 使用HttpSession管理会话的登录Servlet

*/

public class LoginServlet extends HttpServlet {

p rotected void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);

}

p rotected void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=GB2312");

PrintWriter out = response.getWriter();

out.println("");

out.println("");

out.println("");

out.println("使用HttpSession管理会话的登录页面");

out.println("");

out.println("");

// 获取会话对象

HttpSession session = request.getSession();

// 从会话对象中读取数据

Boolean isLogin = (Boolean) session.getAttribute("isLogin");

if (isLogin == null) {

isLogin = Boolean.FALSE;

}

String user = request.getParameter("user");

String password = request.getParameter("pass");

if (isLogin.booleanValue()) {

// 从会话对象中读取数据

user = (String) session.getAttribute("user");

Date loginTime = new Date(session.getCreationTime());

out.println("

欢迎您," + user + "!

");

out.println("

您的登录时间是:" + loginTime + "!

");

} else if ((user != null) && (password != null)) {

// 在会话对象中保存数据

session.setAttribute("user", user);

session.setAttribute("isLogin", Boolean.TRUE);

Date loginTime = new Date(session.getCreationTime());

out.println("

欢迎您," + user + "!

");

out.println("

您的登录时间是:" + loginTime + "!

");

} else {

out.println("

请在下面输入登录信息

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

用户名:
密码:
");

out.println("

");

out.println("

");

}

out.println("");

out.println("");

}

}

第二步:在web.xml文件中配置该Servlet

……

getSession

getSession

com.SessionServlet

getSession

/getSession

……

第13章使用Servlet过滤器和监听器

1、什么是过滤器?什么是监听器?分别应用在哪些方面?

答:

对Web应用来说,过滤器就是驻留在服务器端,在源数据和目的数据间,对Web请求和Web响应的头属性(Header)和内容体(Body)进行操作的一种特殊Web组件。

Servlet监听器是WEB应用程序事件模型的一部分,Servlet监听器用于监听一些WEB应用中重要事件的发生,监听器对象可以在事情发生前、发生后Servlet容器就会产生相应的事件, Servlet监听器用来处理这些事件。

2、Filter接口、FilterConfig接口、FilterChain接口的功能分别是什么?提供的方法有哪些?

答:

所有的过滤器在开发中必须实现javax.servlet.Filter接口,并且提供一个公开的不带参数的构造方法。接口定义了init()、doFilter()和destroy()三方法,和Servelt接口类似,这三个方法分别对应Servlet过滤器生命周期中的初始化、响应和销毁三个阶段。

当容器对Filter对象进行初始化时,容器调用Filter的init方法,并传入一个实现FilterConfig接口的对象。Filter可使用该对象获得一些有用的信息。

javax.servlet.FilterChain接口由容器实现,容器将其实例作为参数传入过滤器对象的doFilter()方法中。过滤器对象使用FilterChain对象调用过滤器链中的下一个过滤器或者是将调用目标资源。

3、ServletContextListener接口、ServletContextAttributeListener接口、

4HttpSessionBindingListener接口的功能分别是什么?提供的方法有哪些?

答:

在Web应用程序启动时需要执行一些初始化任务时,可以编写实现了ServletContextListener接口的监听器类。在ServletContextListener接口中定义了两个事件处理方法,分别是contextInitialize()和contextDestroyed()。

为保证属性在整个Web应用范围内的一致性,有必要监视ServletContext对象的任何属性的改变。ServletContextAttributeListener侦听器就是为了这一目的而设立的。该侦听器是一个实现了接口ServletContextAttributeListener的Java类。ServletContextAttributeListener接口共提供了3种方法:(1)public void attributeAdded(ServletContextAttributeEvent scab)通知向

servlet 上下文中添加了一个新属性。在添加属性之后调用本方法。(2)public void attributeRemoved(ServletContextAttributeEvent scab)通知现有属性已从servlet 上下文中移除。在移除属性之后调用本方法。(3)public void attributeReplaced(ServletContextAttributeEvent scab)。

如果一个对象实现了HttpSessionBindingListener接口,当这个对象被绑定到Session中或从Session中删除时,Servlet容器会通知这个对象,这个对象在接收到通知后,做初始化操作或清除状态的操作。HttpSessionBindingListener接口提供了如下方法:(1)public void valueBound(HttpSessionBindingEvent event)当对象正在被绑定到Session中,Servlet容器通知对象它将被绑定到某个会话并标识该会话。(2)public void valueUnbound(HttpSessionBindingEvent event) 当从Session中删除对象时,Servlet容器通知对象要从某个会话中取消对它的绑定并标识该会话。

4、jsp乱码如何解决,几种解决方案?

答:添加编码方式、使用过滤器。

5、如何编写、配置过滤器,举例说明?

答:

第一步:开发jsp页面。

第二步:编写过滤器类

第三步:在web.xml文件中添加配置过滤器的代码

第四步:验证过滤器运行效果

6、如何编写、配置监听器,举例说明?

答:

第一步:开发jsp页面。

第二步:编写监听器类

第三步:在web.xml文件中添加配置监听器的代码

第四步:验证监听器运行效果

第14章JSTL标准标签库

1.请简述JSTL与一般的JSP技术有何差异。

答:使用JSTL实现动态JSP页面的最大特点在于简单,避免了使用脚本片段带来的许多问题,Web应用开发人员利用JSTL可以取代直接嵌入页面的代码片段,提高程序可读性和可维护性。

2.JSTL标签的分类主要有哪几种,请简单说明。

答:核心标签库、I18N 格式标签库、SQL 标签库、XML 标签库、函数标签库3.

4.在Tomcat中安装使用JSTL的步骤有哪些?

1)Sun的JSTL页面(https://www.doczj.com/doc/b45148336.html,/products/jsp/jstl)提供JSTL规范文档和相关

实现的下载。Apache Jakarta项目是JSTL标准的一种实现,具体下载网址为:

https://www.doczj.com/doc/b45148336.html,/dist/jakarta/taglibs/standard/。Windows系统下软件包的对应下载的文件名为:jakarta-taglibs-application-current.zip。

2)Jakarta JSTL的实现是一些JAR文件,如果在Web应用中使用JSTL,就需要在Web

应用的WEB-INF\lib目录下包含JSTL的JAR文件。将jstl.jar和standard.jar复制到Tomcat 网站根目录下的文件夹WEB-INF\lib当中,并将tld目录复制到Tomcat的WEB-INF目录下,重新启动Tomcat之后,就可以开始使用JSTL了。

5.这两种标签都可以用来进行流程判断,请说明它们的差异及用法。

答:标签用于进行条件判断,只有当其test属性指定的Boolean表达式值为true 时才会处理其本体的内容,否则不执行。

标记用来处理多个可选条件下的选择。标记需要和标记配套使用,并且必须依附在标签下。

6.使用JSTL标准标记库中的标记输出1到100中所有的数字之和。

提示:本程序所使用的JSTL核心标记库的uri为https://www.doczj.com/doc/b45148336.html,/jsp/jstl/core

7.使用标准标签库中的标签、标签和标签列出1到100中能被2

整除不能被3整除的数字。

< c:if test!=${st.count%2}>

8.说明如何使用JSTL所提供的标签设置联机信息。

答:

使用标记来指定数据源,其语法为:

{ dataSource=“dataSource”| url=“jdbcUrl”

[driver=“driverClassName”]

[user=“userName”]

[password=“password”] }

[var=“varName”]

[scope=“{page|request|session|application}”] />

url属性用于指定连接的url。driver属性用于指定驱动程序。

dataSource属性为数据源。

第15章自定义标签库

1.创建自定义标签有几种方式?如何使用自定义标签?

答:

创建自定义标签:

1)传统标签的开发

2)Simple标签的开发

在标签库定义完成后,我们就可以在JSP页面中引用了自定义标签了:

1)在JSP文件中通过taglib指令引入了标签库。

2)在JSP页面通过标签前缀和标签名称使用标签。

2.编写自定义标签的步骤。

答:

1)编写标签处理类

2)在TLD文件中配置标签

3)在web.xml文件中配置标签库信息

4)在JSP页面中引用标签

3.使用Tag接口编写一个输出welcome的自定义标签。

WelcomeTag.java

package demo.tag;

/**

*自定义标签WelcomeTag

*

*/

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

import java.util.Hashtable;

import java.io.Writer;

import java.io.IOException;

import java.util.Date;

public class WelcomeTag implements Tag {

p rivate PageContext pageContext;

p rivate Tag parent;

p ublic WelcomeTag() {

super();

}

/**

* 设置标签的JSP页面上下文

*/

p ublic void setPageContext(PageContext pageContext) {

this.pageContext = pageContext;

}

/**

* 设置上一级标签

*/

p ublic void setParent(Tag parent) {

this.parent = parent;

}

p ublic Tag getParent() {

return parent;

}

/**

* 开始标签时的操作

*/

p ublic int doStartTag() throws JspException {

return Tag.SKIP_BODY;// 返回SKIP_BODY,表示不计算标签体}

/**

* 结束标签时的操作

*/

p ublic int doEndTag() throws JspException {

try {

pageContext.getOut().write("Welcome!");

} catch (IOException e) {

throw new JspTagException("IO Error:" + e.getMessage());

}

return Tag.EVAL_PAGE;

}

p ublic void release() {

}

}

标签库描述文件mytag.tld

……

welcome

ch15.Welcome

empty

配置web.xml

……

/mytag.tld

/WEB-INF/mutag.tld

JSP页面引用标签WelcomeTag.jsp

<%@page contentType="text/html;charset=gb2312" %>

<%@taglib uri="/WEB-INF/mytag.tld" prefix="my"%>

测试自定义标签




JSP爱好者

<% String outValue=",Welcome!"; %>

JSP爱好者

4.通过继承TagSupper类实现输出welcome的自定义标签。

WelcomeTagSupport.java

package demo.tag;

/**

*自定义标签WelcomeTagSupport

*/

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

import java.util.Hashtable;

import java.io.Writer;

import java.io.IOException;

import java.util.Date;

public class WelcomeTagSupport extends TagSupport {

/**

*开始标签时的操作

*/

public int doStartTag()throws JspException{

try{

pageContext.getOut().write("Welcome ,");

}catch(IOException e){

throw new JspTagException("IO Error:" + e.getMessage());

}

return Tag.EVAL_BODY_INCLUDE;//返回EVAL_BODY_INCLUDE,表示计算标签体}

/**

*结束标签时的操作

*/

public int doEndTag() throws JspException{

try{

pageContext.getOut().write(",Welcome!");

}catch(IOException e){

throw new JspTagException("IO Error:" + e.getMessage());

}

return Tag.EVAL_PAGE;

}

}

标签库描述文件mytag.tld

Welcome

ch15.WelcomeTagSupport

JSP

5.通过继承BodyTagSupport类实现welcome迭代输出。WelcomeBodyTagSupport.java

package demo.tag;

import java.io.IOException;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.tagext.*;

public class WelcomeBodyTagSupport extends BodyTagSupport{

p rivate int count; //控制处理标签内容体的次数

/* 属性设置*/

public void setCount(int count){

this.count = count;

}

public int doStartTag() throws JspException {

if(this.count>0){

System.out.println("doStartTag");

return Tag.EVAL_BODY_INCLUDE;

}else{

return Tag.SKIP_BODY;

}

}

public void doInitBody() throws JspException {

System.out.println("initBody");

}

public void setBodyContent(BodyContent content) {

System.out.println("BodyContent");

bodyContent=content;

}

public int doAfterBody() throws JspException {

if((--count)>0){

System.out.println("doAfterBody:"+count);

return BodyTag.EVAL_BODY_AGAIN;

}

return BodyTag.SKIP_BODY;

}

public int doEndTag() throws JspException {

System.out.println("doEndTag");

if(bodyContent!=null){

try { //输出缓冲区里面的out中的内容

bodyContent.writeOut(bodyContent.getEnclosingWriter());

} catch (IOException e) { e.printStackTrace(); }

}

return super.doEndTag();

}

}// end of class

标签库描述文件mytag.tld

……

welcomeloop

demo.tag.WelcomeBodyTagSupport

JSP

count

true

true

第16章Web开发的应用

采用MVC模式编写用户登录验证程序。

系统中的文件可参考表16-5提示:

welcome.jsp

<%@ page contentType="text/html;charset=GB2312" %>

欢迎你,!

login2.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%

//得到上下文路径,对于Servlet 2.5规范,还可以使用下面注释中的代码//String path = application.getContextPath();

S tring path = request.getContextPath();

%>

登录页面

用户名:

密码:

loginerr.jsp

<%@ page contentType="text/html;charset=GB2312" %>

<%

S tring path = request.getContextPath();

%>

用户名或密码错误,请重新登录

UserBean.java

package beans;

public class UserBean

{

private String name;

private String password;

JSP试题及答案

第一章 一.选择题 1.早期的动态网站开发技术主要使用的是()技术。该技术的基本原理是将浏览器提交至Web服务器的数据通过环境变量传递给其他外部程序,经外部程序处理后,再把处理结果传送给Web服务器,最后由Web服务器把处理结果返回浏览器。 A.JSP B.ASP C.PHP D.CGI 2.JSP页面的代码由两个部分组成,它们是()和()。 A.javascript代码 B.vbscript代码 C.HTML代码 D.JSP代码 3.JSP在服务器中进行编译时,将首先被转译成() A.JA V A语言 B.HTML代码 C.servlet D.以上都是 4.在一个JSP页面代码中一定没有的部分是() A.javascript代码 B.JSP指令 C.JSP动作 D.HTML代码 二.问答题 1.简述JSP的基本运行原理。 2.列举出JSP具有的一些特点。

参考答案 一.选择题 1. D 2. C D 3. C 4. A 二.问答题 1.答:首先由浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP容器负责将JSP转换成Servlet,产生的Servlet经过编译后生成类文件,然后再把类文件加载到内存进行执行。最后由Web服务器将执行结果响应(Response)给客户端浏览器。 2.答:1. 一次编写,随处运行 2. 可重用组件技术 3. 标记化页面开发 4. 对大型复杂Web应用支持良好 第二章习题 三.选择题 1.下列不是JSP开发工具的是() A.JBuilder B.IBM WebSphere C.MyEclipse D.Firework 2.要建构JSP的开发环境,除了需要安装以上的JSP开发工具外,还必须安装()和() A.JDK B.Dreamweaver MX C.Flash MX D.Tomcat 3.JSP隶属Java家族,下列不属于JA V A家族的是() A.servlet B.javabean C.java D.javascript 4.web应用程序体系结构最多可分为三层,不属于这三层的是() A.表示层 B.业务层 C.数据访问层 D.网络链接层

JSP试题及答案

第1章WEB开发环境 (1)下列关于WEB开发说法正确的是。 A)Web是图形化的和易于导航的B)Web与平台无关 C)Web是分布式的D)Web 是动态的E)Web 是静态的 (2)下列关于Tomcat说法正确的是。 A)Tomcat是一种编程语言B)Tomcat是一种开发工具C)Tomcat是一种编程思想 D)Tomcat是一种开编程规范E)Tomcat是一个免费的开源的Serlvet容器 (3)下列关于Tomcat个目录说法错误的是。 A)bin目录--包含启动/关闭脚本B)conf目录——包含不同的配置文件 C)Lib目录--包含Tomcat使用的JAR文件 D)webapps目录--包含web项目示例,发布web应用时,默认情况下web文件夹放于此目录下E)work目录--包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下 (4)下列关于HTTP协议说法正确的是。 A)HTTP是一种请求/响应式的协议 B)HTTP请求消息中Accept表示浏览器可接受的MIME类型 C)HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式 D)HTTP请求消息中Accept-Language表示浏览器所希望的语言种类 E)HTTP请求消息中Host表示初始URL中的主机和端口。 (5)下列对于JSP说法中正确的是。 A)JSP是Sun公司推出的新一代站点开发语言B)JSP采用标识简化页面开发 C)JSP完全解决了目前ASP、PHP的一个通病——脚本级执行 D)JSP将内容的生成和显示进行分离E)JSP强调可重用的组件 第2章JSP编译指令 (1)下列关于JSP编译指令说法错误的是。 A)编译指令用于从JSP发送一个信息到容器上 B)编译指令用来设置全局变量、声明类要实现的方法和输出内容的类型等 C)编译指令向客户端产生任何输出D)编译指令所有的指令都在整个JSP页面内有效 E)编译指令元素为编译阶段提供了全局信息 (2)下面关于page指令说法中错误的是。 A)page指令用来定义JSP页面中的全局属性B)一个JSP页面只能包含一个page指令 C)除了import外,其他page指令定义的属性/值只能出现一次。 D)language属性用来指示所使用的语言E)“java”是当前唯一可用的JSP语言 (3)下面关于page指令的属性说法错误的是。 A)import属性用于指定导入哪些包 B)contenttype属性用来指定JSP页面的字符编码和响应的mime类型

JSP程序设计与项目实训教程_第2版_课后习题和参考答案

第1章Web技术简介 1.7 习题 1.7.1 选择题 1. Web技术的设想于哪一年提出()。 A.1954年 B.1969年 C.1989年 D.1990年 2. JSP页面在第一次运行时被JSP引擎转化为()。 A.HTML文件 B.CGI文件 C.CSS文件 D.Servlet文件 3. JavaEE体系中Web层技术是()。 A.HTML B.JavaBean C.EJB D.JSP 参考答案:1.C 2.D 3.D 1.7.2 填空题 1.当前主流的三大动态Web开发技术是:PHP、ASP/https://www.doczj.com/doc/b45148336.html,和______________。 2. JSP的两种体系结构是:______________和______________。 3. JSP开发Web站点的主要方式有:直接JSP、JSP+JavaBean、______________、______________和SSH。 参考答案: 1.JSP 2.JSP Model1和JSP Model2 3.JSP+JavaBean+Servlet、J2EE/JavaEE 1.7.3 简答题 1. 简述JSP的工作原理。 答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作: ●将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。 ●JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文件)。 ●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。 ●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。 由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。 2. 简述JSP两种体系结构。

JSP课后参考答案

习题1 JSP 简介 1. 安装Tomcat5.5所在的计算机需要事先安装JDK吗? 答:需要。 2. 运行startup.bat启动Tomcat服务器的好处是什么? 答:能够确保Tomcat服务器使用的是JA V A_HOME环境变量设置的JDK. 3. Boy.jsp和boy.jsp是否是相同的JSP文件名字 不是 4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单的JSP页面保存到该目录中,让用户使用权虚拟目录fish来访问该JSP页面? 答:设置方法: ①建立D:\ water目录; ②修改server.xml文件,在上一行添加: ③使用http://localhost:8080/ fish /example1_1.jsp访问 example1_1.jsp页面.

5. 假设Dalian是一个Web服务目录,其虚拟目录为moon, A.jsp保存在Dalian的子目录sea中。那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jsp C. http://127.0.0.1:8080/moon/A.jsp D. http://127.0.0.1:8080/moon/sea/A.jsp 答:D 6. 如果想修改的端口号,应当哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号. 若Tomcat服务器上没有其他占有80端口号的程序,可以将其修改为8080,否则不能。 习题2 JSP页面 1."<%!"和"%>"之间声明的变量与"<%"和"%>"声明的变量有何不同? 答: "<%!"和"%>"声明的变量为类的成员变量,其所占的内存直到

JSP复习题及部分答案

一、判断题 HTML称为超文本元素语言,它是Hypertext Marked Language的缩写。(对) 一个HTML文档必须有和元素。(错) 超级链接不仅可以将文本作为链接对象,也可以将图像作为链接对象。(对) 在网页中图形文件与网页文件是分别存储的。(对) 绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。(对) 超级链接<a>标记的target属性取值为链接的目标窗名,可以是parent、blank、 self、top。(错) 当样式定义重复出现的时候,最先定义的样式起作用(错)。 JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(对)在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。 (错) 表单域一定要放在<form>元素中。(对) 用户在浏览器中输入,不同的客户之间不共享。(错) 在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。(对) 程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。(对) 程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。(对) JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(对) 在Java程序片中可以使用Java语言的注释方法,其注释的内容会发送到客户端。(错) 不可以用一个page指令指定多个属性的取值。(错) jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。(对) jsp:param动作标记不能单独使用,必须作为jsp:include、jsp:forward标记等的子标记使用,并为它们提供参数。(对) <jsp:forward ... >标记的page属性值是相对的URL地址,只能静态的URL。(错) JSP页面只能在客户端执行。(错) JSP页面中不能包含脚本元素。(错) Page指令不能定义当前JSP程序的全局属性。(错) out对象是一个输出流,它实现了接口,用来向客户端输出数据。(对) contentType属性用来设置JSP页面的MIME类型和字符编码集,取值格式为"MIME 类型"或"MIME类型;charset=字符编码集",response对象调用addHeader方法修改该属性的值。(错) 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。(错) public long () 设置最长发呆时间,单位毫秒。(错) respone对象主要用于向客户端发送数据。(对) Post属于表单的隐式提交信息方法。(对) <select>标记用于在表单中插入一个下拉菜单。(对)</p><h2>jsp题库及参考答案要点</h2><p>选择题: 1)下面对Http请求消息使用GET和POST方法陈述正确的是:(单选)(C) A POST方法提交信息可以保存为书签,而GET则不行 B 可以使用GET方法提交敏感数据 C 使用POST提交数据量没有限制 D 使用POST方法提交数据比GET方法快 2)Web应用程序打包后的扩展名是:(单选)(B) A EAR B WAR C JAR D RAR 3)下面关于Servlet的陈述正确的是:(多选)(BC) A 我们在浏览器的地址栏直接输入要请求的Servlet,该Servlet默认会使用doPost 方法处理请求 B Servlet运行在服务器端 C Servlet的生命周期包括:实例化,初始化,服务,破坏,不可以用 D Servlet不能向浏览器发送Html标签 4)在Web应用程序中web.xml配置了Servlet的信息,如果你的项目为 LoginDemo,那么web.xml最可能位于哪个目录下。(单选)(D) A LoginDemo/ B LoginDemo/src/ C LoginDemo/logindemo/WEB-INF/bin/ D LoginDemo/logindemo/WEB-INF/ 5)下面说法错误的是:(多选)(CD) A Http协议是无状态的协议 B 会话跟踪技术有:用户授权,隐藏表单域,URL重写,Cookie等 C 使用request.getSession(false)可以新建会话 D 使用request.addCookie()可以添加Cookie到客户端 6)在login.html中存在如下代码 <form action=”/logindemo/login”> username:<input type=’text’ name=’userName’ id=’myName’value=’your name’> </form> 在login servlet中获得文本框的值正确的是:(单选)(D) A 无法获取,因为代码在Html中 B request.getAttribute(“userName”) C request.getParameter(“myName”) D request.getParameter(“userName”) 7)可以用于发送邮件的协议有:(多选)(BD) A Pop3 B SMTP C FTP D IMAP 8)在使用JavaMailAPI发送邮件时可以使用哪个方法:(单选)(A)</p><h2>JSP试题</h2><p>二、判断题(每题1分,共20分) ×√ 静态网页服务器端返回的HTML文件是事先存储好的。√ 动态网页服务器端返回的HTML文件是程序生成的。√ Tomcat用于JSP技术所开发网站的服务器。√ Web开发技术包括客户端和服务器端的技术。√ Tomcat和JDK都不是开源的。× Tomcat是一个免费的开源的Serlvet容器。√ 在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。√ JSP和Java一样具有平台独立性。√ JSP在运行之前必须转换成Servlet。√ JSP网页中一定包含JSP程序。× JSP第一次执行的速度要比第二次执行的速度慢。√ 运行JSP程序只需要浏览器即可。× 开发JSP必须使用JDK工具包。√ 安装完JDK后,会自动配置环境变量。× Tomcat是Web服务器,不提供JSP引擎和Servlet引擎。× Tomcat的端口一旦配置好,就不可以再改变。× 在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaBean”和“Serlvet”,以Servlet为核心。√ JSP页面中的指令标记、JSP动作标记统称为脚本元素。× 在“<%!”和“%>”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。× 在“<%!”和“%>”标记之间声明的Java的方法在整个页面内有效。√ 页面成员方法不可以在页面的Java程序片中调用。× JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。√ 不可以用一个page指令指定多个属性的取值。× <jsp:include>动作标记与include指令标记包含文件的处理时间和方式不同。√ <jsp:forward >标记的page属性值是相对的URL地址,只能静态的URL。× JSP页面中不能包含脚本元素。× Page指令不能定义当前JSP程序的全局属性。× 每个session都有独一无二的ID,用于区分不同的session。 负责处理客户请求的内置对象是request。 page对象表示JSP页面本身。 out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。√respone对象主要用于向客户端发送数据。√ 表单信息的验证只能放在服务器端执行。× session对象是HttpSession接口类的实例,由客户端负责创建和销毁,所以不同客户的session对象不同。√ session对象可以用来保存用户会话期间需要保存的数据信息。√</p><h2>JSP应用与开发技术第2章习题答案</h2><p>1. 什么是HTML 语言?HTML文件有什么特征? 答:HTML是超文本标记语言(Hypertext Mark-up Language)的缩写,主要用来创建与系统平台无关的网页文档。它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言,它不是编程语言,而是一种描述性的标记(标签)语言。 HTML文件是纯文本文件,是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML文件能用任意的文本编辑器编辑,如:记事本、写字板、Word等,也可以使用所见即所得的编辑器来编辑HTML文件,如Dreamweaver 等。 2. 什么是JavaScript? 答:JavaScript是由Netscape公司开发的一种网页的脚本编程语言,它支持客户端与服务器端的应用程序以及构件的开发。JavaScript是一种解释性的语言,它的基本结构形式与其他编程语言相似,需要先编译后执行。JavaScript是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。在HTML基础上,使用Javascript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 3. 简述HTML和JavaScript在JSP动态网页中所扮演的角色。 答:要使用JSP开发出专业的动态网站,首先必须熟练掌握静态网站的制作技术。HTML是在学习JSP之前必须了解的基础知识,很多JSP语法的使用都是建立在HTML文档的基础上。实际开发中,一般都是使用现成的HTML文档来添加JSP的动态脚本并做适当修改,除了特殊的应用,很少从零开始写一个JSP页面,所以读懂HTML文档并了解HMTL语言中的技巧为更快地上手JSP提供了很大的帮助。 JavaScript是JSP知识体系中一个可选的知识模块。也就是说不了解JavaScript知识也不会影响JSP的应用开发,但是如果掌握了JavaScript的知识,将可以更加方便地解决网页开发中的某些特定问题,例如经常使用JavaScript判断用户在表单中输入数据的合法性。</p><h2>JSP课后习题及答案</h2><p>1. Web技术的设想在()年提出 A.1954 B.1969 C.1989 D.1990 2. JSP页面在第一次运行时被JSP引擎转化为() A.HTML文件 B. CGI文件 C. CSS文件 D.Servlet 文件 3. JavaEE体系中Web层技术是() A. HTML B. JavaBean C. EJB D. JSP 1 用来换行的标签是() A.<P> B.<br> C.<hr> D.<pre> 2. 用来建立有序列表的标签是() A.<ol></ol> B.<ul></ul> C.<dl></dl> D.<il></il> 3. 用来插入图片的标签是() A.<img> B.<image> C.<bgsound> D.<table> 4. css文件的扩展名为() A.doc B. text C. html D. css 1. 有关JSP中的HTML注释叙述正确的是() A.发布网页时看不到,在源文件中也看不到。 B.发布网页时看不到,在源文件中能看到。 C.发布网页时能看到,在源文件中看不到。 D.发布网页时能看到,在源文件中也能看到。 2. JSP支持的语言是() A. C语言 B. C++语言 C. C#语言 D. Java语言</p><p>3. 在同一个JSP页面中page指令的属性中可以使用多次的是() A. Import B. session C. extends D. Info 4. 用于获取Bean属性的动作是() A.<jsp:useBean> B.<jsp:getProperty> C.<jsp:setProperty> D.<jsp:forward> 5. 用于为其他动作传送参数的动作是() A.<jsp:include> B.<jsp:plugin> C.<jsp:param> D.<jsp:useBean> 1. Pesponse对象的setHeader(String name,String value)方法的作用是() A.添加HTTP文件头 B.设定指定名字的HTTP文件头的值 C.判断指定名字的HTTP文件头是否存在 D.向客户端发送错误信息 2. 设置session的有效时间(也叫超时时间)的方法是() A. setMaxInactiveInterval(int interval) B. getAttributeName() C. setAttributeName(String name,https://www.doczj.com/doc/b45148336.html,ng.Object value) D. getLastAccessedTime() 3. Out对象中能清除缓冲区中的数据,并且把数据输出到客户端的方法是() A. out.newLine() B. out.clear() C. out.flush() D. out.clearBuffer() 4. pageContext对象的findAttribute()方法作用是() A. 用来设置默认页面的范围或指定范围之中的已命名对象</p><h2>jsp复习题库</h2><p>JSP期中复习题库 一、单选题 【】1.request对象中读取同名复选框表单元素的值时,比较合适的方法是 A.getAttribute() B.getParameter() C.getParameters() D.getAttributes() 【】2.application对象所依赖的类或接口是 A.JspWrite B.ServletContext C.PageContext D.HttpServletContext 【】3.下面关于session的用法哪个是正确的 ) A.HttpSession session = new HttpSession(); B.String haha =(“haha”); C.(“haha”); D.session. setAttribute(“haha”); 【】4.关于<jsp:include page="Relative URL" />说法不正确的是哪个A.URL的输出在请求时被插入到JSP页面中 B.不能含有影响整个页面的JSP内容 C.被包含文件改变后不需更改使用它的页面 | D.被包含文件更改后,需要手动地更新使用它的页面 【】5.Java关于异常处理机制的叙述哪个正确 A.catch部分捕捉到异常情况时,才会执行finally部分 B.当try区段的程序发生异常时,不一定执行catch区段的程序 C.不论程序是否发生错误及捕捉到异常情况,都会执行finally部分 D.以上都是 【】6.下面JSP动作中叙述不正确的是 A.jsp:forward动作用来把当前的JSP页面重导到另一个页面上,用户看到的地址是当前页面的地址,而内容是另一个页面的。 ! B.jsp:param动作可单独使用,用于页面间传递参数。 C.jsp:include动作和include指令是不完全一样的。 D.jsp:setProperty动作用来在一个JSP页面中设置已创建的bean的属性值。 【】7.下面哪些为构造函数的特性定义 A.在类中声明构造函数时,名称应该与类名相同 B.具有重载特性,可以建立多个相同的名称 C.使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初值或进行内存分配 D.以上都是 【】8.》 【】9.下面说法不正确的是 A.JSP中的汉字字符串在服务器端用gb2312,在编译为Servlet时自动转换</p><h2>WEB开发技术实验报告</h2><p>实验一JSP开发环境构建 实验目的:了解动态页面技术及B/S系统 掌握开发环境的构建 理解Eclipse开发WEB应用 实验内容: 实训项目一:安装JDK并配置环境变量 请阐述配置环境变量的方法: 实训项目二:安装TOMCAT并配置Server.xml修改端口号为8090 问题一:如何测试TOMCAT是否已经成功启动? 问题二:在浏览器地址栏输入什么地址可以访问到TOMCA T的测试页? 请阐述配置Server.xml修改端口号为8090基本实验步骤: 实训项目三:应用Eclipse建立项目并浏览一个JSP页面 请阐述应用Eclipse建立项目并浏览一个JSP页面基本实验步骤: 实验心得:(遇到了哪些问题,如何解决的,有那些体会) 实验二JSP语法 实验目的:了解JSP程序的组成元素 掌握JSP中使用JA V A程序片段的方法 实验内容: 实训项目一:编写一个JSP页面输出26个小写英文字母表 实训项目二:编写页面实现九九乘法表 实训项目三:利用成员变量被所有客户共享这一性质,实现一个简单的计数器 实训项目四:使用JA V A表达式输出系统当前时间 实训项目五:编写程序shijian2_9.jsp和computer.jsp两个页面,在第一个页面中使用include动作标记动态包含文件computer.jsp,并向它传递一个矩形的长和宽,computer.jsp 收到参数后,计算矩形的面积,并显示结果。 实训项目六:编写3个JSP页面:main.jsp,first.jsp和second.jsp,将3个JSP文件保存在同一个WEB工程中,main.jsp使用include动作标记加载first.jsp和second.jsp页面。First.jsp 页面可以画一张表格,second.jsp页面可以计算两个正整数的最大公约数。当first.jsp被加载时,获取main.jsp页面include动作标记的param子标记提供的表格行数和列数,当second.jsp 被加载时,获取main.jsp页面include动作标记的param子标记提供的两个正整数的值。 要求:上机编程完成上述实训项目,上机演示给教师检查,从中挑选三个程序的核心代码写在实训报告上 实验核心代码:</p><h2>jsp编程基础第一章习题</h2><p>第一章JSP技术基础习题 一、选择题 1.当用户请求jsp页面时,JSP引擎就会执行该页面的字节码文件响应客户的请求,执行字 节码文件的结果是(C) A)发送一个JSP源文件到客户端 B)发送一个Java文件到客户端 C)发送一个HTML页面到客户端 D)什么都不做。 2.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个(B)A)进程B)线程C)程序D服务。 3.下列动态网页和静态网页的根本区别描述错误的是。(D) A)静态网页服务器端返回的HTML文件是事先存储好的 B)动态网页服务器端返回的HTML文件是程序生成的。 C)静态网页文件里只有HTML标记,没有程序代码。 D)动态网页中只有程序,不能有HTML代码。 4.不是JSP运行必须的是(D) A)操作系统 B)JavaJDK C)支持Jsp的Web服务器 D)数据库 5.URL是Internet中资源的命名机制,URL由三部分构成。(A) A)协议、主机DNS名或IP地址和文件名 B)主机、DNS名或IP地址和文件名、协议 C)协议、文件名、主机名 D)协议、文件名、IP地址 6.下列说法哪一项是正确的(C) A)Apache用于ASP技术所开发网站的服务器 B)IIS用于CGI技术所开发网站的服务器 C)Tomcat用于JSP技术所开发网站的服务器 D)WebLogic用于PHP技术所开发网站的服务器 7.Tomcat服务器的默认端口号是:(B) A)80 B)8080 C)21 D)2121</p><p>二、判断题 1.动态网页和静态网页的根本区别在于服务器端返回的HTML文件是事先存储好的还是由动态网页程序生成的。(对) 2.Internet和intranet的含义意义相同。(错) 3.互联网起源于美国国防部高级研究计划管理局建立的ARPA网。(对) 4.Web开发技术包括客户端和服务器端的技术。(对) 5.Tomcat和JDK都不是开源的。(错) 三、填空题 1.W3C是指__万维网联盟_____________。 2.Internet采用的通信协议是______TCP/IP________。 3.IP地址用四组由圆点分割的数字表示,其中每一组数字都在__0~254____________之间。 4.当今比较流行的技术研发模式是____C/S______和____B/S________的体系结构来实现的。 5.Web应用中的每一次信息交换都要涉及到______服务器_______和_______客户端_______两个层面。 6.静态网页文件里只有___HTML标记___________,没有程序代码。 四、思考题 1.为什么要为JDK设置环境变量? 2.Tomcat和JDK是什么关系? 3.什么是Web服务根目录、子目录、相对目录?如何配置虚拟目录? 4.什么是B/S模式? 5.JSP、JavaBeans和JavaServlet之间的关系? 6.集成开发环境能为程序员做什么? 7.使用MyEclipse开发JSP程序,需要做那些配置? 8.MyEclipse和Eclipse的关系?</p><h2>JSP课后习题参考答案</h2><p>第1章Web技术简介 1、7、1 选择题 1、Web技术得设想于哪一年提出()。 A、1954年 B、1969年 C、1989年 D、1990年 2、JSP页面在第一次运行时被JSP引擎转化为()。 A、HTML文件 B、CGI文件 C、CSS文件 D、Servlet文件 3、JavaEE体系中Web层技术就是()。 A、HTML B、JavaBean C、EJB D、JSP 参考答案:1、C 2、D 3、D 1、7、2 填空题 1、当前主流得三大动态Web开发技术就是:PHP、ASP/ASP、NET与______________。 2、JSP得两种体系结构就是:______________与______________。 3、JSP开发Web站点得主要方式有:直接JSP、JSP+JavaBean、______________、______________与SSH。 参考答案: 1、JSP 2、JSP Model1与JSP Model2 3、JSP+JavaBean+Servlet、J2EE/JavaEE 1、7、3 简答题 1、简述JSP得工作原理。 答:所有得JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要就是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作: ●将JSP文件翻译成Servlet文件,Servlet文件就是Java应用程序。 ●JSP引擎调用Java编译器,编译Servlet文件得到可执行得代码文件(、class文件)。 ●JSP引擎调用Java虚拟机解释执行、class文件,并将运行结果返回给服务器。 ●服务器将运行结果以HTML形式作为响应返回给客户端得浏览器。 由于一个JSP页面在第一次被访问时要经过翻译、编译与执行这几个步骤,所以客户端得到响应所需要得时间比较长。当该页面再次被访问时,它对应得、class文件已经生成,不需要再次翻译与编译,JSP引擎可以直接执行、class文件,因此JSP页面得访问速度会大为提高。 2、简述JSP两种体系结构。 答:JSP规范中分别称作JSP Model 1 与JSP Model 2,它们得本质区别在于处理批量请求得位置不同。Model1,在Model1体系中,JSP页面独自响应请求并将处理结果返回客户。这里仍然存在显示与内容得分离,因为所有得数据存取都就是由JavaBean来完成得。尽管Model1体系十分适合简单应用得需要,它却不能满足复杂得大型Web应用程序需要。不加选择地随意运用Model 1,会导致JSP页内被嵌入大量得脚本片段或Java代码。尽管这对于</p><h2>JSP笔试题及答案</h2><p>1、JSP 页面由JSP页面元素构成,以下JSP页面元素属于JSP指令的是(A ). (选择一项) A. <%@page language="java"import="java.util.*"buffer="8kb"errorPage="error.jsp" isErrorPage="false"%> B. <%!String getHello(String name){return "Hi,"+name+"!";}%> C. <%java.util.Date now=new java.util.Date(); out.println("当前时间是:"+now);%> D. <%=new java.util.Date()%> 2、在Java中,欲成功更新表course中数据(hours 字段为int型,coursethitle为nvarchar型),假设已经获得了数据库连接,Connection的对象con,则在以下程序段的下划线处应该填写的代码是(B ). PreparedStatement pstmt=con.prepareStatement("update course set hours=?where coursetitle=?"); ___________________________//此处填写代码 pstmt.setString(2,"accp"); pstmt.executeUpdate(); A. pstmt.setInt(2,800); B. pstmt.setInt(1,800); C. pstmt.setString(2,"800"); D. pstmt.setString(1,"800"); 3、基于Java技术的Web应用程序目录结构中,WEB-INF目录位于文档根目录下, WEB-INF目录的组成部分不包括(AB)。(选择二项) a)JSP文件 b)src目录 c)lib目录 d)web.xml 4、给定JSP代码如下所示,则该JSP的运行结果是(A)(选择一项) <html> <%! Public static void func(int num){ ++num; } %> <% int num=9; func(num); out.println(num++); %> </html> a)显示“9” b)显示“10” c)显示“11” d)JSP编译错误 5、以下选项中,描述Web容嚣处理JSP文件请求三个阶段的先后顺序正确的是(B). a) 编译阶段、翻译阶段、执行阶段 b) 翻译阶段、编译阶段、执行阶段 c) 执行阶段、翻译阶段、编译阶段</p><h2>JSP技术中英文对照外文翻译文献</h2><p>(文档含英文原文和中文翻译) 中英文对照外文翻译 JSP技术 Java Server Pages(JSP)是一种基于web的脚本编程技术,类似于网景公司的</p><p>服务器端Java脚本语言—— server-side JavaScript(SSJS)和微软的Active Server Pages(ASP)。与SSJS和ASP相比,JSP具有更好的可扩展性,并且它不专属于任何一家厂商或某一特定的Web服务器。尽管JSP规范是由Sun公司制定的,但任何厂商都可以在自己的系统上实现JSP。 在Sun正式发布JSP(Java Server Pages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照Sun的说法,JSP能够适应市场上包括Apache WebServer、IIS4.0在内的85%的服务器产品。 本文将介绍JSP相关的知识,以及JavaBean的相关内容,当然都是比较粗略的介绍其中的基本内容,仅仅起到抛砖引玉的作用,如果读者需要更详细的信息,请参考相应的JSP的书籍。 1.1 概述 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功能。JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。下面我们简单的对它进行介绍。 JSP页面最终会转换成servlet。因而,从根本上,JSP页面能够执行的任何任务都可以用servlet来完成。然而,这种底层的等同性并不意味着servlet和JSP 页面对于所有的情况都等同适用。问题不在于技术的能力,而是二者在便利性、生产率和可维护性上的不同。毕竟,在特定平台上能够用Java编程语言完成的事情,同样可以用汇编语言来完成,但是选择哪种语言依旧十分重要。 和单独使用servlet相比,JSP提供下述好处: JSP中HTML的编写与维护更为简单。JSP中可以使用常规的HTML:没有额外的反斜杠,没有额外的双引号,也没有暗含的Java语法。 能够使用标准的网站开发工具。即使是那些对JSP一无所知的HTML工具,我们也可以使用,因为它们会忽略JSP标签(JSP tags)。 可以对开发团队进行划分。Java程序员可以致力于动态代码。Web开发人员可以将精力集中在表示层(presentation layer)上。对于大型的项目,这种划分极为重要。依据开发团队的大小,及项目的复杂程度,可以对静态HTML和动态内容</p><h2>JSP课后习题答案</h2><p>JSP课后习题答案 单元3 课本60页课后练习 填空题 1、tomcat服务器的默认端口是:8080 2、静态网页的内容是相对固定的,而动态网页的内容是随着访问时间的访问者发生变化。(填:动态网页或静态网页) 3、在tomcat成功安装和启动后,可以在浏览器中输入http://localhost:8080来测试安装配置是否正常。 4、在WEB-INF下必须有一个XML文件是web.xml 选择题 1、B 2、D 3、A 4、D 单元4 课本87页课后练习 填空题 1、脚本程序是一段在客户端请求时需要先被服务器执行的java 代码,它可以产生输出,同时也是一段流控制语句。 2、在jsp的3种指令中,用来定义与页面相关的指令是Page指令;用于在jsp页面中包含另一个文件的指令是Include指令(静态包含);用来定义一个标签库以及其自定义标签前缀的指令是Taglib指令。 3、<jsp:include>动作元素允许在页面被请求时包含一些其他资源,如一个静态的HTML文件和动态的JSP文件。</p><p>4、Page指令的MIME类型的默认值为text/html,默认字符集是iso-8859-1 。 5、Jsp的隐藏注释格式为<%-- --%>或者<%--comment--%> Jsp的输出注释的格式是。 选择题 1、A 2、A 3、D 4、C 5、B 6、D 简答题(答案在课本79页) 请查阅资料并结合课堂上所讲内容,阐述include静态包含和动态包含<jsp:include>指令的区别。 答:动态include指令是在执行时才将对包含的文件进行处理,要进行编译,可以带参数;静态的include的指令是简单的将两个文件进行合并,使其成为一个新的文件。 单元5 课本130页课后练习 填空题 1、在jsp内置对象中,用于请求相关的对象是Request对象。该对象可以使用getParameter(String s)方法来获取表单元素提交的信息。 2、Response对象中用来动态改变contentType 实型的方法是setContentType() 3、Session对象封装了属于客户会话的所有信息,该对象可以使用setAttribute()方法来设置指定名字的属性。</p><h2>jsp试题及答案</h2><p>JSP 编程技术与应用及答案 、选择题 1、下面哪一个不是动态网页技术( )。 ( A) ASP (B) JSP (C) PHP (D) HTML 2、在JSP程序中只有3种编译指令,分别是加载指令、标记数据库指令和( ) (A)网页指令(B)描述指令(C)取代指令(D)释放指令 3、在JSP系统环境中常用( )作为其虚拟机 (A)TOMCAT( B)J2SDK ( C Servlet ( D)WEB艮务器 4、P age指令中的“ contenType ”属性是用于指出( )。 (A ) 数据库类型(B) 网页类型() 服务器类型(D) 用户类型 5、字节型(byte )数据类型的取值范围是( )。 ( A) -128---127 ( B) -127---128 ( C) -32768---32767 ( D) -32767---32768 6、“include ”的指令作用是把JSP程序、HTML网页或其它的( )嵌入到当前的JSP网页中。 (A)可执行程序(B)文本文件(C)批处理文件(D) ASP 代码 7、利用JSP 动作可以动态插入文件、重用JavaBean 组件、重定向到其它页面和( )等。 (A) 为Java 插件提供参数(B) 向其它页面发出请求 (C)解释执行JSP语句(D) 向客户端发出请求 & () 是JSP中最基本的对象,它是用户与服务器进行交互的基础。 (A) Response对象(B) Session 对象 ( C) Application 对象( D) Request 对象 9、可以实现不同网页之间的数据共享,而且还可以实现跨机共享数据的JSP对象是( )。 (A) Response对象(B) Session 对象 ( C) Application 对象( D) Request 对象 10、Dreamweaver MX^( )公司的产品。 ( A) Microsoft ( B) Adobe ( C) Sun ( D) Macromedia 二、填空题: 1、JSP是__________ 司首创的一种新型动态网页编程技术。</p><h2>JSP应用与开发技术课后习题答案</h2><p>第1章 1.什么是静态网页?什么是动态网页?两者的区别是什么?试举例说明。 答:在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。你编的是什么它显示的就是什么、不会有任何改变。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。静态网页的网址形式通常为:,也就是以.htm、.html、.shtml、.xml等为后后缀的。在HTML格式的网页上,也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字母等,这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。 我们将静态网页的特点简要归纳如下: (1)静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”; (2)网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件; (3)静态网页的内容相对稳定,因此容易被搜索引擎检索; (4)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难; (5)静态网页的交互性交叉,在功能方面有较大的限制 动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见形式,而是以.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”,如有这样一个动态网页的地址为:这就是一个典型的动态网页URL形式。这里说的动态网页,与网页上的各种动画、滚动字幕等视觉上的“动态效果”没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,采用动态网站技术生成的网页都称为动态网页。 我们将动态网页的一般特点简要归纳如下: (1)动态网页以数据库技术为基础,可以大大降低网站维护的工作量; (2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等; (3)动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页; (4)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求。 静态网页与动态的区别 程序是否在服务器端运行,是重要标志。在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、https://www.doczj.com/doc/b45148336.html,、CGI等。运行于客户端的程序、网页、插件、组件,属于静态网页,例如html页、Flash、JavaScript、VBScript等等,它们是永远不变的。 2. 什么是B/S模式?什么是C/S模式?试举例说明。 答:即浏览器服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。 客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 这种模式,我们通常将其成为瘦客户端模式。 典型的系统:网上银行、网上书店、Blog等等 客户机/服务器(Client/Server,C/S)模式 即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心、以客户机为网络基础、在信息系</p> <div> <div>相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="10839079"><a href="/topic/10839079/" target="_blank">jsp题库及参考答案</a></li> <li id="12273631"><a href="/topic/12273631/" target="_blank">jsp题库</a></li> <li id="313150"><a href="/topic/313150/" target="_blank">jsp课后答案</a></li> <li id="21518702"><a href="/topic/21518702/" target="_blank">jsp题库22页版含答案</a></li> <li id="20571003"><a href="/topic/20571003/" target="_blank">jsp应用开发技术</a></li> </ul> </div> </div> </div> <div class="container"> <div>文本预览</div> <div class="textcontent"> </div> </div> </div> <div class="category"> <span class="navname">相关文档</span> <ul class="lista"> <li><a href="/doc/c79868494.html" target="_blank">JSP程序设计习题解答</a></li> <li><a href="/doc/e417767459.html" target="_blank">JSP试题及答案2016</a></li> <li><a href="/doc/0514167697.html" target="_blank">jsp题库及参考答案要点</a></li> <li><a href="/doc/4413152208.html" target="_blank">jsp课后习题答案</a></li> <li><a href="/doc/6012988537.html" target="_blank">JSP复习题及部分答案</a></li> <li><a href="/doc/ab2652925.html" target="_blank">JSP笔试题及标准答案</a></li> <li><a href="/doc/de12266545.html" target="_blank">JSP课后习题参考标准答案</a></li> <li><a href="/doc/fb3994480.html" target="_blank">jsp-servlet题库(附答案)</a></li> <li><a href="/doc/2914664029.html" target="_blank">JSP课后习题答案</a></li> <li><a href="/doc/633578503.html" target="_blank">jsp题库及参考答案</a></li> <li><a href="/doc/797197902.html" target="_blank">JSP内部测试笔试题和答案</a></li> <li><a href="/doc/c12296807.html" target="_blank">jsp考试题及答案</a></li> <li><a href="/doc/eb16788660.html" target="_blank">jsp题库及参考答案</a></li> <li><a href="/doc/0e6984854.html" target="_blank">jsp考试试题及答案</a></li> <li><a href="/doc/4813085411.html" target="_blank">Java Web 复习题集(1)期末考试题库(不含答案)</a></li> <li><a href="/doc/6d12193496.html" target="_blank">JSP 复习题及参考答案要点</a></li> <li><a href="/doc/927312352.html" target="_blank">jsp题库及参考答案</a></li> <li><a href="/doc/dd4468659.html" target="_blank">JSP习题及参考答案</a></li> <li><a href="/doc/fb3226217.html" target="_blank">JSP试题-带答案</a></li> <li><a href="/doc/276289550.html" target="_blank">JSP课后习题参考答案</a></li> </ul> <span class="navname">最新文档</span> <ul class="lista"> <li><a href="/doc/0619509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0a19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9619184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3319258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d719211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a519240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9019184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8819195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8319195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7b19336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7019336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6819035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6819035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4219232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3b19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2a19396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2c19396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1619338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/e619066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/b019159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "b44ea4d784254b35eefd3442"; </script> <script type="text/javascript">bdtj();</script> <footer class="footer"> <p><a href="/tousu.html" target="_blank">侵权投诉</a> © 2022 www.doczj.com <a href="/sitemap.html">网站地图</a></p> <p> <a href="https://beian.miit.gov.cn" target="_blank">闽ICP备18022250号-1</a>  本站资源均为网友上传分享,本站仅负责分类整理,如有任何问题可通过上方投诉通道反馈 <script type="text/javascript">foot();</script> </p> </footer> </body> </html>