out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息
config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 page表示从该页面产生的一个servlet实例
2.JAVA SERVLET API中forward() 与redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
7. 页面间对象传递的方法
答:request,session,application,cookie等
简述在JSP中共享数据的方法。
大体上分为两种情况,第一种是在同一个用户的不同页面之间共享数据,另一种是在不同用户之间共享数据。
对于同一个用户会话,要想在不同的页面之间共享数据,可以分为以下几种: ? 把数据保存在Session中(这是非常常见的方式); ? 通过Cookie;
? 通过隐含的表单把数据提交到下一个页面; ? 通过ServletContext对象; ? 通过Application对象; ? 通过文件系统或者数据库;
在不同用户之间共享数据,通常的方法是: ? 通过ServletContext对象; ? 通过Application对象; ? 通过文件系统或者数据库;
可见,对于不用用户之间共享数据的实现方法在同一个用户的不同页面也能实现数据共享。
8.四种会话跟踪技术
答:会话作用域ServletsJSP 页面描述
page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面
request是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求
application是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域
9.Request对象的主要方法 答:
setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例 getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例 getParameterValues(String name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性
12.说出数据连接池的工作机制是什么?
答:J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
13.Class.forName的作用?为什么要用?
答:调用该访问返回一个以字符串指定类名的类的对象。
3、JSP如何处理HTML FORM中的数据?
通过内置的request对象即可,如下:
<%
String item = request.getParameter(\
int howMany = new Integer(request.getParameter(\
%>
4、在JSP如何包含一个静态文件?
静态包含如下:<%@ include file=\
动态包含如下: 主要有四中方法: 1。<%-- 与 --%> 2。// 3。/**与**/ 4。 6、在JSP中如何执行浏览重定向? 使用如下方式即可: response.sendRedirect(\ 也能物理地改变HTTP HEADER属性,如下: <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn=\ response.setHeader(\ %> 选择题 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中使用 6、Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:(D ) A. <%@ page %>作用于整个JSP页面。 B. 可以在一个页面中使用多个<%@ page %>指令。 C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。 D. <%@ page %>指令中的属性只能出现一次。 10、 不能在不同用户之间共享数据的方法是(A ) A、通过cookie B、利用文件系统 C、利用数据库 D、通过ServletContext对象 第1章WEB开发环境 (1)下列关于WEB开发说法正确的是 。 A)Web是图形化的和易于导航的 B)Web与平台无关 C)Web是分布式的 D)Web 是动态的 E)Web 是静态的 (2)下列关于Tomcat说法正确的是 。 A) Tomcat是一种编程语言 B) Tomcat是一种开发工具 C) Tomcat是一种编程思想 D) Tomcat是一种开编程规范 E) Tomcat是一个免费的开源的Serlvet容器 (3)下列关于Tomcat个目录说法错误的是 。 A) bin目录——包含启动/关闭脚本 B) conf目录——包含不同的配置文件 C) Lib目录——包含Tomcat使用的JAR文件 D) webapps目录——包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下 E) work目录——包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下 (4)下列关于HTTP协议说法正确的是 。 A) HTTP是一种请求/响应式的协议 B) HTTP请求消息中Accept表示浏览器可接受的MIME类型 C) HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式 D) HTTP请求消息中Accept-Language表示浏览器所希望的语言种类 E) HTTP请求消息中Host表示初始URL中的主机和端口。 (5)下列对于JSP说法中正确的是 。 A) JSP是Sun公司推出的新一代站点开发语言 B) JSP完全解决了目前ASP、PHP的一个通病——脚本级执行 C) JSP将内容的生成和显示进行分离 D) JSP强调可重用的组件 E) JSP采用标识简化页面开发 第2 JSP指令标识 一、选择题: (1)下列关于JSP编译指令说法错误的是 。 A)编译指令用于从JSP发送一个信息到容器上 B)编译指令用来设置全局变量、声明类要实现的方法和输出内容的类型等 C)编译指令向客户端产生任何输出 D)编译指令所有的指令都在整个JSP页面内有效 E)编译指令元素为编译阶段提供了全局信息 (2)下面关于page指令说法中错误的是 。 A)page指令用来定义JSP页面中的全局属性 B)一个JSP页面只能包含一个page指令 C)除了import外,其他page指令定义的属性/值只能出现一次。 D)language属性用来指示所使用的语言 E)“java”是当前唯一可用的JSP语言 (3)下面关于page指令的属性说法错误的是 。 A)import属性用于指定导入哪些包 B)contenttype属性用来指定JSP页面的字符编码和响应的mime类型 C)isthreadsafe属性用来设定JSP文件是否能多线程使用 D)session属性制定此页面是否参与HTTP会话。默认值false E)errorpage属性指示当前页面是否为其他页的errorpage目标 (4)下列说法中正确的是 。 A)include指令通知容器将当前的JSP页面中内嵌的、在指定位置上的资源内容包含 B)include指令中file属性指定要包含的文件名 C)include指令只允许你包含动态页面 D)Taglib指令允许页面使用者自定义标签 E)你必须在使用自定义标签之前使用<% @ taglib %>指令 (5)下列说法中错误的是 。 A)会在客户端的HTML源代码中产生和上面一样 的数据 B)<%-- This comment will not be visible in the page source --%>会在客户端的HTML源代码中产 生和上面一样的数据 C)<%! int i = 0; %>是一个合法的变量声明 D)表达式元素表示的是一个在脚本语言中被定义的表达式。 E)表达式元素在运行后被自动转化为字符串 第3 JSP动作指令 (4)下面说法中正确的是 。 A) B)如果 E) A) B)当Jsp文件被编译,送往浏览器时, C)Jsp:param操作被用来以“名——值”对的形式为其它标签提供附加信息 D) (1)下面对out对象说法错误的是 。 A)out对象用于输出数据 B)out对象的范围是application。 C)如果page指令选择了autoflush=\,那么当出现由于当前的操作不清空缓存而造成缓冲 区溢出的情况时,这个类的所有I/O操作会自动清空缓冲区的内容。 D)out.newLine()方法用来输出一个换行符 E)out.close()方法用来关闭输出流 (2)下面关于request对象说法错误的是 。 A)request对象是ServletRequest的一个实例 B)当客户端请求一个JSP网页时,JSP引擎会将客户端的请求信息包装在这个request对象中 C)getParameterName()方法返回本次请求的参数名字 D)getParameter()方法返回包含指定参数的单独值的字符串 E)getServerName() 返回接收请求的服务器的主机名和端口号 (3)下面关于session对象说法中正确的是 。 A)session对象的类是HttpSession.HttpSession由服务器的程序实现 B)session对象提供HTTP服务器和HTTP客户端之间的会话 C)session可以用来储存访问者的一些特定信息 D)session可以创建访问者信息容器。 E)当用户在应用程序的页之间跳转时,存储在session对象中的变量会清除 (4)下面关于pageContext对象说法中正确的是 。 A)pageContext对象为JSP页面包装页面的上下文。 B)pageContext对象创建和初始化都是由容器来完成的 C)getRequest()方法返回当前的request对象 D)getSession()方法返回当前页面的session对象。 E)removeAttribute()方法用来删除默认页面范围或特定范围之中的已命名对象。 (5)下列关于Application对象说法中错误的是 。 A)Application对象用于在多个程序中保存信息 B)Application对象用来在所有用户间共享信息,但不可以在Web应用程序运行期间持久地保持数据。 C)getAttribute(String name)方法返回由name指定的名字application对象的属性的值。 D)getAttributeNames()方法返回所有application对象的属性的名字。 E)setAttribute(String name , Object object)方法设置指定名字name的application对象的属性值object 5 JSP综合应用 (1)在JSP文件中加载动态页面可以用 指令。 A)<%@ include file=\指令 B) A)<%@ include file=\ B)page C) A)session对象 B)application对象 C)config对象 D)exception对象 E)request对象 (4)session对象经常被用来 。 A)在页面上输出数据 B)抛出运行时的异常 C)在多个程序中保存信息 D)在多页面请求中保持状态和用户认证。 E)以上说法全不正确 (5)要从一个JSP页面的响应交给另JSP页面处理我们可以使用 。 A)reponse对象 B)Application对象 C)config 对象 D)exception 对象 E)out对象