版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE82《JSP程序设计》教学指导目录第1章课程概述 31.1为什么需要开设本课程 31.2与前续课程的关系 41.3与后继课程的关系 41.4课程目标 4第2章JSP基础知识 52.1经验 52.2重点难点突破 62.3习题与解答 62.3.1单元习题 62.3.2参考答案 15第3章JSP语法知识 183.1经验 183.2重点难点突破 183.3习题与解答 183.3.1单元习题 183.3.2参考答案 25第4章JSP内置对象 274.1经验 274.2重点难点突破 284.3习题与解答 284.3.1单元习题 284.3.2参考答案 37第5章JSP数据库编程 425.1经验 425.2重点难点突破 425.3习题与解答 445.3.1单元习题 445.3.2参考答案 48第6章JavaBean技术 516.1经验 516.2重点难点突破 526.3习题与解答 526.3.1单元习题 526.3.2参考答案 56第7章Servlet技术 587.1经验 587.2重点难点突破 597.3习题与解答 607.3.1单元习题 607.3.2参考答案 69第8章JSP高级应用 718.1经验 718.2重点难点突破 72第9章Q&A 739.1JSP基础常见问题解答 739.2数据库编程常见问题解答 769.3JavaBean技术常见问题解答 769.4Servlet常见问题解答 789.5JSP高级应用常见问题解答 80第1章课程概述1.1为什么需要开设本课程随着Internet的出现和兴起,脚本语言开始把服务器编程加入到Web应用领域。为此,Sun公司推出了编程员使用的Javaservlet和JSP作为其在Web应用软件中实现服务器端编程功能的解决方案。Sun公司构想的Web应用软件结构包括HTML文件、servlet、JSP文件以及图象文件。本课程旨在使学生熟悉servlet和JSP的各种特性。由于servlet的灵活性和可移植性,它可用于定制和增强邮件服务器、Web服务器和应用服务器的运行能力。另一方面,JSP的特性使之更适用于分离Web应用软件中的静态和动态内容。换句话说,JSP有助于分离Web设计者(负责HTML中静态内容的生成)和Web开发者(负责HTML中动态内容的生成)的工作,使两者能各司其职,实现对Web应用软件开发的“分而治之”。JSP还有一个附加功能,就是它能够生成静态XML文档,这一特性大大减轻了程序员的负担,把他们从繁重的XML文档编码工作中解放了出来。此外,使用JSP时,servlet是自动生成的,从而节约了大量的为servlet编码和构建的时间。因此,JSP不仅有助于创建基于Java编程语言的独立于平台的商业应用软件,还提供了能在HTML和Java开发者之间起着卓有成效的协调作用的工具。除了向学生介绍servlet和JSP编程的概念外,本课程还将使学生熟悉:与CGI脚本和ASP相比,Servlet的优点Servlet的特征、工作方式及其生命周期会话跟踪和servlet链JSP基本原理JSP的重要性(尽管已经有了servlet)JSP页面的基本结构和组成部分为什么需要标签库规范标签库中定制标签的结构与定制标签的实现相关联的文件的结构由标签库部署定制标签本课程结束时,学生应该能理解:引入JSP不仅有助于提高服务器端的编程能力,更奠定了Java作为服务器端编程的首选语言的地位。1.2与前续课程的关系学习本课程的学生应该能执行以下任务:编写基本HTML页—熟练使用HTML标签创建用户界面。编写Java应用程序—由于JSP文件的主要部分是Java文件。因此这一点很关键,要将重点放在使学生具备创建可用于JSP的bean组件的能力。在Windows环境下工作—在Windows环境下导航。创建并维护文档—使用编辑器完成简单的编辑任务。1.3与后继课程的关系1.4课程目标在结束本模块的学习时,学生应该能:创建servlet。使用servlet跟踪、维护会话。设计JSP应用程序,程序中使用bean组件与数据库交互。在JSP应用程序中实现标签库功能。分析客户需求,决定编写JSP应用程序要用的机制。区分JSP页面的各种组成部分。使用HTML创建图形用户界面。使用JSP元素创建应用程序,实现在数据库中检索数据。在JSP应用程序中使用Javabean。使用标签库分离应用程序中的静态和动态内容。编译JSP应用程序。执行JSP应用程序。处理运行时错误。第2章JSP基础知识2.1经验由于JSP技术的重点在于隔离动态和静态内容,因此本节课开始时,教师可以先和学生一起探讨网络应用程序组件是怎样引用静态和动态内容的。从讲解客户和服务器端脚本的差别开始上这节课。可举一些日常生活中的例子解释为什么需要服务器端脚本编程以及服务器端脚本编程的高效性。JSP的好处就在于能廓分Web设计者和Web开发者的工作性质,从而使开发人员得以专注于业务逻辑的实现,不必过问HTML中静态内容的可视化设计和显示输出。应该让学生理解Servlet超越CGI脚本和ASP的优势。在实现部分,详细讨论以下几点:ServletAPI的层次结构Servlet的生命周期本章提到的客户指浏览器,服务器指运行servlet的Web服务器。servlet的执行结果以HTML形式输出可显示在客户中。区分GET和POST方法。讨论部署servlet的不同方法,如J2EE和JWS。另外,论述PATH和CLASSPATH变量的重要性。2.2重点难点突破利用下面这个例子解释客户脚本编程和服务器端脚本编程的差别。你准备使用你的ID和密码登录某网站。这时需要对这些字段检查其有效性如下:检查这些字段是否为空白:完成这项检查只需执行客户端程序即可。如果在服务器端做同样的检查,不仅需要更长的处理时间还会增加网络的开销。检查用户ID和密码是否有效:这项验证工作必须在服务器端完成,因为验证ID和密码需要用到服务器内的数据库。利用去饭馆吃饭的例子,说明三层架构的概念。老张去饭馆,先跟服务生要菜单看,这就是表述层,再跟服务生点菜,服务生拿着菜单去交给后台大厨,这就是业务逻辑层,大厨做好菜再让服务生拿上来,这就是数据访问层。2.3习题与解答2.3.1单元习题一、填空题1.Tomcat服务器的默认端口是。2.异常的处理,可在该方法的代码段中包含3类代码:、和代码块。3.JSP文件最终会转换为文件。4.在JSP文件中汉字所使用的编码机制是。5.JSP的实质是。6.JSP的英文全称是。7.电子商务的开发标准是。8.JSP预加载的类名是、、和。9.java的数据类型分为两种,它们分别是和。10.java基本类型包括、、和。11.java引用类型包括、和。12.java中类型之间有两种转换方法:和。13.的内容是相对固定的,而的内容会随着访问时间和访问者发生变化。14.是按一定的结构和规则组织起来的相关数据的集合。15.JSP服务器端运行环境的搭建通常有三种方案;、和。16.在JDK环境变量配置中,必须配置的两个变量是和。17.在Tomcat成功安装和启动后,可以在浏览器中输入_______________或_____________来测试安装配置是否正常。18.列举三种JSP的开发工具:、和。19.在WEB-INF下必须有的一个XML文件是。20.常见的Web服务器有、和。21.为了使得JSP中能正常显示中文信息,必须在page指令中设置charset的值为。22.在传统的网页HTML文件中加入和JSP标记,就构成了JSP网页(扩展名为.jsp)。23.具有交往性的网站使用户能够直接与网站或者网站的其他用户进行信息交流。不具备交往性的网站一般称为。24.是指其页面信息可以根据需求或者用户的浏览状况,实现与用户的交流和页面信息自动更新的网站。25.开发工具可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。26.在动态Web开发工具中,哪一种开发工具具有“一次编写、处处运行”的特点。27.是一种用于构建在Java平台上发布的应用程序、Applet和组件的开发环境。28.Java源程序的扩展名为java,经java编译器编译后的文件,其扩展名为。29.Java的特性,使得同一个Java类文件可以用于运行在所有Java的系统平台上,即。30.Java语言的源程序代码由编译单元组成,每个Java源文件可以包含的元素有、引入类声明、和接口声明。31.在Java中使用、和循环控制流程的结构,并且支持方法的调用。循环结构有三种循环语句:for、和do-while循环。32.HTML是一种标记语言,使用各种标记格式化文本信息。在HTML页面里以标记页面的起始,标记页面的标题,标记页面的主体内容。33.JavaScript是一种并且安全性较强的脚本语言。JavaScript语句在客户端浏览器被解释执行,提供响应并且具有处理事件的能力并被嵌入到HTML文件之中。二、判断题1.JSP(JavaServerPages)是由Sun公司在Java语言上开发出来的一种静态网页制作技术。()2.charset=GB2312指明了页面中html静态内容的编码方式。()。3.charset=GB2312指明了页面中html动态内容的编码方式。()。4.学习JSP并不需要学习JavaBean。()5.JSP的执行肯定要经过Servlet才能执行。()6.JSP就是ASP,它们没什么区别。()7.JSP不带Session的管理。()8.不能应用JSP制作聊天室。()9.JSP不带Application处理。()10.在JSP开头并不需要<%pagelanguage="java"%>这句话。()11.Myname与myname是同样的两个变量。()12.静态网页的每个网页都有一个固定的URL,且网页URL以.html、.htm、.shtml等常见形式为扩展名,而不含“?”。()13.静态网页的每个网页都有一个固定的URL,且网页URL以.html、.htm、.shtml等常见形式为扩展名,但可以包含“?”。()14.通常,静态网页不需要数据库的支持,而动态网页却需要数据库的支持。()15.通常,静态网页需要数据库的支持,而动态网页却不需要数据库的支持。()16.动态网页是指在接到用户访问要求后动态生成的页面,页面内容会随着访问时间和访问者发生变化。()17.静态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页。()18.CGI的中文全称叫通用网关界面。()19.一台普通的计算机不需要做任何配置就可以成为Web服务器。()20.一台普通的计算机要想成为Web服务器,必须通过相应的程序(如IIS、PWS和Apache等)来实现。()21.JSP拥有Java语言“一次编写,各处运行”的特点,几乎可以运行在所有平台上。()22.运用JSP技术进行开发可以将内容的生成和显示相分离。()23.在维护方面,B/S结构的维护比C/S困难,维护开支更大。()24.在安全性方面,B/S结构对安全的控制能力比C/S结构强。()25.在重用性方面,B/S程序侧重整体性考虑,构件的重用性不是很好,而C/S一般采用多重结构,要求构件有相对独立的功能,能够相对较好地实现重用。()26.JSP页面在第一次打开时速度较慢,因为要将JSP文件转换成Servlet文件。()27.在服务器端运行环境的搭建中,Tomcat既可以作为JSP引擎,也可以作为Web服务器。()28.在JDK环境变量的配置中,path的功能是说明java实用程序所在的位置,而CLASSPATH的功能是说明类和包文件的搜索路径。()29..html文件可以由浏览器直接解释执行,而.jsp文件不能由浏览器直接解释执行,必须由JSP引擎解释执行。()三、选择题1.下面哪一个不是JSP本身已加载的基本类?()(A)java.lang.*(B)java.io.*(C)javax.servlet.*(D)javax.servlet.jsp.*2.从“员工”表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:()(A)Select*from员工where姓名=’_玛丽_’(B)Select*from员工where姓名=’%玛丽_’(C)Select*from员工where姓名like‘_玛丽%’(D)Select*from员工where姓名like‘%玛丽%’3.Web应用程序打包后的扩展名是:(单选)()(A)EAR(B)WAR(C)JAR(D)RAR4.可以用于发送邮件的协议有:(多选)()(A)Pop3(B)SMTP(C)FTP(D)IMAPJsp在转译阶段生成文件的扩展名是()(A)class(B)java(C)exe(D)bin下面的说法错误的是:(单选)()(A)Jsp可以处理动态内容和静态内容(B)在Jsp最终会编译成字节码后执行(C)在jsp中可以使用脚本控制Html的标签生成(D)Jsp中不能使用//注释Java脚本中的代码7.${empty""}的结果是:(单选)()(A)notnull(B)null(C)true(D)false8.一个Web应用程序的目录由两部分组成,()。(选择三项) (A)一个classes目录,还有一个包含了html、Servlet、JSP等文件的目录 (B)一个包含公有资源的目录,还有一个私有的目录 (C)一个Web应用的根目录,和在根目录下的WEB-INF目录 (D)一个可以访问任何文件的目录,一个禁止下载其中资源的目录 9.在JAVA中,当发生404错误,浏览器会显示默认的页面,为了使得当发生404错误时,打开自己设计的文件:404Error.html,()在Web.xml中配置。(选择一项) (A)<error><error-code>404</error-code><location>/errors/404Error.html</location></error> (B)<error><error-type>404</error-type><location>/errors/404Error.html</location></error> (C)<error><exception-type>javax.servlet.$404Exception</exception-type><location>/errors/404Error.html</location></error> (D)<error><error-code>404</error-code><location>/errors/404Error.html</location></error> 10.在J2EE中myWebApp是一个web应用程序的根目录,当在浏览器中输入http://localhost:8080/myWebApp/时,会自动打开该目录下的start.jsp文件。为了达到这个要求,需要在web.xml中添加如下代码。()(A)<welcom-file>start.jsp</welcom-file> (B)<welcom-file-list>start.jsp</welcom-file-list> C <welcom-list><welcom-file>start.jsp</welcom-file></welcome-list> D <welcom-file-list><welcom-file>start.jsp</welcom-file></welcom-file-list> 11.JSP代码<%=”1+4”%>将输出((A)1+4(B)5 (C)14 (D)不会输出,因为表达式是错误的12.aa.jsp文件如下:<%!staticinti=0;intj=0;%><html><body><%for(;i++<2;){out.print(j++);out.print(“”);}%></body></html>有两个客户依次使用浏览器浏览aa.jsp,且每个客户只浏览aa.jsp一次,那么第二个客户看到浏览器显示().(选择一项)(A)01 (B)12 (C)34 (D)56 (E)什么也没有13.在J2EE中,下面对JSP指令的描述,正确的是() (A)指令以”<%@开始,以”%>”结束 (B)指令以”<%开始,以%>”结束 (C)指令以”<”开始,以”>”结束 (D)指令以”<jsp:”开始,以”/>”结束 14.在()中存储描述web应用程序的元数据。(A)jsp (B)jar文件 (C)Tag文件 (D)web.xml15.http协议默认使用()选一项(A)8080端口 (B)7001端口 (C)80端口 (D)25端口16.在下面的所有协议中,()是发送邮件的协议。(A)SMTP (B)IAMP (C)POP3 (D)HTTP17.JSP是在()阶段生成Servlet源代码的。(A)转译 (B)编译 (C)执行 (D)响应18.下列选项中,(D)是正确的表达式(A)<%!Inta=0;%>(B)<%inta=0;%>(C)<%=(3+5);%> (D)<%=(3+5)%>19.jsp是在()阶段生成Servlet源代码的选一项(A)转译(B)编译(C)执行(D)响应20.下列语法错误的有()(多选)(A)<%!intnum%>(B)<!--helloworld--!>(C)<%=5+3%>(D)<%@pageimport=”java.io.*;java.util.*”%>21.Java是一种非常高效的编程语言,下列不属于其特性的是()。(A).简单、跨平台、分布式(B).健壮性和安全性(C).基于对象、解释运行(D).多线程、网络功能强大22.在JDK的工具包中用来编译Java源文件的工具是()。(A).Javac(B).Javap(C).Java(D).Javah23.在Java源程序代码中,使用()语句把当前文件放入所指向的包中。(A).Import(B).publicclass(C).package(D).interface24.在Java中,标识符号以字符或下划线“”或“$”符号开头,后面可以包含字母、下划线、“$”或数字,下列选项中不能作为标识符的是()。(A).DateOfYear(B).Public(C).$System(D).Win32Systemvar25.在静态Web中,下面说法错误的是()。(A)在静态Web中可以插入GIF动画图片(B)在静态Web中可以插入JavaScript代码(C)在静态Web中可以插入Java片段代码(D)在静态Web中可以插入Flash动画26.在ASP开发工具中,下面说法错误的是()。(A)在页面中可以插入Java片段代码(B)在页面中可以插入Flash动画(C)在页面中可以插入JavaScript代码(D)在页面中可以插入GIF动画图片27.在安装JDK后,用户需对JDK设置三个系统变量,下列不属于其中变量名的是()。(A)JAVA-HOME(B)CATALINA-BASE(C)classpath(D)path28.配置JDK和Tomcat的系统变量时,既设置JDK路径又设置Tomcat路径的变量名是()。(A)classpath(B)CATALINA-HOME(C)path(D)JAVA-HOME四、问答题1.为什么JSP文件的第一次打开速度比较慢,而以后的速度会快很多?2.简述JSP开发环境的搭建。3.与Servlet相比,JSP具有哪些明显的优势?4.JSP有哪些特点?5.试阐述JSP服务器端运行环境。五、程序题1.指出下面代码的错误之处:<html><head></head><body><%@pagelanguage="java"%><%!inta1=8;stings1="Hello";out.println(s1);%></body></html>2.<%@Aimport="java.util.*"%><html><body><%!DatetheDate=newDate();{System.out.rintln("IngetDate()method");B}%>Hello!ThetimeisnowC</body></html>在以上程序中填写适当的代码使程序完成如图3-5所示的效果。在A处填写JSP指令。在B处填写返回当前日期的代码。在C处填写输出当前日期的代码。3.<%@pagecontentType="A"language="java"%><html><title>使用数组来显示横条图</title><body><%Ba[]={13,27,21,17,39};for(inti=0;i<=4;i++){out.print("第"+i+"个元素");out.print("<imgsrc=bar.jpgwidth="+C*5+"height=10><p>");}%></body></html>根据图4-14所示实例效果,将程序补充完整:在A处填写解决乱码的代码。在B处填写变量数组的类型。在C处填写实现效果所用代码。<%!intcaculate(intx,intn){intvalue=0;if(n>=1){inta=1;if(D)//计算X的n次方for(inti=1;i<=n;i++)a=a*x;n=n-1;//递归调用value=a+E;}elsevalue=value+1;F;}%><%out.print(caculate(5,3));%>本程序是一个递归调用过程,其结果等于156,将程序补充完整:在D处填写if语句的判断条件。在E处填写累加的变量。在F处填写返回值。2.3.2参考答案填空题1.80802.trycatchfinally3.servlet(或字节码)4.ISO-8859-15.Servlet6.JavaServerPage7.EJB+Servlet+JSP8.java.lang.*javax.serveet.*javax.servlet.jsp.*javax.servlet.http.*9.基本类型引用类型10.布尔类型、整数类型、字符类型和浮点类型11.组类接口12.隐性转换强制转换13.静态网页动态网页14.数据库15.J2SDK+TomcatJ2SDK+Apacher+TomcatJ2SDK+IIS+Tomcat16.PathCLASSPATH17.Http://:8080Http://localhost:808018.JCreatorEclipseDreamweaver19.Web.xml20.TomcatApacheIIS21.Gb231222.Jaca程序片段(Scriptlet)23.静态web24.动态web25.CGI26.JSP开发工具27.JSP28.Class29.跨平台一次编写,处处运行30.一个或多个包声明类31.条件分支while32.<html><head><title>33.基于对象和事件驱动用户驱动二、判断题1.(F)2.(T)3.(F)4.(F)5.(F)6.(F)7.(F)8.(F)9.(F)10.(T)11.(F)12.(T)13.(F)14.(T)15.(F)16.(T)17.(F)18.(T)19.(F)20.(T)21.(T)22.(T)23.(F)24.(F)25.(F)26.(T)27.(T)28.(F)29.(T)三、选择题1~5BDB(BD)B6~10DC(BCD)AD11~15A16~20AADA(ABD)21~28四、问答题1.JSP文件就是在HTML文件中嵌入了一些Java语言。但在执行时JSP文件会转换为Servlet文件),其中的静态HTML仅仅用来输出Servlet服务方法返回的信息。JSP页面在第一次打开时速度比较慢,因为转换成Servlet文件,这个过程需要一定时间(4分)。但如果JSP页面不是第一次被调用,那么就意味着JSP文件已经被转换为Servlet文件,那么再次请求该JSP页面时,就可以直接调用该Servlet文件执行,因此,打开页面的速度会变快。(4分)2.JSP开发环境的搭建必须经过以下几个步骤:(1)下载并安装JDK(2)配置环境变量。(3)下载并安装TomCat。(4)在Tomcat服务器中建立WEB应用程序,步骤如下:①进入Tomcat的安装目录的webapps目录,可以看到ROOT,examples,tomcat-docs之类Tomcat自带的目录;②在webapps目录下新建一个目录,起名叫myapp;③在myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;④WEB-INF下新建一个文件web.xml;web.xml中的内容可以从Root目录下的相应文件拷贝得到。⑤编写一个JSP文件first.jsp。⑥将文件复制到myapp文件夹中;⑦启动TomCat。⑧在浏览器中输入:8080/myapp/first.jsp,即可以运行该程序。评分要求:第(1)、(2)、(3)步各1分,第(4)步5分。3.(1)方便与HTML混合。 对HTML来说,JSP容易插入Java对象,使HTML更容易加动态部分,而Servlet却要对HTML的输出做特殊的处理,增加代码的编写、测试时间。(2)在开发、测试方面比Servlet方便。修改JSP后,马上就可以看到执行的结果,不需编译;而Servlet却需要编译,放入执行代码等复杂过程,将HTML的代码与Java的程序代码混合在一起增加了除错的难度。4.特点:(1)JSP编译成Servlet,是在用户第一次访问这个页面的时候所花的时间较长,后面的拥护直接从内存中读出数据。(2)Servlet仍然是解释执行的。Java虚拟机本身就是解释执行的(3)JSP虽是Servlet的延伸,但与Servlet还有很大不同。(4)在美国,EJB+Servlet+JSP几乎成了电子商务的开发标准。5.在应用JSP进行Web程序开发时,服务器端的运行环境的搭建根据Web服务器的不同而有不同的方案,通常有三种方案:(1)J2SDK+Tomcat在这种方案里,Tomcat既作为JSP引擎又作为Web服务器。(2)J2SDK+Apache+Tomcat在这种方案里,Apache充当Web服务器,Tomcat充当JSP引擎。(3)J2SDK+IIS+Tomcat在这种方案里,IIS充当Web服务器,Tomcat充当JSP引擎。五、程序题1.答案:语句out.println(s1)不能写在声明的代码之中2.pagereturntheDate<%=theDate%>3.text/html;charset=gb2312inta[i]n>=1calculate(x,n)returnvalue第3章JSP语法知识3.1经验 程序设计语言的语法知识是程序设计的基础,但基础语法知识相对比较零散,教师需要通过一些有趣的实例或真实应用的项目来进行讲解,激发学生的学习兴趣。而不要为了讲述语法而随手举例进行介绍,这样学生学习起来会很困难,更不利于后续内容的学习。3.2重点难点突破说明JSP中指令与其它程序设计语言如Java语言的语法的不同,因为实际上JSP中的基础语法是嵌入在HTML标记中的一些特殊的标记。同时,也要将JSP中的标记与ASP或ASP.NET中的标记进行区别。在这一部分内容中,特别要强调的是include指令与include动作的区别。教师可以通过多个实例进行讲述。3.3习题与解答3.3.1单元一、填空题1.在JSP规范中,可以使用两种格式的注释:一种是;另一种是。2.JSP的语法元素主要包括:、、、和。3.指令元素分为三种,它们分别是、、和4.JSP规范中描述了3种脚本元素:、和。5.是指在客户端显示的注释;而在客户端不会输出。6.<!—注释内容-->是,<%--注释内容-->是。7.可以通过选择【查看】|【源文件】显示出来的注释是;不能显示出来的注释是。8.JSP程序中要用到的变量或方法必须首先。9.是一段在客户端请求时需要先被服务器执行的Java代码,它可以产生输出,并把输出发送到客户的输出流,同时也可以是一段流控制语句。10.在JSP三种指令中,用来定义与页面相关属性的指令是;用于在JSP页面中包含另一个文件的指令是;用来定义一个标签库以及其自定义标签前最的指令是。11.JSP中标准的动作元素包括:、、、、、和。12.动作元素允许在页面被请求的时候包含一些其他的资源,如一个静态的HTML文件或动态的JSP文件。13.动作元素允许将请求转发到其他的HTML文件、JSP文件或者一个程序段。14.动作元素被用来以“name=value”的形式为其他元素提供附加信息。15.动作元素被用来在页面中插入Applet或者JavaBean。16.动作元素被用来创建一个Bean实例并指定它的名字和作用范围。17.动作元素用来设置Bean中的属性值。18.动作元素用来获得Bean中的属性值。19.Page指令的MIME类型的缺省值为,缺省字符集为。二、判断题1.会在客户端(浏览器)显示的注释是隐藏注释。()2.会在客户端(浏览器)显示的注释是输出注释。()3.<%@page%>指令不一定放在页面的头部。()4.<%@pageimport="java.util.*,java.lang.*"buffer="5kb"autoFlush="false"%>,这句代码是正确的。()5.<%@Include%>指令只能包括后缀名为.jsp的文件。()6.使用<jsp:forward>指令可以传递参数。()7.<%@Include%>指令只能包括后缀名为.jsp的文件。()8.格式如“<!—注释内容-->”的注释是隐藏注释。()9.格式如“<%—注释内容--%>”的注释是输出注释。()10.JSP编译器是不会对“<%--”和“--%>”之间的语句进行编译的,它不会显示在客户的浏览器中,也不会在源代码中被看到。()11.在JSP声明中只能一次一个的声明要用到的变量和方法。()12.在JSP中使用表达式必须以“;”作为表达式的结束符。()13.JSP中的表达式必须有返回值,且返回值被转换为字符串。()14.Page指令的language属性用于指定在脚本元素中使用的脚本语言,默认值是java,在JSP2.0规范中,该属性的值也可以是javascript和vbscript等语言。()15.即使没有使用Page指令设置charset为GB2312,JSP程序中的中文显示也不会出现乱码。()16.Page指令的所有属性都可以重复设置。()17.Page指令中只有import属性可以重复设置。()18.无论将Page指令放在JSP文件的哪个位置,它的作用范围都是整个JSP页面。()19.在使用include指令时,在被包含文件中可以使用<html>、</html>、<body>、</body>等标签,不会引发错误。()20.在使用include指令时,包含文件中的变量和方法可以与包含文件中的变量和方法同名,不会引发错误。()21.在使用自定义标签之前必须使用<%@taglib>指令引用标签库,但是,在一个页面中只能使用一次。()22.<jsp:include>动作元素允许在页面被请求的时候包含一些其他的资源,如一个静态的HTML文件或动态的JSP文件。()23.<jsp:forward>操作允许将请求转发到其他的HTML文件、JSP文件或者是一个程序段,通常请求被转发后,会停止当前JSP文件的执行。三、选择题1.Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:()(A)<%@page%>作用于整个JSP页面。(B)可以在一个页面中使用多个<%@page%>指令。(C)为增强程序的可读性,建议将<%@page%>指令放在JSP文件的开头,但不是必须的。(D)<%@page%>指令中的属性只能出现一次。2.对于预定义<%!预定义%>的说法错误的是:()(A)一次可声明多个变量和方法,只要以“;”结尾就行。(B)一个声明仅在一个页面中有效。(C)声明的变量将作为局部变量。(D)在预定义中声明的变量将在JSP页面初始化时初始化。3.page指令的()属性用于引用需要的包或类(A)extends(B)import(C)isErrorPage(D)language4.在myjsp.jsp中,关于下面的代码说法错误的是:()<%@pagelanguage="java"import="java.util.*"errorPage="error.jsp"isErrorPage="false"%>(A)该页面可以使用exception对象(B)该页面发生异常会转向error.jsp(C)存在errorPage属性时,isErrorPage是必须的属性值且一定为false(D)error.jsp页面一定要有isErrorPage属性且值为true;5.下列标签使用正确的是:(多选)()(A)<jsp:forwardpage="XXX.jsp"><jsp:paramname="xxx"value="xxx"/></jsp:forward>(B)<jsp:forwardpage="XXX.jsp"></jsp:forward>(C)<jsp:forwardpage="XXX.jsp"/>(D)<jsp:forwardpage="XXX.jsp"/><jsp:paramname="xxx"value="xxx"/></jsp:forward>6.在input.jsp中存在如下的代码:<inputtype="text"name="stuid"value="1001"/>则在display.jsp中可以使用可以使用哪些语句可以获取stuid的值:(多选)()(A) <%=request.getPramater("stuid")%>(B) ${param.stuid}(C) ${param[stuid]}(D) ${param["stuid"]}7.标签文件的扩展名是:(单选)()(A)tld (B)tag (C)dtd (D)xml8.对于<jsp:param>动作,描述正确的是()(选择两项)(A)<jsp:param>是<jsp:include>、<jsp:forward>标记的子标记(B)如果有aa.jsp代码:<jsp:forwardpage="next.jsp"> <jsp:paramname="name"value="jb-aptech"/></jsp:forward>则在next.jsp中可以使用request.getParameter(“name”);把属性name的值取出来(C)如果有aa.jsp代码:<jsp:forwardpage="next.jsp"> <jsp:paramname="name"value="jb-aptech"/></jsp:forward>则在next.jsp中可以使用request.geAttribute(“name”);把属性name的值取出来(D)如果<jsp:param>标记不放在<jsp:forward>标记内,也就是不作为<jsp:forwrd>的子标记,则使用浏览器查看时会显示错误页面。9.Jsp页面由静态内容、注释、表达式、声明和()组成选三项(A)指令 (B)EL语言(C)Scriptlet(D)动作10.jsp指令包括()选三项(A)page指令(B)taglib指令(C)import指令(D)include指令11.下列哪一种不是JSP中的注释符()。(A)<!--注释内容-->(B)/*注释内容*/(C)//注释内容(D)/**注释内容**/12.在HTML标记中有两种注释方式:<!注释内容>和()。(A).<!--注释内容-->(B).//注释内容(C)./*注释内容*/(D)./**注释内容**/四、问答题1.请说出<%@pageinclude%>、<%@include%>、<jsp:include>三者的区别?2.JSP初学者应该注意哪些问题?3.JSP中有哪五个编译器?4.使用预定义标识符,需要注意哪几点?5.使用标识符<%%>可以进行哪几个方面的应用?五、程序题1.指出下面代码的错误之处:<html><head></head><body><%@pagelanguage="java"%><%!inta1=8;stings1="Hello";out.println(s1);%></body></html>2.<%@Aimport="java.util.*"%><html><body><%!DatetheDate=newDate();{System.out.rintln("IngetDate()method");B}%>Hello!ThetimeisnowC</body></html>在以上程序中填写适当的代码使程序完成如图3-5所示的效果。在A处填写JSP指令。在B处填写返回当前日期的代码。在C处填写输出当前日期的代码。3.<%@pagecontentType="A"language="java"%><html><title>使用数组来显示横条图</title><body><%Ba[]={13,27,21,17,39};for(inti=0;i<=4;i++){out.print("第"+i+"个元素");out.print("<imgsrc=bar.jpgwidth="+C*5+"height=10><p>");}%></body></html>根据图4-14所示实例效果,将程序补充完整:在A处填写解决乱码的代码。在B处填写变量数组的类型。在C处填写实现效果所用代码。<%!intcaculate(intx,intn){intvalue=0;if(n>=1){inta=1;if(D)//计算X的n次方for(inti=1;i<=n;i++)a=a*x;n=n-1;//递归调用value=a+E;}elsevalue=value+1;F;}%><%out.print(caculate(5,3));%>本程序是一个递归调用过程,其结果等于156,将程序补充完整:在D处填写if语句的判断条件。在E处填写累加的变量。在F处填写返回值。3.3.2一、填空题1.输出注释隐藏注释2.JSP容器JSP注释指令元素脚本元素动作元素3.Page指令Include指令Taglib指令4.声明、表达式和脚本程序5.输出注释隐藏注释6.输出注释隐藏注释7.隐藏注释8.声明9.脚本程序10.Include指令Taglib指令11.<jsp;include><jsp;param><jsp:forward><jsp:useBean><jsp:getProperty><jsp:setProperty><jsp:plugin>12.<jsp;include>13.<jsp:forward>14.<jsp;param>15.<jsp:plugin>16.<jsp:useBean>17.<jsp:setProperty>18.<jsp:getProperty>19.text/htmlISO-8859-1二、判断题1.(F)2.(T)3.(T)4.(T)5.(F)6.(T)7.(F)8.(F)9.(F)10.(T)11.(F)12.(F)13.(T)14.(F)15.(F)16.(F)17.(T)18.(T)19.(F)20.(F)21.(F)22.(T)三、选择题1.(D)2.(C)3.(B)4.(A)5.(AC)6.(ABD)7.(A)8.(AB)9.(ACD)10.(ABD)11.(A)12.(A)四、问答题1.<%@pageinclude%>和<%@include%>只能包含静态文件(2分),而<jsp:include>既可以包含静态文件,又可以包含动态文件。(2分)如果文件仅是静态文件,那么这种包含仅仅是包包含文件的内容加到JSP文件中去,(2分)而如果这个文件是动态的,那么这个被包含文件也会被JSP编译器执行。(2分)2.(1)Java是大小写敏感的。(2)Java调用过程都是要加括号的。(3)JSP中截取变量的方法单一。(4)Jscript的函数在JSP中不能应用。3.(1)编译器指令<%@编译器指令%>(2)预定义<%!预定义%>。(3)运算式<%=运算式%>。(4)程序代码<%程序代码>。(5)注释<%--注释--%>4.(1)不使用”!”,直接以<%%>标识进行赋值也可以。(2)赋值后要加“;”号。(3)可以进行多个变量赋值。(4)不可以写赋值外的程序语句。5.(1)声明将要用到的变量或方法。(2)编写JSP表达式。(3)使用任何隐含的对象和任何用<jsp:useBean>声明过的对象(4)编写JSP语句(如果你在使用Java语言,这些语句必须遵从JavaLanguageSpecification)。五、程序题1.答案:语句out.println(s1)不能写在声明的代码之中2.pagereturntheDate<%=theDate%>3.text/html;charset=gb2312inta[i]n>=1calculate(x,n)returnvalue第4章JSP内置对象4.1经验必须从解释会话跟踪的重要性以及各公司如何利用它来提高知名度扩大销售开始上这节课。还可以通过讨论B2C来讲解这个概念。随着世界各地的消费者都开始尝试网上购物,各公司越来越看重网站来争取顾客。一种能帮助公司提高知名度的方法就是在网站中使用会话跟踪。论述用来实现会话跟踪的各种技术的优缺点。有关cookie的几个需要记住的要点:1. Cookie仅为域创建。Cookie的保存方法与所使用的浏览器和操作系统有关。例如,如果你使用的是WindowsNT服务器或工作站,那么cookie的创建和保存都将告之用户并根据用户的选择进行。教师还可以显示给学生看cookie是如何组织的。2. Cookie不会破坏客户计算机内的文件。然而用户仍然有权在浏览器中设置“禁止cookie”来拒绝接受cookie。但是,不接受cookie可能同时终止了某些在线服务功能。最后需要指出的是,拒绝cookie并不能隐藏用户线索,只是增加了服务器跟踪用户的难度。3. 大多数cookie在浏览器关闭后被销毁。但也可以在cookie创建时指定它的失效日期,这种指定了生存期的cookie称为“持久cookie”。隐藏的表单字段:隐藏的表单字段用来跟踪会话。它是指在用户界面中包含几个隐藏的字段,这些字段的值在提交请求时发送给服务器。对于接受请求的服务器而言,接受的值是来自普通字段还是隐藏字段没有什么差别。大多数主流浏览器都支持隐藏的表单字段,它主要针对没有注册或没有登录的客户使用。但是,这项技术仅适合在连续动态生成的表单中使用。此技术不可与静态文档、书签文档和电子邮件文档一起使用。4.2重点难点突破详细讨论购物车的例子来解释会话跟踪的概念。下面是两个会话跟踪的实现例子:(1)在你再访问网站的同时即启动消息服务,自动保存和显示用户名和密码。(2)一些网站还会跟踪你的电子邮件id,自动发送给你免费订阅的公司时事资讯。4.3习题与解答4.3.1单元填空题1.JSP中有9种内置对象,它们分别是:、、response对象、pageContext对象、session对、applicationt对象、page对象、config对象和exception对象。2.Request对象可以使用____方法获取表单提交的信息。3.客户端向服务器端提交数据的方式通常有两种:一种是提交方式;另一种是提交方式。4.在JSP内置对象中,与请求相关的对象是。5.被封装成javax.servlet.JspWriter接口,它用来向客户端输出内容。6.Out对象中用来输出各种类型数据并换行的方法是。7.Out对象中用来输出各种类型数据但不换行的方法是。8.Out对象中用来输出一个换行符的方法是。9.Out对象中用来关闭输出流的方法是。10.Out对象中用来输出缓冲区里的数据的方法是。11.Out对象中用来清除缓冲区里的数据,并把数据写到客户端的方法是。12.Out对象中用来清除缓冲区里的数据,但不写到客户端的方法是。13.Out对象中用来获得缓冲区大小的方法是。14.Out对象中用来获得缓冲区剩余空间大小的方法是。15.Out对象中用来判断缓冲区是否自动刷新的方法是。16.Request对象中用来获得服务器名字的方法是。17.Request对象中用来获得服务器的端口号的方法是。18.Request对象中用来获得客户端的IP地址的方法是。19.Request对象中用来获得客户端的计算机名字的方法是方法。20.Request对象中用来获得客户端向服务器端传送数据的协议名称的方法是。21.是同应答相关的HttpServletResponse类的一个对象,它封装了服务器对客户端的响应,然后被送到客户端以响应客户请求。22.Response对象中用来动态改变contentType属性的方法是。23.Response对象中用来把响应发送到另一个指定的位置进行处理的方法是。24.Response对象中用来设置指定名字的HTTP文件头值的方法是。25.封装了属于客户会话的所有信息。26.Session对象中用来设置指定名字的属性的方法是。27.Session对象中用来获得指定名字的属性的方法是。28.用于多个程序或者多个用户之间共享数据。29.提供了对每一个给定的服务器小程序及JSP页面的javax.servlet..ServletConfig对象的访问,该对象封装了初始化参数以及一些实用方法。30.是可以从JSP脚本程序和表达式中获得的一个内置对象,它是Object类的一个实例。31.提供了对JSP页面内所在对象及名字空间的访问。32.是java.lang.Throwable类的一个实例,它指的是运行时的异常。33.俗称“小甜饼”,是一种Web服务器通过浏览器在访问者的硬盘上存储信息的手段。35.应用cookie保存记录的基本操作包括、和。36.在JSP中如果要将封装好的cookie对象传送到客户端,可使用response对象的方法。37.读取保存到客户端的cookie,可使用response对象的。二、判断题1.Application的生命周期比Session的生命周期长()。2.Request的生命周期比Session的生命周期长()。3.当request对象获取客户端提交的汉字字符时,会出现乱码问题,解决方式是改变编码格式为UTF8。()4.使用Request对象的getRemoteAddr()方法可以获取客户端的IP地址。()5.通过Post方法提交数据,会将所有数据显示在URL地址的后面。()6.Cookie文件是存放在服务器端的。()7.在设置cookie的最大存在时间时,可以设置为负值和零。()8.JSP内置对象是指不用声明就可以在JSP页面的脚本部分使用的对象。()9.Out对象的作用范围是Application。()10.Out对象的clearBuffer()方法用来清除缓冲区里的数据,但并不把数据写到客户端。()11.Out对象的cle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年广东江门市鹤山市沙坪中学八年级下册4月学情自测语文试题 含答案
- 社会消防安全管理指南
- 面膜冷藏使用与热敷打开毛孔
- (正式版)T∕SNLT 0065-2026 滴灌春播大豆施用功能性叶面磷肥技术规程
- 2026年甘肃省白银市靖远德雅高级中学语文教师招聘笔试备考试题及答案解析
- 2026云南向诚人力资源管理有限公司招聘警务辅助人员11人考试备考题库及答案解析
- 重点项目综合督查制度
- 2026交通运输部所属事业单位第六批统一招聘126人(北京)考试参考题库及答案解析
- 2026江西省出版传媒集团有限公司招聘93人笔试模拟试题及答案解析
- 2026四川民族学院考核招聘非事业编制工作人员28人笔试备考题库及答案解析
- 2026中科国江(北京)控股集团有限公司郑州分公司招聘30人农业笔试备考试题及答案解析
- 《小兔子分萝卜》教学活动设计
- (2025年)脑卒中防治相关知识测试题库含答案(完整版)
- 辽宁大连市2025-2026年下学期高三综合模拟考试语文试题及参考答案
- 云投集团招聘笔试题目
- 3.12.2024新苏教版小学科学三年级下册第三单元第12课《石头上的植物》同步课件
- 智能新能源汽车技术虚拟仿真实训基地建设方案
- 2025安徽滁州来安县城市基础设施开发有限公司拟聘经理层管理人员笔试历年参考题库附带答案详解
- 2026中国华能集团有限公司招聘5人笔试备考题库及答案解析
- 2026中国质量检验检测科学研究院第二批编外聘用人员招聘32人笔试参考题库及答案解析
- 基层中医药适宜技术推广中心建设与管理指南
评论
0/150
提交评论