二、判断题(每题1分,共20分)×√静态网页服务器端返回的HTML文件是事先存储好的。√动态网页服务器端返回的HTML文件是程序生成的。√Tomcat用于JSP技术所开发网站的服务器。√Web开发技术包括客户端和服务器端的技术。√Tomcat和JDK都不是开源的。×Tomcat是一个免费的开源的Serlvet容器。√在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。√JSP和Java一样具有平台独立性。√JSP在运行之前必须转换成Servlet。√JSP网页中一定包含JSP程序。×JSP第一次执行的速度要比第二次执行的速度慢。√运行JSP程序只需要浏览器即可。×开发JSP必须使用JDK工具包。√安装完JDK后,会自动配置环境变量。×Tomcat是Web服务器,不提供JSP引擎和Servlet引擎。×Tomcat的端口一旦配置好,就不可以再改变。×在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaBean”和“Serlvet”,以Servlet为核心。√JSP页面中的指令标记、JSP动作标记统称为脚本元素。×在“%!”和“%”标记之间声明的Java的变量在整个页面内有效,不同的客户之间不共享。×在“%!”和“%”标记之间声明的Java的方法在整个页面内有效。√页面成员方法不可以在页面的Java程序片中调用。×JSP中Java表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。√不可以用一个page指令指定多个属性的取值。×jsp:include动作标记与include指令标记包含文件的处理时间和方式不同。√jsp:forward标记的page属性值是相对的URL地址,只能静态的URL。×JSP页面中不能包含脚本元素。×Page指令不能定义当前JSP程序的全局属性。×每个session都有独一无二的ID,用于区分不同的session。负责处理客户请求的内置对象是request。page对象表示JSP页面本身。out对象是一个输出流,它实现了javax.servlet.JspWriter接口,用来向客户端输出数据。√respone对象主要用于向客户端发送数据。√表单信息的验证只能放在服务器端执行。×session对象是HttpSession接口类的实例,由客户端负责创建和销毁,所以不同客户的session对象不同。√session对象可以用来保存用户会话期间需要保存的数据信息。√application对象对所有用户都是共享的,任何对它的操作都会影响到所有的用户。√重定向功能是将用户从当前页面或Servlet定向到另一个JSP页面或Servlet。√转发的功能是将用户对当前JSP页面或Servlet的请求转发给另一个JSP页面或Servlet。√重定向仅仅是将用户定向到其他的JSP页面或Servlet,而不能将Request对象转发给所指向的资源。√实现转发需要两个步骤,首先在Servlet中要得到RequestDispatcher对象,然后在调用该对象的forward方法实现转发。√jsp:getProperty必须出现在其对应的jsp:usebean标签之后。JSP中的Javabean是一个Java类,对该类没有什么约束规范。JavaBean也是Java类,因此也必须有主函数。×JavaBean分为可视化组件和非可视化组件。√JavaBean的属性必须声明为private,方法必须声明为public访问类型。√创建JavaBean要经过编写代码、编译源文件、配置JavaBean这样一个过程。√在JSP页面中调用的Bean类中如果有构造方法,必须是public类型且必有参数。×部署JavaBean须在Web服务目录的WEB-INF\classes子目录下建立与包名对应的子目录,并将字节文件复制到该目录。√Javabean中,对于boolean类型的属性,可以使用is代替方法名称中的set和get前缀,创建Bean必须带有包名。√在JSP页面中使用Bean首先要使用import指令将Bean引入。√修改了Bean的字节码后,要将新的字节码复制到对应的WEB-INF\classes目录中,重新启动tomcat服务器才能生效。√使用jsp:setProperty动作标记,可以使用表达式或字符串为Bean的属性赋值。√当用户请求一个Servlet时,服务器都会创建Servlet实例响应用户请求。×当多个客户请求一个Servlet时,服务器为每个客户启动一个进程而不是启动一个线程。×用户开发一个Servlet时,必须直接或间接实现Servlet接口所定义的方法。√Servlet的部署文件是一个xml文件,文件名为web.xml,它保存在Web服务目录的WEB-INF子目录中。√HttpSessionAPI是一个基于Cookie或者URL重写机制的高级会话管理接口。如果浏览器支持Cookie则使用Cookie,如果不支持Cookie则自动采用URL重写。√在Servlet中读取HTTP头信息非常容易,只需调用HttpServletRequest的getHeader等方法即可。√Servlet与普通Java应用程序一样,要有main方法。×对于每一个Servlet实例,只能被初始化一次。√不能给一个Servlet映射多个访问路径。×JDBC加载不同数据库的驱动程序,使用相应的参数可以建立与各种数据库的连接。√Connection.createStatement()不带参数创建Statement对象,不能够来回的滚动读取结果集。√Statement对象提供了intexecuteUpdate(StringsqlStatement)方法,用于实现对数据库中数据的添加、删除和更新操作。√四、简答(每题6分,共30分)论述JSP程序中3种注释的异同。论述JSP的工作原理。JSP——JSP引擎转换为Servlet——Java编译为.class文件——由Java虚拟机解释执行JSP文件的执行步骤是什么?(1)客户通过浏览器向服务器端的JSP页面发送请求。(2)JSP引擎检查JSP文件对应的Servlet源代码是否存在,若不存在转向(4)。(3)JSP引擎检查JSP页面是否修改,若未修改,转向(5),否则执行下一步操作。(4)JSP引擎将JSP页面文件转译为Servlet源代码(相应的.java代码)。(5)JSP引擎将Servlet源代码编译为相应的字节码(.class代码)。(6)Servlet引擎加载字节码到内存。(7)字节码处理客户请求,并将结果返回给客户。简述Servlet与JSP的区别。JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是类servlet。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。JSP中动态include与静态include的区别?动态include用jsp:include动作实现jsp:includepage=included.jspflush=true/它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态include用include伪码实现,不会检查所含文件的变化,适用于包含静态页面%@includefile=included.htm%jsp:forward与response.sendRedirect(URLurl)实现页面转向有什么区别?JavaServletAPI中forward()与sendredirect()的区别?前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。什么是JavaBean?简述JavaBean的特点?Sun公司对于JavaBean的定义是:“JavaBeans是一个可重复使用的软件部件”。JavaBean是描述Java的软件组件模型,是Java程序的一种组件结构,也是Java类的一种。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。1.是公共的类;2.构造函数没有输入参数;3.属性必须声明为private,方法必须声明为public;4.用一组set方法设置内部属性;5.用一组get方法获取内部属性;6.是一个没有主方法的类,一般的Java类默认继承自Object类,而Bean不需要这种继承。论述JavaBean的种类。论述创建JavaBean的规则。所有的项目都要经历五个阶段:起动阶段、计划阶段、执行阶段、控制阶段、结束阶段。规范:1命名规范2代码规范3工程文件组织规范4类组织规范5用户界面规范6疑难解答和Bug调试方法简述out对象、request对象和response对象的作用。简述session对象、pageContext对象、exception对象和application对象的作用。request用户端请求,此请求会包含来自GET/POST请求的参数response网页传回用户端的回应pageContext网页的属性是在这里管理session与请求有关的会话期applicationservlet正在执行的内容out用来传送回应的输出configservle的构架部件pageJSP网页本身exception针对错误网页,未捕捉的例外简述JSP主要内置对象的作用范围。Page指令作用于整个JSP页面。Request对象是与请求相关的HttpServletRequest类的一个对象,该对象封装了用户提交的信息。通过调用该对象的相应的方法可以获得封装的信息。Session对象是与请求相关的HttpSession对象,它封装了属于客户会话的所有信息。Application对象提供了对javax.servlet.ServletContext对象的访问,它用于多个程序或者多个用户之间共享数据。简述Servlet的工作过程。(1)客户机将请求发送到服务器。(2)服务器上的Web容器实例化Servlet,并为Servlet进程创建线程。Servlet是在出现第一个请求时装入的,在服务器关闭之前不会卸载它。(3)Web容器将请求信息发送到Servlet。(4)Servlet创建一个响应,并将其返回到Web容器。Servlet使用客户端请求中的信息及服务器可以访问的其他信息资源如资源文件和数据库等来动态构造响应。(5)Web容器将响应发回给客户机。(6)服务器关闭或Servlet空闲时间超过一定限度时,调用destroy方法退出。Cookie是什么?有何作用?如何创建?cookie是Web服务器保存在用户硬盘上的一段文本。cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段。cookies给网站和用户带来的好处:(1)cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径。(2)cookie能告诉在线广告商广告被点击的次数,从而可以更精确的投放广告。(3)cookie有效期限未到时,cookie能使用户不需要重复键入密码和用户名进入曾经浏览过的一些站点。(4)cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务。调用cookie对象的构造函数可以创建cookie。co