一、简答题 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、T