JSP期末复习题及答案_第1页
JSP期末复习题及答案_第2页
JSP期末复习题及答案_第3页
JSP期末复习题及答案_第4页
JSP期末复习题及答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1520163273(05)计算机162班刘虎第一、二章练习一、选择1.Inwhichtwowebapplicationdirectoriescandependentclassesandlibrariesbelocated?(choosetwo)(AE)A)/WEB-INF/libasaJARfileB)/META-INF/libasaJARfileC)/classesascompiledclassfilesD)/WEB-INF/libascompiledclassfilesE)/WEB-INF/classesascompiledclassfilesF)/META-INF/classesascompiledclassfiles2.JavaScript执行表单验证一般都发生在用户单击“提交”按钮后,数据提交服务器之前,onValidate()函数返回值为true时表示(C)。A)验证不通过,提交数据给服务器B)验证不通过,不提交数据给服务器C)验证通过,提交数据给服务器D)验证通过,不提交数据给服务器3.JSP程序在第一次载入时被JSP引擎翻译成(A)。A)Servlet文件B)Class文件C)HTML文件4.JSP和客户端交互的过程中,客户端的请求被存储在(A )对象中并发给Web服务器;Web应用程序将处理结果以(B)对象的方式返回给JSP引擎。A)RequestB)ResponseC、ServletD)HTML5.在JavaScript中弹出一个提示信息框的函数是:(C)A)messageB)warnC)alertD)以上都不是E)<jsp:forwardpage=”weather.html”>二、判断1.JSP会先解释成Servlet源文件,然后编译成Servlet类文件。(T)2.每当用户端运行JSP时,jspInit()方法都会运行一次(只会运行一次)。(F)3.JSP页面在执行时是以编译和解释式方式进行的。(F)4.在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaBean”和“Serlvet”,以Servlet为核心。(T)三、问答1.WEB容器主要有哪些功能?并请列出一些常见的WEB容器名字。Web容器给处于其中的应用程序组件提供Servlet程序编写API和运行时环境,使JSP、servlet直接跟容器中的环境变量接口交互,不必关注其他系统问题。常见的有WebLogic,Tomcat,Websphere等2.什么是B/S和C/S?B/S是Browser/Server的想、缩写,即浏览器/服务器结构,在这种结构中客户端不需要开发任何用户界面,而统一采用如IE和火狐等浏览器,通过web浏览器向web服务器发送请求,由web服务器进行处理,并将结果逐级传回客户端;

C/S是Client/Server的缩写,即客户端/服务器结构,在这种结构中,服务器通常采用高性能的PC或工作站,并采用大型数据库,客户端则需要安装专用的客户端软件3.ASP\cgi\isapi\jsp\php的全称是什么,各有什么特点?1)全称为:ASP(ActiveServer

Page)

通过在页面代码中嵌入

VBscript或JavaScript生成动态内容2)CGI(CommonGatewayInterface)允许使用不同的语言米编写适合的CGI程序,该程序被放在Web程序上运行

3)ISAPI

(InternetServerApplicationProgramingInterface)可利用服务器扩展DLL创建小型、快速的Internet服务器应用程序,并且允许在个DLL中有多个命令,这些命令作为DLL中CHttpServer对象的成员函数米实现4)JSP(

JavaServerPage)是以java为基础开发的,所以它沿用Java大的API功能5)PHP(PHP:HypertextPreprocessor)语法天似于C并且混合了Perl,C++和Java的一些特性。它是一种开源的Web服务器脚本语言,可以在页而中加入脚本来生成动态内容4.Tomcat服务器的默认端口是什么?80805.假设在本地机的helloapp应用中有一个hello.jsp,它的文件路径如下:

%CATALINA_HOME%/webapps/helloapp/jsj/hello.jsp

那么在浏览器端访问hello.jsp的URL是什么?

http://localhost:8080//webapps/helloapp/jsj/hello.jsp

6.JavaScript代码的开始标记和结束标记是什么?<scirpttype="text/javascript"></scirpt>7.简述一下JSP的运行环境配置。1)安装JDK,配置path、classpath环境变量(path中加入JDK安装路径\bin,classpath中加入JDK安装路径\lib的tool.jar和dt.jar)2)配置和安装web服务器,如Tomcat第三、四章练习一、选择1.Page指示符的language属性的作用是。(C)A)定义JSP页面的字符编码(pageEncoding)B)定义JSP页面的MIME类型C)定义JSP页面中使用的脚本语言D)定义JSP页面的描述信息2.Giventhelogin.getName()returnsajava.lang.StringvalueandgiventheJSPcode:Welcome<%=login.getName()%>Whichisequivalent?(A)A)Welcome<%out.print(login.getName());%>B)Welcome<%Writer.print(login.getName());%>C)Welcome<%response.out.print(login.getName());%>D)Welcome<%response.writer.print(login.getName());%>E)Welcome<%response.getoutputstream().write(login.getName());%>3.如果某一JSP页面的表单中,有几个复选框,name为“habit”,则该jsp提交后,通过下面(C)语句去获取用户选中复选框的值。A)request.getAttribute(“habit”);B)request.getParameter(“habit”);C)request.getParameterValues(“habit”);D)request.getHabit();4.AJSPpage,current.jsp,iscreatedtodisplaythecurrentweatherreport.Theweatherreportiscontainedinaweather.htmlpagethatisrewritteneveryfiveminutes.Whichline,appearingincurrent.jsp,ensuresthatthemostrecentversionofweather.htmlisincludedwhenevercurrent.jspisreferenced?(D)A)<%@includefile=”weather.html”%>B)<%@forwardfile=”weather.html”%>C)<%@includepage=”weather.html”%>D)<jsp:includepage=”weather.html”>E)<jsp:forwardpage=”weather.html”>5.AJSPpageneedstoinstantiateaJavaBeantobeusedbyonlythatpage.Whichtwojsp:useBeanattributesmustbeusedtoaccessthisattributeintheJSPpage?(choosetwo)(AD)A)idB)typeC)nameD)classE)scopeF)create6.下面哪项是错误的设置Bean属性值的方法(D)A)<jsp:setPropertyname="beanInstanceName"property="*"/>B)<jsp:setPropertyname="beanInstanceName"property="propertyName"/>C)<jsp:setPropertyname="beanInstanceName"property="propertyName"param="parameterName"/>D)<jsp:setPropertyname="beanInstanceName"property="*"value="{string|<%=expression%>}"/>7.使用<jsp:getProperty>动作标记可以在JSP页面中得到Bean实例的属性值,并将其转换为什么类型的数据,发送到客户端。(A)A)String

B)DoubleC)Object

D)Classes8.从HTTP请求中,获得请求参数,应该调用哪个方法?(C)

A)调用HttpServletRequest对象的getAttribute()方法

B)调用ServletContext对象的getAttribute()方法

C)调用HttpServletRequest对象的getParameter()方法9.在J2EE中,test.jsp文件中有如下一行代码:<jsp

:useBeanid=“user

”scope=“”type=“com.userBean”/>要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入(C)A)pageB)requestC)sessionD)application10.设在表单中有一组复选钮标记,如下列代码:

<formaction=”register.jsp”>

请选择喜欢的城市:

<inputtype=”checkbox”name=”city”value=”长春”>长春<br>

<inputtype=”checkbox”name=”city”value=”北京”>北京<br>

<inputtype=”checkbox”name=”city”value=”大连”>大连<br>

<inputtype=”checkbox”name=”city”value=”上海”>上海<br>

</form>

如果在register.jsp是取city的值,最适合的方法为(C)

A)Stringcity=request.getParameter(“city”);

B)String[]cities=request.getParameter(“city”);

C)String[]cities=request.getParameterValues(“city”);

D)Stringcity=request.getAttribute(“city”);11.在Jsp指令中errorPage(“url”)的意思是(C)A)将本页面设置为错误的页面B)将本页面中所有的错误的信息保存到url变量中C)为本页面指定一个错误页面D)没有具体的含义12.下列(A)语句可以获取页面请求中一个文本框的输入(文本框的名称为title)A)request.getParameter(“title”)B)request.getAttribute(“title”)C)request.getParameterValues(“title”)D)request.getParameters(“title”)13.Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D)A)<%@page%>作用于整个JSP页面。B)可以在一个页面中使用多个<%@page%>指令。C)为增强程序的可读性,建议将<%@page%>指令放在JSP文件的开头,但不是必须的。

D)<%@page%>指令中的属性只能出现一次。14.下面哪一个不是JSP本身已加载的基本类?(B)A)java.lang.*B)java.io.*C)javax.servlet.*D)javax.servlet.jsp.*15.以下(AB)是JSP中正确的注释(多选题):A)<%--comments--%>B)<%//comments%>C)<!-comments-->D)<%!/*comments*/%>16.下列变量声明在(

C)范围内有效。<%!DatedateTime;intcountNum;%>A)从定义开始处有效,客户之间不共享B)在整个页面内有效,客户之间不共享C)在整个页面内有效,被多个客户共享D)从定义开始处有效,被多个客户共享17.给定java程序User.java,代码如下:packageuser;publicclassUser{ privateStringpassword; privateStringloginName; publicStringgetLoginName(){ returnloginName; }publicStringgetPassword(){ returnpassword;}publicvoidsetLoginName(StringloginName){ this.loginName=loginName;}publicvoidsetPassword(Stringpassword){ this.password=password;}}给定user.jsp,代码片断如下:___实例化_________loginName: <jsp:getPropertyname=”user”property=”loginName”/>password: <jsp:getPropertyname=”user”property=”password”/>在浏览器上输入URL:http://localhost/user,jsp?loginName=sa&password=sa并回车,要使浏览器上显示:loginName:sa password:sa在user.jsp中的下划线处应填入以下(D)代码. (选择一项)A)<jsp:useBeanid=”user”class=”user.User”scope=”page”/><jsp:setPropertyname=”user”property=”loginName”value=”*”/><jsp:setPropertyname=”user”property=”password”value=”*”/>B)<jsp:useBeanid=”user”class=”user.User”scope=”application”/> <jsp:setPropertyname=”user”property=”loginName”value=”*”/> <jsp:setPropertyname=”user”property=”password”value=”*”/>C)<jsp:useBeanid=”user”class=”user.User”scope=”application”/> <jsp:setPropertyname=”user”property=”*”/><jsp:useBeanid=”user”class=”user.User”scope=”page”/>当前页面 <jsp:setPropertyname=”user”property=”*”/>二、判断1.在JSP中,有代码:<%=”2”+”4”%>,将输出6。(F)2.每个HttpSession对象都有惟一的ID。(T)3.被引用的Bean文件的文件名后缀为.java。.class(F)4.在JSP中,只有一行代码:<%=A+B% >,运行将输出”AB”。(F)5.给定程序源码如下:<html><%intCount=1;%>Count:<%=++Count%><html>该JSP运行后输出的结果是Count:1。(F)6.在JSP中,include指令用于将文件嵌入JSP页面。(T)7.Page指令用于定义JSP文件中的全局属性,可以在一个页面中使用多个<%@page%>指令。(T)8.在“<%!”和“%>“标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。(F)9.在一个JSP文件中,有表达式<%=2+3%>,它将输出23。(F)10.不同的用户窗口具有相同的session。(F)三、问答1.在JSP中如何使用注释?隐藏注释:<%----%>动态注释:代码段注释:///**/在JSP参数请求时,中文传递会乱码,请分析原因并给出解决办法?获取访问请求参数时乱码。解决方案:将获取到的数据通过String的构造方法使用utf-8或gbk编码重新构造一个string对象。2.获取表单提交的信息乱码。解决方案:通过在page指令的下方加上调用requst对象的setcharacterencoding()方法将编码设置为utf-8或gbk3.请写出JSP页面间三种参数传递和获取方式并简述。传递: 1、使用session,对每一个浏览器访问使都会产生一个session对象,该对象提供一个存储场所,用来存储仅对该访问者在会话活动期间打开的网页可用的变量和对象。这样就可以在web间传递对单个浏览器使用的数据。2、application,其是用来记录整个网站信息的,是记录不同浏览器的变量,无论有多少个浏览器都只会产生一个apllication请都只会产生一个application对象实例,用户可以定义application整站共享变量来实现网页间的数据传递。其定义方法是:application("变量名")=plication.getAttribute(Stringname)3、使用URL地址中的参数URL方式是实现Web间数据传递最基本的方法,操作简单,可方便实,实现不同web页面的数据传递,但安全性比较差,要传递的数据后面进行传递;如:http///testwcb.aspx?username=liming.其中?后所跟着的字符串是传递的数据;=前的是变量名获取:(1)使用cookie;cookie实在浏览页面时web服务器在浏览器端所写入的一下小文件。cookie是存放在浏览器端本机磁盘上,而不是存放在服务端的。可以在发送数据时写入cookie,接收时读取cookie完成数据在web页面间的传送。(2)使用隐藏字段来传递数据:通过在网页上制作表单交互区域,用户在浏览器端输入数据,然后通过form提交到服务器,在提交后的接受form数据的页面里就可以接收到相应的数据,即form的action页面中可以使用request对象来接收所传递的数据。(3)通过文件或数据库等数据存储媒体的数据读写方式来实现页面间的参数传递。(4)(jsp:useBean)是jsp在最重要的一个动作,使用这个动作创建新的实例对象,并分配到内存空间,通过setProperty或setXXX()方法设置参数值。参数获取:<jsp:getPropertyname=“mybean”property=“name"/>或在jsp程序段中直接调用JavaBean对象的getXXX()方法,来获取JavaBean对象的属性值。JSP页面由哪些元素构成1.模板元素

html、xml

2.注释元素

(1)html注释,显示在客户端源码中

(2)jsp注释,不会显示在客户端源码,只在jsp中

(3)单行注释与多行注释

3.指令元素

(1)page指令(2)include指令(3)taglib标签前缀找到标签描述文件和标签库的方式

4.脚本元素被转换成servlet中的实例属性和实例方法

(2)表达式,世界");转化成servlet中的out.print("你好,世界");

(3)scriptlets多个scriptlets合成一个被包含在servlet的service方法中

5.动作元素JSP中的脚本标识包含哪些元素?作用及语法格式是什么?JSP中有哪些注释?语法格式是什么?隐藏注释:<%----%>动态注释:代码段注释:///**/7.简述一下JSP中include两种实现方式,如何实现应用<jsp:include>指令包含需要传递参数的文件?include指令通过file属性来指定被包含的页面,include动作标识通过page属性来指定被包含的页面;include指令包含的文件为静态(静态包含),include动作标识包含的文件可以是动态文件也可以是静态文件(动态包含)

表单的提交方式有哪几种,区别在哪里Post和Get都是表单属性Method的可选值,Method的默认值为Get,两者的主要区别在于:在客户端,Get方式在通过URL提交数据,而Post提交后地栏不变;Get方式对提交的信息大小有限制,Post理论上没有限制。。<jsp:useBean>动作的功能是什么jsp:useBean:寻找或者实例化一个JavaBean。jsp主要内置对象有哪些,并简述其作用Out对象代表提供输出流的访问,主要用来向客户端输出各种数据类型的类容,并且管理服务器上的输出缓冲区。Request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。Response对象和Request对象相对应,用于响应客户请求,向客户端输出信息。允许直接访问HttpServletResponse对象。简述Session与Application区别。两者区别在于Session对象是会话级,只要不关闭浏览器就可用,但如果客户端长时间不向服务器发出请求,Session会自动消失,每个客户端拥有自己的Session对象,不共享,Application对象为应用程序级,所有客户的Application对象都是同一个,即所有客户共享这个内置的Application对象。四、编程1.应用JSP脚本标识实现一个简单的网站计数器。<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="UTF-8"%><%intcounter=0;intcounterFunction(){returncounter++;}%><%counterFunction();%>网站计数器

你是第<%=counter%>位访问者给定一个字符串数组classes={{"计算机13级1班","班长为张亮","学习委员为李克"},{"计算机13级2班","班长为罗科","学习委员为黄程发"}},在JSP页面中编写一个for循环或While循环从该数组中取值并输出到前台。<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="UTF-8"%><html><body><%String[][]classes={{"计算机13级1班","班长为张亮","学习委员为李克"},{"计算机13级2班","班长为罗科","学习委员为黄程发"}};for(inti=0;i<classes.length;i++){for(intj=0;j<classes[0].length;j++){%>输出为:<%=classes[i][j]%><br><%}}%></body></html>3.编写JSP页面实现教工信息录入功能,如图1所示。给定String[]dept={"信息工程学院","机电工程学院","建测学院","资环学院","理学院"},要求在JSP页面中,应用Java代码片段添加下拉列表的列表项,所在部门有信息工程学院、机电工程学院、建测学院、资环学院、理学院可选。

代码:<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="UTF-8"%><%String[]dept={"信息工程学院","机电工程学院","建测学院","资环学院","理学院"};%><html><body><h3>教工信息录入查询</h3>教工姓名:<inputtype="text"name="name"size="10">所在学院:<select><%for(inti=0;i<dept.length;i++){%><optionvalue="<%=dept[i]%>"><%=dept[i]%></option><%}%></select><inputtype="button"value="查询"></body></html>图1界面4.编写两个JSP页面purchase.jsp和balance.jsp,purchase.jsp页面提供一个表单,用户可以通过表单输入产品名称和购买数量,提交给balance.jsp页面,balance.jsp调用一个bean去完成计算总金额的任务,balance.jsp页面使用getProperty动作标记显示购买的产品及总金额。Bean类Product的代码如下:packagejxust;publicclassProduct{ Stringname; doubleprice=10.0,number=0,total=-1;//price默认10元 publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicdoublegetPrice(){ returnprice; } publicvoidsetPrice(doubleprice){ this.price=price; } publicdoublegetNumber(){ returnnumber; } publicvoidsetNumber(doublenumber){ this.number=number; } publicdoublegetTotal() {total=number*price; returntotal; }}图2输入界面图3输出计算结果purchase.jsp:<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title></title></head><bodybgcolor=#AAFF99><formaction="balance.jsp"method="post">购买商品:名称:<inputtype="text"name="name"value="">数量:<inputtype="text"name="number"value=""><inputtype="submit"value="提交"></form></body></html>Balance.jsp<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%><jsp:useBeanid="tri"class="LLL.Product"scope="request"></jsp:useBean><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>Inserttitlehere</title></head><body><jsp:setPropertyproperty="*"name="tri"/>商品名称:<jsp:getPropertyproperty="name"name="tri"/>总金额:<jsp:getPropertyproperty="total"name="tri"/></body></html>第五、六章练习一、选择1.假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放在什么目录下?(D)

A)helloapp/HelloServlet.class

B)helloapp/WEB-INF/HelloServlet.class

C)helloapp/WEB-INF/classes/HelloServlet.class

D)helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class2.WhichtwoHTTPmethodsareusedtoprocessfromdatainaServlet?(choosetwo)(AC)A)doGetB)doPutC)doPostD)doTraceE)doSubmitF)doProcess3.Withinawebapplicationdeploymentdescriptor,whichmapsthecom.example.LoginServletservletto/utils/LoginServlet?(D)A)<servlet><servlet-class>com.example.LoginServlet></servlet-class><url-pattern>/utils/LoginServlet</url-pattern></servlet>B)<servlet-mapping><servlet-class>com.example.LoginServlet></servlet-class><url-pattern>/utils/LoginServlet</url-pattern></servlet-mapping>C)<servlet><servlet-mapping><servlet-class>com.example.LoginServlet></servlet-class><servlet-name>LoginServlet</servlet-name><url-pattern>/utils/LoginServlet</url-pattern></servlet-mapping></servlet>D)<servlet><servlet-name>LoginServlet</servlet-name><servlet-class>com.example.LoginServlet></servlet-class></servlet><servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/utils/LoginServlet</url-pattern></servlet-mapping>4、给定某程序的片断如下,用户在浏览器地址栏中键入正确的请求URL并回车后,在控制台上显示的结果是(A)publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{System.out.println(“get”);}PublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)ThrowsServletException,IOException{System.out.println(“post”);}A)getB)postC)getD)postPostGet5.WhichretrievesallcookiessentinagivenHttpServletRequestrequest?(A)A)request.getCookies()B)request.getAttributes()C)request.getSession().getCookies()D)request.getSession().getAttributes()6.GiventheservicemethodofanHttpServlet:publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Httpsessions=request.getSession();//insertcodehere.line16}Whichstatement,insertedatline16,unbindsanattributefromasession?(C)A)session.unbind(“key”);B)session.remove(“key”);C)session.removeAttribute(“key”);D)session.unbindAttribute(“key”);7.GivenanHttpServletRequestrequest,whichretrievesanobjectoftypeAccountwithIdof“account”?(A)A)Accountaccount=request.getResource(“account”)B)Accountaccount=request.getAttribute(“account”)C)Accountaccount=request.getParameter(“account”)D)Accountaccount=(Account)request.getResource(“account”)E)Accountaccount=(Account)request.getAttribute(“account”)F)Accountaccount=(Account)request.getParameter(“account”)二、判断1.Servlet是一种用java语言编写的客户端程序。(F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论