最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

《jsp程序设计》 试卷

来源:动视网 责编:小OO 时间:2025-10-01 02:07:51
文档

《jsp程序设计》 试卷

一、简答题1、在“”之间声明的变量和在“”之间声明的变量有什么不同?答:“”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。“”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Ja
推荐度:
导读一、简答题1、在“”之间声明的变量和在“”之间声明的变量有什么不同?答:“”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。“”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Ja
一、简答题

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 和get

Post不通过地址栏传递,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(int columnindex)或getString(String columnName)方法返回字段值的串表示。(对)

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动作标记的语法格式为:  或 

param 子标记

5、forward动作标记的语法格式为:    或

 

param 子标记

                                          。

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文件传值 ,其指令格式为: <%@ attribute name=”对象名字” required=”true|false” type=”对象的类型”%>。

12、Tag文件中variable指令标记的主要作用是:tag文件向调用它的jsp文件返值,其指令格式为:<%@ variable name-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动作标记的格式:

四、程序设计

1、编写一个显示“九九乘法口决表”的JSP程序,并要求在程序中对语句进行适当的说明。

嵌套for语句

<%

int t=0;

for (int i=1;i<=9;i++)

{  

for (int j=1;j<=i;j++)

    {

        t=i*j;

    out.println(j+"*"+i+"="+t

        +"   ");

    }

     out.println("
");

}

     %>

2、编写一个Bytes方法,用来处理Request对象中的中文乱码问题。

public String Bytes(String str)

    {

    try

    {

        String strOld=str;

        byte[] strNew=strOld.getBytes("ISO8859-1");

        String bytes=new String(strNew);

        return bytes;

    }

    catch(Exception e){}

    return null;

    }

3、编写两个JSP页面:main.jsp 和lader.jsp,将两个JSP页面保存在同一Web服务目录中。main.jsp使用include动作标记动态加载lader.jsp页面。lader.jsp页面可以计算并显示梯形的面积。当lader.jsp被加载时获取main.jsp页面中include动作标记的param子标记提供的梯形的上底、下底和高的值。

答:

main.jsp:

<%@ page contentType="text/html;charset=GB2312" %>

lader.jsp:

<%@ page contentType="text/html;charset=GB2312" %>

<%

   String strA=request.getParameter("a"); 

   String strB=request.getParameter("b");

   String strH=request.getParameter("h");

   double a=Double.parseDouble(strA);

   double b=Double.parseDouble(strB);

   double h=Double.parseDouble(strH);

   double area=(a+b)*h/2;

%>

梯形面积:<%=area%>

4、编写两个Tag文件Rect.tag和Circle.tag。Rect.tag负责计算并显示矩形面积,Circle.tag负责计算并显示圆形的面积。编写一个JSP页面a.jsp页面使用Tag标记调用Rect.tag和Circle.tag。调用Rect.tag时,向其传递矩形的两个边的长度;调用时,向其传递园的半径。

答:

Lianxi6.jsp:

<%@ page contentType="text/html;Charset=GB2312" %>

<%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>

以下是调用Tag文件的效果:

以下是调用Tag文件的效果:

Rect.tag:

这是一个Tag文件,负责计算矩形的面积。

<%@ attribute name="sideA" required="true" %>

<%@ attribute name="sideB" required="true" %>

<%!

        public String getArea(double a,double b) 

{ if(a>0&&b>0)

           {  

              double area=a*b ;

return "
矩形的面积:"+area;

           }

          else

{ return("
"+a+不能构成一个矩形,无法计算面积");

          }

       }

%>

<% out.println("
JSP页面传递过来的两条边:"+sideA+

       double a=Double.parseDouble(sideA);

       double b=Double.parseDouble(sideB);

       out.println(getArea(a,b));

%>

Circle.tag:

这是一个Tag文件,负责计算园的面积。

<%@ attribute name="radius" required="true" %>

<%!

        public String getArea(double r) 

{ if(r>0)

           {  

              double area=Math.PI*r*r ;

return "
圆的面积:"+area;

           }

          else

{ return("
"+r+"不能构成一个圆,无法计算面积");

          }

       }

%>

<% out.println("
JSP页面传递过来的半径:"+radius);

       double r=Double.parseDouble(radius);

       out.println(getArea(r));

%>

五、选择题

1、下面哪一个不是JSP本身已加载的基本类?(b  )

A、java.lang.*    B、java.io.*  C、javax.servlet.*  D、javax.servlet.jsp.*

2、对于预定义<%!预定义%>的说法错误的是:(c)

A、一次可声明多个变量和方法,只要以“;”结尾就行   B、一个声明仅在一个页面中有效

C、声明的变量将作为局部变量         D、在预定义中声明的变量将在JSP页面初始化时初始化

3、从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:( D )

A、 Select * from员工 where 姓名 =’_玛丽_’  B 、Select * from员工 where 姓名 =’%玛丽_’

C、 Select * from员工 where 姓名 like ‘_玛丽%’  D、 Select * from员工 where 姓名 like ‘%玛丽%’

4、下述选项中不属于JDBC基本功能的是:( D )

A.       与数据库建立连接  B.       提交SQL语句   C.        处理查询结果  D.       数据库维护管理

5、在JSP中使用标记时,不会出现的属性是:( c )

A.       name     B.       property     C.        value        D.       以上皆不会出现

6、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D  )

A.    <%@ page %>作用于整个JSP页面。 

B.   可以在一个页面中使用多个<%@ page %>指令。

C.    为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。

       D.       <%@ page %>指令中的属性只能出现一次。

7、在JSP中调用JavaBean时不会用到的标记是:( A )

       A.            B.           C.               D.      

8、关于JavaBean正确的说法是:(  A)

A、Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写

B、在JSP文件中引用Bean,其实就是用语句

C、被引用的Bean文件的文件名后缀为.java  

D、Bean文件放在任何目录下都可以被引用

9、Servlet程序的入口点是:(A  )

A、init()  B、main()  C、service()  D、doGet()

10、            不能在不同用户之间共享数据的方法是(A  )

A、通过cookie  B、利用文件系统   C、利用数据库     D、通过ServletContext对象

11 JSP在Web服务器上的运行结果:(A)

A.可以在Web浏览器看到。        B. 只能在Web浏览器看到。

12 在JSP中使用 后浏览器地址栏内的内容:(A)

A.不发生变化。                   B.发生变化。

13在JSP中使用response.sendRedirect("jack.htm"); 后浏览器地址栏内的内容:((B)

A.不发生变化。                   B.发生变化。

14在JSP中使用session.putValue("username", u_name)可以在会话中保存:((A)

    A. u_name对象。                  B. u_name的数值。

15在JSP中使用session.getValue("username")可以在会话中获取:(A)

    A. username 中的对象。            B. username的数值。

16 在浏览器解析换行被忽略,要想在页面中实现换行,需要使用:(B)

A. out.println("br")。 B. out.println("
")。

17 JavaBean的文件类型是:(A) 

A.  .classs                        B.  .java

18 JavaBean文件应保存在:(B)

A. Web服务器的发布目录下         B.  WEB-INF\\classes下

19 Connection对象用来连接:(B)

A. 数据库                         B.数据源

20 cn是Connection对象,创建Statement 对象的方法是:(B)

A. Statement st=new Statement ();       B. Statement st=cn.createStatement()

文档

《jsp程序设计》 试卷

一、简答题1、在“”之间声明的变量和在“”之间声明的变量有什么不同?答:“”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。“”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Ja
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top