JSP复习1第一章JSP初步1.3JSP工作原理(1)JSP的工作原理JSP文件通过JSP引擎自动被编译成Servlet程序。。。。。(P3)(2)JSP运行环境的搭建JDK、MyEclipse的安装步骤、配置。练习题1.下列关于JSP应用程序执行的描述正确的是()。AJSP页面在每次执行前都必须经过翻译和编译后生成.class文件。BJSP页面需要下载到本地浏览器中执行。CJSP页面的执行是在JSP容器中完成的,需要JVM(Java虚拟机)的支持。DJSP页面只需要有JVM(Java虚拟机)就可以单独运行。2.JSP的工作原理3.在JSP页面中获取当前系统时间,并指定显示格式。(P13)2第二章JSP辅助知识2.1知识点(1)HTML文本结构熟悉HTML的基本组成(P15)(2)表单元素表单提交的两种方法。(3)JavaScript语法(4)Web体系结构熟悉理解Web应用程序的三层架构(P28)练习题1、HTML页面中,定义浏览器标题的Title标记应该写在()标记中。AHTML/HTMLBHEAD/HEADCBODY/BODYDXML/XML2.以下标记符中,没有对应的结束标记的是()。A.bodyB.brC.htmlD.title3.在HTML中,formaction=?,action表示()。A.提交的方式B.表单所用的脚本语言C.提交的URL地址D.表单的形式4.下列JavaScript的循环开始语句中,正确的是()。A.fori=1to10B.for(i=0;i=10)C.for(i=10;i++)D.for(i=0;i=10;i++)5、Web应用程序使用的三层体系结构包括:()A.表示层、逻辑层和业务层B.表示层、逻辑层和数据层C.逻辑层、业务层和数据层D.表示层、业务层和数据层3第三章JSP语法详解3.1JSP页面的组成(1)JSP页面的组成元素3.2JSP注释理解三种注释方式:!—注释--、%--注释--%、//注释,以及他们之间的区别3.3JSP脚本元素3.3.1声明语句(1)掌握声明的方法,声明变量的有效范围、生命周期(P36)(2)理解P37网页计数器代码注意:在JSP页面中声明的变量在编译成Servlet类后,其变量定义在所有方法之外(全局变量)3.3.2脚本段(1)脚本段标记%脚本段%(2)脚本段与HTML元素嵌套使用P37示例代码注意:脚本段中,不可定义方法,脚本段相当于编译后的Servlet类中的方法,方法中可调用方法但不可定义方法。3.3.3JSP表达式(1)表达式%=变量或带返回值的方法名称(2)P38表达式的代码示例注意:表达式相当于编译后的Servlet类中的out.Print()方法3.3.4JSP指令元素(1)JSP的3种指令元素:page、include、taglib(2)指令标记:%@%(3)掌握include指令,%@includefile=”relativeURL”%,理解Page指令(4)理解使用include指令实现网页模板布局P403.5JSP动作元素3.5.1jsp:include(1)include动作使用格式及其属性P42(2)include指令与include动作区别P423.5.2请求转发jsp:forward(1)forward动作使用格式jsp:forwardpage=”文件路径或标识路径的表达式”P43(2)forward动作代码示例P433.5.3jsp:useBean(1)useBean的使用格式,哪些属性是必须的。P45(2)useBean两种使用格式的区别P46(3)useBean动作代码示例P473.5.4jsp:setProperty(1)、使用格式(2)property属性的几种格式(p48~50)3.5.5jsp:getProperty(1)、使用格式练习题1、下面()注释是JSP页面中的合法注释,并且能够在客户端的浏览器中通过查看页面源码看到注释内容。A//这是一个注释B%--这是一个注释--%C!--这是一个注释--D/**这是一个注释*/2.JSP的编译指令标记通常是指:()A)Page指令、Include指令和Taglib指令B)Page指令、Include指令和Plugin指令C)Forward指令、Include指令和Taglib指令D)Page指令、Param指令和Taglib指令3、在JSP中使用jsp:getProperty标记时,不会出现的属性是:()A.nameB.propertyC.valueD.以上皆不会出现4.在JSP中,只有一行代码:%=”A”+”B”%,运行将输出()。A、A+BB、ABC、131D、错误信息,因为表达式是错误的5.使用jsp:getProperty动作标记可以在JSP页面中得到Bean实例的属性值,并将其转换为什么类型的数据,发送到客户端。()A)StringB)DoubleC)ObjectD)Classes6、给定JSP程序源码如下,该JSP运行后输出的结果是()。(选择一项)html%intcount=1;%Count:%++count;%/htmlA)Count:1B)Count:2C)1:2D)Count:7.给定以下JSP代码片段,有2个客户依次浏览该JSP;且每个客户只浏览一次,第2个客户会看到浏览器显示()%intx=1;%%!intx=10;%X=%=++x%A)X=1B)X=2C)X=10D)X=118.在某应用程序中有2个页面index.jsp和test.jsp,它们的代码分别如下://index.jsp%@pagecontentType=text/htmlpageEncoding=UTF-8%htmlbodyindex:%=request.getParameter(name)%/body/html//test.jsp%@pagecontentType=text/htmlpageEncoding=UTF-8%!DOCTYPEhtmlhtmlbodyTest:%=request.getParameter(name)%/body/html如果以=wxy发送请求,能够显示index:wxyTest:wxy,则在程序空白处填写()语句可以实现。A%@includepage=test.jsp%Bjsp:forwardpage=test.jsp/Cjsp:includepage=test.jsp/D%response.sendRedirect(test.jsp);%9.下列变量声明在()范围内有效。()。%!DatedateTime;intcountNum;%A)从定义开始处有效,客户之间不共享B)在整个页面内有效,客户之间不共享C)在整个页面内有效,被多个客户共享D)从定义开始处有效,被多个客户共享10、给出下面的语句:10.%--X--%11.%=A.b()%12.!--%=A.b()%--13.!--Y--假设调用A.b()方法有效,并返回字符:test,下列选项中,哪项为该JSP生成的HTML?()A!--X--test!--%=A.b()%--%--Y--%BtestCtest!--test--!--Y--D%--X--%test!--%=A.b()%--11.简述include指令标识和jsp:include动作标识的差异。12、写出两种跳转方式,区别13、掌握jsp:useBean、jsp:setProperty、jsp:getProperty的使用4第四章JSP内置对象4.1请求request(1)作用(2)获取请求参数、设置参数、获取对象的几种方法1)Stringname=getParameter(“name”):获得客户端传送给服务器端的参数值,该参数由name指定2)Enumerationmydata=request.getParameterNames(data):获得客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例3)String[]mydata=request.getParameterValues(values):获得指定参数所有值4)Objectmydata=request.getAttribute(name):返回name指定的属性值,若不存在指定的属性,就返回空值(null)。5)Enumerationobjectnames=request.getAttributeNames();:返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例6)setAttribute(Stringname,Objecto):设定名字为name的request参数值,该值由Object类型的o指定7)Cookies[]cookies=request.getCookies():返回客户端的cookie对象,结果是一个cookie数组8)HttpSessionmysession=request.getSession();:取得会话对象,如果还没有会话实例,则创建新的。(3)P53页代码示例(4)获取Cookie对象代码示例P554.2响应对象respond(1)作用(2)掌握客户端与服务器端交互的流程(P57)(3)常用方法,如1)addCookie(Cookiecookie):添加1个Cookie对象,2)response.sendRedirect(Stringlocation):重定向功能,注意联系转发的使用方法与重定向的区别。4.3会话对象session(1)作用:用保存客户端信息而分配给客户端的对象(2)定义:P59第一段话(3)理解:P59最后一段话(4)常用方法1)ObjectsessionData=getAttribute(Stringname):获得指定名字的属性值,若该属性不存在,将返回null2)setAttribute(Stringname,Java.lang.Objectvalue):设定指定名字的属性值,并将其存储在session对象中3)removeAttribute(Stringname):删除指定的属性(包括属性名、属性值)4)EnumrationenumData=getattributeNames():返回session对象中存储的第一个属性对象,结果集是一个Enumeration类的实例(5)、session实现局部网页计数器代码示例P614.4多客户端共享对象application(1)作用(2)理解P62第一段话4.5Page对象(1)作用4.6页面上下文对象pageContext(1)作用(2)理解:4.6节第一段话4.7out对象(1)作用(2)在servlet中使用输出流:Printwriteout=response.getwriter()4.8config对象(1)作用(2)获取初始化参数的方法:getInitParameter(Stringname)4.9异常对象exception(1)捕获异常的方法1)、trycatchfinally2)在jsp页面的指令元素中设置错误页面:errorPage=”error.jsp”,并在该页面(error.jsp)的指令元素里设置isErrorPage=true练习题1.如果用JSP开发一个多用户的聊天程序,不用数据库存储聊天纪录,请问聊天记录最好存储在()中?A)request;B)page;C)SessionD)application2.以下代码能否编译通过,假如能编译通过,运行时得到什么输出结果()。%req