| 一、             填写 1、  JSP是指(Java Server Pages)是由(Sun Microsystems)公司倡导、许多公司参与一起建立的一种(动态)网页技术标准 2、  在传统的网页HTML文件(*.htm,*.html)中加入(Java程序片段(Scriptlet))和(JSP标记(tag)),就构成了JSP网页 3、  JSP网页文件的扩展名是(jsp)。 4、  所有JSP程序操作都在(服务器端)执行。 5、  三种常用的动态网页技术是(ASP)、(PHP)、(JSP) 6、  Tomcat目录bin(包含启动/关闭脚本)、conf(包含各种配置文件,包括Tomcat的主要配置文件server.xml和为不同的Tomcat配置的Web应用设置缺省值的文件web.xml)、lib(包含Tomcat中使用的jar文件。在Unix平台中,此目录下的任何文件都被加到Tomcat的classpath中)。 7、  Tomcat脚本Startup(启动Tomcat)、 Shutdown(关闭Tomcat)。  8、  Tomcat的主要配置文档是(server.xml)。可以通过配置server.xml设置(服务器的端口及虚拟路径)。 9、  Java 中的(异常(Exception))是当程序中出现不同寻常的情况时生成的一个对象。  10、对待异常的方式有两种:(在方法内部捕获并处理该异常);(在本方法内不处理该异常,而是将异常抛给方法的调用者,由调用者决定如何处理异常)。 11、JSP 中不能应用(JavaScript) 函数 。 12、解决汉字的问题,最简单的方法就是在文件头加入(<%@ page contentType="text/html;charset=GBK" %>)。  13、JSP编译指令用于指定所使用的(脚本语言)、(Servlet实现的接口)、(Servlet扩展的类)、(Servlet)。 14、JSP编译指令的一般语法形式为(<%@指令名=“值” %>)。 15、page指令的语法为(<%@page pageDirectiveAttributeList %>)。 16、为了解释page指令的import属性的使用,用(time.jsp程序)来说明。 17、Include指令的语法格式(<%@include file=“relativeURL” %>),其中(relativeURL)意思为相对地址。 18、taglib指令语法格式(<%@taglib uri="tagLibraryURI" prefix="tagPrefix" %>)。 19、URI(Uniform Resource Identifier)是(统一资源标记符)的缩写,可以是绝对路径或者相对路径。20、定制标识的前缀是(prefix)。
 21、(id)和(scope)属性是每一个JSP动作都具有的属性。其中(id)表示一个动作的名称,而(scope)则表示一个动作的作用域。 22、(<jsp:include>)用于引入一个静态或动态的页面到一个JSP文件中,这动作仅仅和(JspWrite)对象发生关系。<jsp:include>动作可以包含一个或几个(<jsp:param>子动作)用于向要引入的页面传递参数。 23、9<jsp:setProperty>)动作用于向一个(JavaBean)的属性赋值,需要注意的是,在这个动作中将会使用到的name属性的值将是一个前面已经使用(<jsp:useBean>)动作引入的JavaBean的名字。 24、使用(<jsp:useBean>)动作,JSP可以动态使用(JavaBeans)组件来扩充JSP的功能, 25、<jsp:getProperty>动作用于从一个(JavaBean)中得到某个属性的值,无论原先这个属性是什么类型的,都将被转换为一个(String)类型的值。其JSP语法为(<jsp:getProperty name="beanInstanceName" property="propertyName" />)。 26、对象是典型的具有(方法)、(属性)和(集合)的事物,(对象的属性)反映了对象的状态,可以读取或设置。对于一般的对象,要想使用它,必须先声明一个(类),再将它实例化,就会得到一个可以使用的对象。 27、request对象是(ServletRequest)的一个实例。当客户端请求一个JSP网页时,(JSP引擎)会将客户端的请求信息包装在这个(request)对象中,请求信息的内容包括请求的(标题头(Header))、(信息)、(请求的方式)、(请求的参数名称)、(参数值和客户端的主机名称)等,然后将request对象当作(jspService)方法的(HttpServletRequest)参数值,所以我们可以通过这个对象来取得有关客户端的请求信息。 28、request对象的方法(getAttribute )返回请求的给出名字的属性的值,(getParameter) 返回包含指定参数的单独值的字符串 。 29、(response)对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的(response)对象。 30、response对象的方法(getWriter)返回用于格式化文本应答的打印程序,(addCookie)用于添加一个Cookie对象,用来保存客户端的用户信息。 31、(session)对象是JSP中一个很重要的内部对象,我们使用它来保存某个特定客户端(访问者)一次访问的一些特定信息。 32、session对象的类为(HttpSession)。HttpSession由(服务器的程序)实现,提供(HTTP服务器)和(HTTP客户端)之间的会话。 33、session对象的常用方法(getId),返回会话标识符;(getValue),返回和应用层数据中指定名字相联系的对象 34、会话管理是通过服务器将(SessionID)作为一个cookie存储在用户的Web浏览器中来(唯一标识)每个用户会话。 35、(application)对象保存了一个应用系统中一些公用的数据。 36、application对象的方法(getInitParameter),返回application某个属性的值(getAttribute)以Object对象的形式返回对应名称的application对象的属性值。 37、(out)对象用于输出数据,它可以是javax.servlet.jsp.JspWriter的一个实例。out对象的范围是(page)。 38、Out对象的方法(Close)关闭流,并输出;(getBufferSize)获得缓冲区的大小(clearBuffer)清除缓冲区的流。 39、(JDBC)是JAVA数据库连接(Java DataBase Connectivity)技术的简称,是为各种常用数据库提供无缝连接的技术。 40、JDBC和数据库建立连接的一种常见方式是通过(JDBC-ODBC桥)。 41、JavaBean是描述(Java)的软件组件模型。 42、一个Bean由三部分组成( 属性(Property))、 2.(事件(Event))、3.(方法(Method))。 43、JavaBean通过(Java虚拟机)(Java Virtual Machine)可以得到正确的执行。 44、JavaBean的属性(Simple属性)、(Indexed属性)、(Bound属性)、(Constrained属性)。 45、(Servlet)是运行在服务器端,用来响应客户端请求的java代码模块。 46、在Servlet API中最重要的是(Servlet接口(interface)),所有的Servlets都必须实现该接口。 47、当一个servlet接收来自客户端的调用请求,它接收两个对象(ServletRequest)、(ServletResponse)。 48、(HttpServerletRequest)接口可以获取由客户端传送的阐述名称,也可以获取客户端正在使用的通信协议,也可以获取产生请求并且接收请求的远端主机名和IP地址等一些信息。 49、(HttpSession)接口被Servlet用来实现在HTTP客户端和HTTP会话两者之间的关联。 50、一个session可以通过(Cookie)或重写(URL )来维持。   51、JSP开发网站的两种模式(JSP+JavaBeans)、(JSP+Servlet+JavaBeans)。 52、JSP中共享数据,大体上分为两种情况,第一种是在(同一个用户的不同页面)之间共享数据,另一种是在(不同用户)之间共享数据。 53、在JSP页面中可以通过(getServletContext())方法来获得ServletContext对象。 54、(application)对象对于每个Web应用来说只有一个。 55、程序运行难免会发生异常和错误。当处理JSP页面时,遇到的异常分为两个基本类型:(编译时的错误),(运行时的错误)。 56、由于JSP文件被编译成Servlet执行,出现异常的默认操作就是显示异常的(堆栈)。 57、操作文件主要有两种类型(读取内容)、(写入内容或者更改文件的属性 )。 58、在读取文件时,可以有两种选择方式(ServletContext)、(FileReader)。 59、通过(FileWriter)对象或者(FileOutputStream)可以把内容输出到文件中。 
 
 
 
 二、问答: 1、与传统的CGI方式相比,JSP具有的优点有哪些    (1) 后台实现逻辑是基于Java Component的,具有跨平台的特点 (2) 将应用逻辑与页面表现分离,使得应用逻辑能够最大程度得到复用,从而提高开发效率。
 (3) 运行比CGI方式效率高,尤其对于数据库访问,提供了连接池缓冲机制,使运行所需资源最小。
 (4) 安全,由于后台完全基于Java技术,故安全性由Java的安全机制予以保障。
 (5) 由于与ASP很近似,故不需要太多的编程知识就可以动手编写JSP。
 (6) 内置支持XML,使用XML从而使页面具有更强的表现力和减少编程工作量。
 2、JSP的两种访问格式是什么? (1) 请求一个JSP文件:JSP文件将访问Bean或其他能生成动态内容并发送到浏览器的组件。(2) 请求一个Servlet:客户端直接请求一个Servlet来生成动态内容,并调用JSP文件将内容发送到浏览器。
 3、三种常用动态网页技术的共同点是什么? (1) 三者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成Servlet并由Java 虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。(2) 普通的HTML页面只依赖于Web服务器,而ASP、PHP、JSP页面需要附加语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
 4、如果安装了Tomcat和JDK后,但运行startup.bat不成功的解决方法是什么?(1) 检查所安装的JDK,如果没有JDK,则重新安装JDK1.3,然后重新启动计算机。
 (2) 检查classpath和path路径的设置,有没有正确设置两者的值。如果有错,经修正后需重新启动计算机,这是因为系统环境的改变有时需要重新启动计算机才能生效。
 (3) 反复检查前面三项,实在不行将JDK环境删除,再重新做过。
 (4) 如果操作系统是Windows 9x系列,需要检查startup.bat文件的属性,其常规内存的初始环境必须大于4096。
 5、异常的处理(1) try代码块: 包含的是可能引起一个或者多个异常的代码。
 (2) catch代码块: 包含着计划用于处理一个try块中可能抛出的某种特定类型异常的代码。
 (3) finally代码块: 总是在方法结束之前执行,而不论是否在try块中有任何异常抛出。
 6、几个典型的JSP指令page指令:用于传递与页面相关的信息,如缓冲区信息、线程信息和出错处理信息等。
 include指令:用于在页面中包含一个外部的文档。如著作权文档或者公司信息文档——把通用内容写在一个文档中,然后包含在各个页面中,比直接写在各个JSP页面中更容易维护。当然,被包含的文件也可能是另一个JSP文件。
 taglib指令:用于指出页面可以调用的一个客户标识库,常用于自定义标识。
 7、scope作用域的取值及有效范围是什么?     page :由javax.servlet.jsp.PageContext得到,在用户请求此页面的过程中有效。     request:由ServletRequest.getAttribute(name)得到,在用户的整个请求过程中有效。     session:由HttpSession.getValue(name)得到,在用户的整个会话期内有效。     application:由ServletContext.getAttribute(name)得到,在Web应用程序执行期间有效。 8、<jsp:setProperty> 的JSP语法是什么?<jsp:setProperty
 name="beanInstanceName"
 {
 property="*"|
 property="propertyName" [ param="parameterName" ]|
 property="propertyName" value="{string|<%= expression %>}"
 }
 />
 9、out对象的变量都有什么?      autoFlush类型为protected boolean autoflush
 如果变量值为真,则当当前的操作造成缓冲区溢出时,缓冲区会被清空。
 如果变量值为假,则如果当前操作造成缓冲区溢出就会抛出一个IOException。
 bufferSize
 类型为protectedintbufferSize
 表示缓冲区目前的大小。初始值根据不同的设备而不同,但是不少于8KB。
 DEFAULT_BUFFER
 类型为publicstaticfinalintDEFAULT_BUFFER
 表示Writer正使用的缺省的缓冲区大小设置。
 No_BUFFER
 类型为Public static final int NO_BUFFER
 表示Writer是否处于缓存输出状态。
 10、JDBC的任务(1) 与一个数据库建立连接。
 (2) 向数据库发送SQL语句。
 (3) 处理数据库返回的结果。
 11、JDBC和ODBC及其他API的比较      (1) ODBC不适合在Java中直接使用,因为它是一个C语言实现的API,从Java程序调用本地的C程序会在安全性、完整性、健壮性方面都有许多缺点。(2) 不能完全精确地实现从ODBC,C,API到Java API的翻译。
 (3) ODBC很难学,它把简单和高级功能混杂在一起,甚至对非常简单的查询,其选项也非常复杂。而JDBC恰好相反,其尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。
 (4) 启用纯Java需要象JDBC这样的Java API
 12、JSP连接Informix数据库步骤?(1) 加载驱动程序: Class.forName("com.informix.jdbc.IfxDriver");
 (2) 建立连接: Connection conn= DriverManager.getConnection(url);
 13、JSP连接MySQL数据库步骤是什么?(1) 加载驱动程序: Class.forName("org.gjt.mm.mysql.Driver");
 (2) 建立连接: Connection conn= DriverManager.getConnection(url);
 14、JSP连接PostgreSQL数据库步骤是什么?(1) 加载驱动程序: Class.forName("org.postgresql.Driver");
 (2) 建立连接: Connection conn= DriverManager.getConnection(url,user,password);
 15、要对数据库中的数据进行操作还要经过以下几步设置 (1)  加载驱动程序 (2)  创建连接 (3)  向数据库发送SQL语言 (4)  处理查询结果 16、JavaBean 组件的特性有哪些?(1) 内省(Introspection)
 (2) 属性(Properties)
 (3) 定制(Customization)
 (4) 通信(Communication)
 (5) 持续(Persitence)
 17、Java Servlet及其特点是什么?Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet的特点:
 高效方便
 功能强大
 可移植性好
 节省投资
 18、对于同一个用户的会话,要想在不同的页面之间共享数据,可有的选择有哪些? ① 把数据保存在session中;② 通过Cookie;
 ③ 通过隐含的表单把数据提交到下一个页面;
 ④ 通过ServletContext对象;
 ⑤ 通过Application对象;
 ⑥ 通过文件系统或者数据库。
 19、要在不同用户之间共享数据,通常方法有哪些?     ① 通过ServletContext对象; ② 通过Application对象;
 ③ 通过文件系统或者数据库。
   |