您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 《jsp程序设计》_试卷
一、简答题1、在“%!%”之间声明的变量和在“%%”之间声明的变量有什么不同?答:“%!”和“%”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号%!、%所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。“%”和“%”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。2、简述JSP中指令标记include和动作标记include有什么不同?答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。3、数据库连接对象在调用commit()方法进行事务处理时,只要事务中任何一个SQL语句没有生效,就抛出SQLException异常,在处理SQLException异常时,必须让连接对象调用rollback()方法,其主要作用是什么?答:撤销事务中成功执行过的SQL语句对数据库数据所做的更新、插入或删除操作,即撤销引起数据发生变化的SQL语句操作,将数据库中的数据恢复到commit()方法执行之前的状态。4、编写javabean就是编写一个java的类,这个类创建的一个对象称作一个bean。为了能让使用这个bean的应用程序构建工具知道这个bean的属性和方法,应在类的方法命名上遵守一定的规则。请简述其规则。答:(1)必须提供两种方法getXXX(),用来获取属性xxx的值,setXXX()方法,用来修改属性xxx的值。(2)类中方法的访问权限都必须是public的。(3)类中如果有构造方法,那么这个构造方法的访问权限也是public的,并且是无参数的。5、jsp的工作原理是什么?答:当我们访问一个JSP页面的时候,这个文件首先会被JSP引擎翻译为一个Java源文件,其实就是一个Servlet,并进行编译,然后像其他Servlet一样,由Servlet引擎来处理。Servlet引擎装载这个类,处理来自客户的请求,并把结果返回给客户6、两种数据提交方式分别是什么?有什么区别?Post和getPost不通过地址栏传递,get通过地址栏传递。7、JavaBean的特性?答:(1)、是公共的类;(2)、构造函数没有输入参数;(3)、属性必须声明为private,方法必须声明为public;(4)、用一组set方法设置内部属性;(5)、用一组get方法获取内部属性;(6)、是一个没有主方法的类,一般的Java类默认继承自Object类,而Bean不需要这种继承。二、判断对错1、在一个jsp文件中不允许有重复定义相同的指令标记。(错,import)2、可以在“%=%”之间插入一个表达式,但是不可以插入语句。(对)3、param标记不能独立使用,不必一定作为动作标记的子标记使用。(对)4、使用forward标记后,地址栏仍显示转向前的JSP页面的URL地址。(对)5、Tag文件必须使用ANSI编码保存。(对)6、Tag标记是伴随着Tag文件一同诞生的,即便写了一个Tag文件并保存到特定目录后,也就自定义出了一个标记。(对)7、同一用户在不同的服务目录中的session是互不相同的。(对)8、在Tag文件中可以使用session对象,但是该对象必须在调用该Tag文件的JSP文件中定义过。(对)9、使用File类的creatNewFile()方法创建文件和目录(错,使用mkdir创建目录)10、文件字节流的方式不能直接操作Unicode字符。(对)11、无论字段是何种属性,总可以使用getString(intcolumnindex)或getString(StringcolumnName)方法返回字段值的串表示。(对)12、当使用ResultSet的getXxxx方法查看一行记录时,不可以颠倒字段的顺序。(对)13、使用Statement对象返回结果集后,再执行添加语句或删除语句,结果集就不能输出记录了。(对)14、可以通过JDBC-ODBC桥接器访问Excel电子表格。(对)15、javabean必须存放到特定的目录中。(对)三、填空题1、在JSP文件中使用!----对HTML文本进行注释,使用%----%符号对jsp语句进行注释。2、若在JSP文件中使用中文,其编码必须使用gb2312或ISO-8859-1。3、JSP的指令标记有:page、include等。4、include动作标记的语法格式为:jsp:includepage=”文件的URL”/或jsp:includepage=”文件的URL”param子标记/jsp:include。5、forward动作标记的语法格式为:jsp:forwardpage=”要转向的页面”/或jsp:forwardpage=”要转向的页面”/param子标记/jsp:forward。6、Tag文件以.tag作为后缀名。7、Tag文件的存储目录:发布目录/WEB-INF/tags。8、JSP页面在使用Tag标记来调用一个Tag文件之前,必须使用taglib指令标记引入该Web服务目录下的标记库。9、Tag文件使用doBody标记处理JSP页面传递过来的“标记体”。10、Tag文件中也有include指令标记,其使用方法与JSP文件中的include指令标记类似。11、Tag文件中attribute指令标记的主要作用是:从jsp页面向tag文件传值,其指令格式为:%@attributename=”对象名字”required=”true|false”type=”对象的类型”%。12、Tag文件中variable指令标记的主要作用是:tag文件向调用它的jsp文件返值,其指令格式为:%@variablename-given=”对象名字”variable-class=”对象的类型”scope=”有效范围”。13、在Tag文件中使用variable指令返回一个对象给JSP页面时,必须要使用Tomcat引擎提供的内置对象jspContext,使用该内置对象的setAttribute方法存储对象名字以及该对象的引用。15、JSP的主要内置对象有session、request和response等。16、JSP中request内置对象使用getParameter方法获取表单数据。17、JSP中使用response的sendRedirect方法实现页面的跳转。18、如果用户的浏览器不支持Cookie,我们可以通过URL重写来实现session对象的唯一性。19、使用session对象的setAttibute方法添加session对象,并为添加的对象指定索引关键字。20、jsp中常用的两种数据库连接方式是:jdbc-odbc桥接和加载java驱动程序。21、使用Statement对象的executeQuery方法执行查询语句,使用executeUpdate方法执行更新语句。22、在事务处理上,数据库连接对象调用setAutoCommit(false)方法的作用是:取消连接对象的默认提交状态。23、事务是保证数据库中数据完整性与一致性的重要机制。24、javabean是一种java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。25、useBean动作标记的格式:jsp:useBeanid=”名字”class=“创建bean的类”scope=“bean有效期限”/jsp:useBean或jsp:useBeanid=”名字”class=“创建bean的类”scope=“bean有效期限”/。四、程序设计1、编写一个显示“九九乘法口决表”的JSP程序,并要求在程序中对语句进行适当的说明。htmlheadtitle嵌套for语句/title/headbody%intt=0;for(inti=1;i=9;i++){for(intj=1;j=i;j++){t=i*j;out.println(j+*+i+=+t+  );}out.println(br);}%/body/html2、编写一个Bytes方法,用来处理Request对象中的中文乱码问题。publicStringBytes(Stringstr){try{StringstrOld=str;byte[]strNew=strOld.getBytes(ISO8859-1);Stringbytes=newString(strNew);returnbytes;}catch(Exceptione){}returnnull;}3、编写两个JSP页面:main.jsp和lader.jsp,将两个JSP页面保存在同一Web服务目录中。main.jsp使用include动作标记动态加载lader.jsp页面。lader.jsp页面可以计算并显示梯形的面积。当lader.jsp被加载时获取main.jsp页面中include动作标记的param子标记提供的梯形的上底、下底和高的值。答:main.jsp:%@pagecontentType=text/html;charset=GB2312%HTMLBODYjsp:includepage=lader.jspjsp:paramname=avalue=5/jsp:paramname=bvalue=6/jsp:paramname=hvalue=10//jsp:include/BODY/HTMLlader.jsp:%@pagecontentType=text/html;charset=GB2312%HTMLBODY%StringstrA=request.getParameter(a);StringstrB=request.getParameter(b);StringstrH=request.getParameter(h);doublea=Double.parseDouble(strA);doubleb=Double.parseDouble(strB);doubleh=Double.parseDouble(strH);doublearea=(a+b)*h/2;%P梯形面积:%=area%/BODY/HTML4、编写两个Tag文件Rect.tag和Circle.tag。Rect.tag负责计算并显示矩形面积,Circle.tag负责计算并显示圆形的面积。编写一个JSP页面a.jsp页面使用Tag标记调用Rect.tag和Circle.tag。调用Rect.tag时,向其传递矩形的两个边的长度;调用时,向其传递园的半径。答:Lianxi6.jsp:%@pagecontentType=text/html;Charset=GB2312%%@taglibtagdir=/WEB-INF/tagsprefix
本文标题:《jsp程序设计》_试卷
链接地址:https://www.777doc.com/doc-2835994 .html