第12章JSP
12.1什么是静态网页?什么是动态网页?区别的标识什么?
【答】静态网页是由用户使用文本编辑器创建和编辑的,通常这类网页中的内容不会改变,在浏览器中每次查看结果相同。动态网页是但浏览器访问Web服务器时由应用程序动态创建的,应用程序根据浏览器的不同要求,创建不同类型的HTML文档,由于对浏览器每次请求的响应都是临时生成的,因此用户通过动态网页看到的内容可根据需要不断变化。
静态网页的后缀名通常为.htm、.html、.shtml、.xml,动态网页的后缀名通常为.asp、.jsp、.php、.perl、.cgi,因此二者的区别主要是后缀名不同。
12.2什么是动态网页技术?它在服务器端执行还是在客户端执行?主要的特点是什么?
【答】动态网页技术是当浏览器访问Web服务器时,在服务器端执行应用程序,根据浏览器的不同请求,动态创建不同内容的HTML文档,再将该HTML文档返回给客户端的浏览器。它是在服务器端执行。主要特点是扩充了网页功能,增强了网页的动态特性。即使同一个Web页也会因用户不同的需求而显示出不同的内容。
12.3什么是JSP?JSP有什么特点?JSP与java有什么关系?
【答】JSP是Sun公司推出的动态网页技术,它在HTML文档中直接嵌入Java语言,JSP的特点是平台无关性、运行效率高、可重用性强、数据库连接方便、安全性好。java是一种编程语言,和C语言有些相似,HTML也是一种编程语言,是用来做网站的页面的,如果把JAVA语言写进HTML语言里面,就是JSP。
12.4简述其他动态网页的特点,并说明JSP具有哪些优势【答】其他动态网页有ASP、PHP、PERL、CGIASP的特点:
(1)ASP是一种程序语言,无须编译.
(2)为纯文本文件.
(3)独立于浏览器.
(4)源程序不会让客户端看到.
(5)可与任何ActiveXScript语言兼容使用.
(6)实现复杂数据库操作.PHP的特点:
PHP是一种跨平台的服务器端的嵌入式脚本语言.它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝多数数据库。PHP是完全免费的,可以不受限制地获得源码,甚至可以从中加进自己需要的特色。
PERL的特点:Perl是按GNUPublicLicense和ArticticLicense两种许可证形式分发的,其实质是开源软件、自由软件的,原先运行于UNIX和类UNIX系统,现在已可以方便地在OS/2,Windows9x,Windows/NT等系统下运行。Perl是一种解释运行的语言,和BASH程序一样,一般Perl程序的第一行需注明自己是一个Perl程序而不是Shell程序,所以一般将下面一行语句:#!/usr/bin/perl作为文件的第一行。
CGI的特点:运行速度快。做同样的事情Java开销较大,因此是解释执行的。
兼容性好。并非所有的浏览器都支持Java,而那些支持Java的浏览器也不能在所有平台上运行。可以用任何一种你熟悉的高级语言如C、C++、Cshell或VB来书写CGI程序。特别有一种叫Perl的语言,是现在写CGI,尤其是表单类程序的首选。
12.5什么是Servlet?JSP与Servlet有什么关系?
【答】Servlet是用Java语言编写的、协议和平台都独立的服务器端组件,实现动态网页技术。Servlet使用的是ServletAPI,不是Java的核心类库,没有包含在JDK中,它有Tomcat提供。JSP是Servlet功能的扩充。
12.6JSP技术与Applet有什么区别?
【答】applet是客户端的程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果,servlet是服务端器的程序,用于实现服务器功能的扩充,响应客户端请求,JSP则是对servlet简化,用于方便输出动态页面。
12.7JSP文档与HTML文档有什么关系?JSP文档能够在JDK中运行吗?它需要在什么环境中运行?
【答】在HTML文档中嵌入Java语言,记得到JSP文档,JSP文档的文件扩展名为.jsp.要正常使用jsp必须安装jdk,还需要安装jsp服务器,一般常用的有tomcatresin。运行环境:Web服务器和JSP容器
12.8什么是JSP容器?它安装在哪里?具有什么功能?
【答】JSP容器:JSPContainer,安装在Apache服务器上,JSP容器是将JSP转化成Servlet应用程序,并为Servlet提供运行环境的程序。
12.9简述JSP文档的执行过程【答】执行过程如下:
1.客户端浏览器发出jsp页面请求。
2.web服务器搜索到指定jsp文档转交jsp容器处理。
3.jsp容器将jsp文档转换成Servlet应用程序,将Servlet应用程序编译成java类文件(.class),执行servlet的类文件。
4.servlet运行时,根据客户端请求参数,返回执行结果的动态HTML文档。
12.10JSP文档由谁对其进行编译、执行?在什么时候进行编译?第一次执行与其后的执行有什么不同?
【答】jsp文档由JSP容器编译执行,当web服务器搜索到指定的JSP文档转交jsp容器时将jsp文档转换成Servlet应用程序,将Servlet应用程序编译成java类文件(.class),执行servlet的类文件。第一次执行时需要编译,其后执行不需要编译。
12.11基于JSP的Web应用结构有什么特点?
【答】基于JSP的Web应用结构有两种:两层浏览器/服务器结构,三层浏览器/服务器结构
12.12JSP中定义了哪些标记?它们扩展了HTML语言的哪些功能?
【答】声明标记,表达式标记,注视标记如下:
Jsp可以实现动态创建网页。
12.13JSP有哪些隐含对象?各对象的作用是什么?
【答】jsp隐含对象:application,session,out,request,response各对象的作用:通过request对象,可以取得客户端提交的数据信息,以及web服务器的参数。Response对象包含服务器向客户端做出的应答信息。Out对象用于在jsp文档的scriplet中输出数据。Application对象保存服务器端的jsp容器信息。Session对象保存客户端的浏览器信息。
12.14什么是application对象?什么是session对象?两者之间有何差别?
【答】application对象属于javax.servlet.ServletContext接口,session对象属于javax.servlet.http.HttpSession接口。
差别:Session是在站点的页面从打开到被关闭之前一直生存的,关闭或跳转到其它网站就会使Session死掉。而Application是从站点发布以来一直存活的,除非重启了站点服务,IIS。
从作用域为讲:Session是对应某一个用户的。而Application是整站共用的。
12.15什么是request对象?什么是response对象?两者之间有何差别?
【答】Request对象在HTTP请求期间,检索客户端浏览器传递给服务器的值。Response对象是用来控制发送给用户的信息,包括直接发送信息给浏览器,重定向浏览器到另一个URL或设置cookie的值。
区别:request是请求,即客服端发来的请求、response是响应,
是服务器做出的响应。
12.16什么是JavaBeans?它与Java和JSP有什么关系?通常在什么场合需要使用JavaBeans技术?
【答】JavaBeans是Java的对象组件技术,提供组件复用的关键技术,使用javabeans技术需要两方面:先设计javabeans所属的java类,然后在jsp文档中使用jsp操作命令声明javaBeans并为其设置属性,在jsp文档中使用的javaBeans名称是其所属类的实例,通过设置javaBeans的各种属性值,可以改变javaBeans的状态。当需要对组件重复使用时要使用javaBeans技术。