nbhkdz.com冰点文库

JavaWeb期末考试题必过宝典

时间:2018-11-06

JAVAWEB 期 末 考 试 必 过 宝 典

版权所有· 简圣光

JavaWeb考试题
1、说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 【基础】 答:Web 容器加载Servlet 并将其实例化后,Servlet 生命周期开始,容器运行 其init 方法进行Servlet 的初始化,请求到达时运行其service 方法,service 方法自动派遣运行与请求对应的doXXX 方法(doGet,doPost)等,当服务器决 定将实例销毁的时候调用其destroy 方法。与cgi 的区别在于servlet 处于服务 器进程中,它通过多线程方式运行其service 方法,一个实例可以服务于多个请 求,并且其实例一般不会销毁,而CGI 对每个请求都产生新的进程,服务完成后 就销毁,所以效率上低于servlet。 2、Servlet 的基本架构。【基础】 答:public class ServletName extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } 4、JSP 中动态INCLUDE 与静态INCLUDE 的区别?【基础】
答:动态INCLUDE 用jsp:include 动作实现<jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并 且可以带参数;静态INCLUDE 用include 伪码实现,它不会检查所含文件的变化, 适用于包含静态页面<%@ include file="included.htm" %>

6、JSP 的内置对象及方法?【基础】
答:request 表示HttpServletRequest 对象。它包含了有关浏览器请求的信息, 并且提供了几个用于获取cookie, header 和session 数据的有用的方法。 response 表示HttpServletResponse 对象,并提供了几个用于设置送回浏 览器的响应的方法(如cookies,头信息等)。 out 对象是javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用 于向浏览器回送输出结果。 pageContext 表示一个javax.servlet.jsp.PageContext 对象。它是用于方 便存取各种范围的名字空间、servlet 相关的对象的API,并且包装了通用的 servlet 相关功能的方法。 session 表示一个请求的javax.servlet.http.HttpSession 对象。Session 可以存贮用户的状态信息。 application 表示一个javax.servle.ServletContext 对象。这有助于查找 有关servlet 引擎和servlet 环境的信息。 config 表示一个javax.servlet.ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。 page 表示从该页面产生的一个servlet 实例。

7、JSP 的常用指令?【基础】 答:<%@page language=”java” contenType=”text/html;charset=gb2312” session=”true” buffer=”64kb” autoFlush=”true” isThreadSafe=”true” info=”text” errorPage=”error.jsp” isErrorPage=”true” isELIgnored=” true” pageEncoding=”gb2312” import=”java.sql.*”%>

isErrorPage:是否能使用Exception 对象;isELIgnored:是否忽略EL 表达式; <%@include file=”filename”%> <%@taglib prefix=”c”uri=”http://??”%> 8、jsp 有哪些动作?作用分别是什么? 【基础】
答:JSP 共有以下6 种基本动作: jsp:include:在页面被请求的时候引入一个文件; jsp:useBean:寻找或者实例化一个JavaBean。; jsp:setProperty:设置JavaBean 的属性。; jsp:getProperty:输出某个JavaBean 的属性; jsp:forward:把请求转到一个新的页面; jsp:plugin:根据浏览器类型为Java 插件生成OBJECT 或EMBED 标记。

9、jsp 有哪些内置对象?作用分别是什么? 【基础】 答:JSP 共有以下9 种基本内置组件(可与ASP 的6 种内部组件相对应): request:用户端请求,此请求会包含来自GET/POST 请求的参数; response:网页传回用户端的回应; pageContext:网页的属性是在这里管理; session:与请求有关的会话期; application:servlet 正在执行的内容; out:用来传送回应的输出; config:servlet 的构架部件; page:JSP 网页本身; exception:针对错误网页,未捕捉的例外。 10、get 和post 的区别?【基础】
答:Form 中的get 和post 方法,在数据传输过程中分别对应了HTTP 协议中的 GET 和POST 方法。二者主要区别如下: 1)Get 是用来从服务器上获得数据,而Post 是用来向服务器上传递数据; 2)Get 将表单中数据按照variable=value 的形式,添加到action 所指向的 URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post 是将 表单中的数据放在form 的数据体中,按照变量和值相对应的方式,传递到action 所指向URL; 3)Get 是不安全的,因为在传输过程,数据被放在请求的URL 中;Post 的 所有操作对用户来说都是不可见的; 4)Get 传输的数据量小,这主要是因为受URL 长度限制;而Post 可以传输 大量的数据,所以在上传文件只能使用Post; 5)Get 限制Form 表单的数据集必须为ASCII 字符,而Post 支持整个ISO10646 字符集; 6)Get 是Form 的默认方法。

11、什么情况下调用doGet()和doPost()?【基础】
答:Jsp 页面中的form 标签里的method 属性为get 时调用doGet(),为post 时调用doPost()。

12、如何从form 表单中得取checkbox 的值;【基础】
答:可在页面把checkbox 的name 属性取同一个,value 属性取每个条目的id, 后台用getParamter(“name”)能取到checkbox 的一组值。

13、页面中有一个命名为bank No 的下拉列表,写脚本获取当前选项的索引值。 答:用java 或javaScript 的处理方式分别如下: Java: request.getParameter(“bank No”); javaScript: var selectItems = document.getElementsByName(“bank No”);

selectItems[0].value; 14、javascript 常用的方面;【基础】 答:常用于数据输入校验和页面特殊效果等。 15、常用的web 容器和开发工具;【基础】 答:最常用的容器包括:tomcat、weblogic; 开发工具有:eclipse,jbuilder。 16、请画出Servlet 2.2 以上Web Application 的基本目录结构(2 分钟) 答:目录结构如下图所示: webapps | Applocation | __________________ | | JSP 页面WEB-INF | ___________________ | | | classes lib web.xml 1.17、JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?有 servlet 为什么还要 jsp?
答:JSP 是Servlet 技术的扩展,本质上是Servlet 的简易方式,更强调应用的 外表表达。JSP 编译后是"类servlet"。Servlet 和JSP 最主要的不同点在于, Servlet 的应用逻辑是在Java 文件中,并且完全从表示层中的HTML 里分离开来。 而JSP 的情况是Java 和HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于 视图,Servlet 主要用于控制逻辑。 jsp 在其内容显示上更好,servlet 在逻辑处理更据优越性,JSP 是显示层的。重在显示。Servelt 是控制层的,重在业务逻辑。可以降低耦合、有利于分工。

18、jsp 的四种范围?【基础】
答:a.page 是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的include 指令,但是没有include 动作) 表示。这既包括servlet 又包括被编译成servlet 的JSP 页面 b.request 是代表与Web 客户机发出的一个请求相关的对象和属性。一个 请求可能跨越多个页面,涉及多个Web 组件(由于forward 指令和include 动 作的关系) c.session 是代表与用于某个Web 客户机的一个用户体验相关的对象和属 性。一个Web 会话可以也经常会跨越多个客户机请求 d.application 是代表与整个Web 应用程序相关的对象和属性。这实质上 是跨越整个Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

19、Request 对象的主要方法? 【基础】
答:setAttribute(String name,Object):设置名字为name 的属性值 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):删除请求中的一个属性

20、如何实现servlet 的单线程模式?【基础】 答:<%@page isThreadSafe=”false”%> 21、页面间对象传递的方法。【基础】 答:request,session,application,cookie 等。 22、详细描述MVC。【基础】
答:基于Java 的Web 应用系统采用MVC 架构模式,即model(模型)、view(视 图)、control(控制)分离设计;这是目前WEB 应用服务系统的主流设计方向。 Model:即处理业务逻辑的模块,每一种处理一个模块; View:负责页面显示,显示MODEL 处理结果给用户,主要实现数据到页面转 换过程; Control:负责每个请求的分发,把FORM 数据传递给MODEL 处理,把处理结 果的数据传递给VIEW 显示。

23、MVC 的各个部分都有那些技术来实现?如何实现? 【基础】
答:MVC 是Model-View-Controller 的简写。"Model" 代表的是应用的业务逻 辑(通过JavaBean,EJB 组件实现), "View" 是应用的表示面(由JSP 页面产 生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通 过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组 件可以进行交互和重用。

24、应用服务器有那些?【基础】 答:BEA WebLogic Server, IBM WebSphere Application Server, Oracle9i Application Server, JBoss, Tomcat。 25、Servlet 执行时一般实现哪几个方法?【基础】
答:public void init(ServletConfig config) public ServletConfig getServletConfig() public String getServletInfo() public void service(ServletRequest request,ServletResponse response) public void destroy()

28、几种会话跟踪技术?【基础】 答:cookie、URL 重写、设置表单隐藏域。 29、BS 与CS 的联系与区别?【基础】
答:C/S 是Client/Server 的缩写,是客户机与服务器结构的应用程序,服务器 通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、

Sybase、Informix 或SQL Server。客户端需要安装专用的客户端软件。B/S是 Brower/Server 的缩写,是浏览器和服务器结构的应用程序,即Web 应用程序, 客户机上只要安装一个浏览器(Browser),如Netscape Navigator 或Internet Explorer,服务器安装Oracle、Sybase、Informix 或SQL Server 等数据库。 在这种结构下,用户界面完全通过WWW 浏览器实现,一部分事务逻辑在前端实现, 但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据 交互。 C/S 与B/S 区别: 1)硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过 专门服务器提供连接和数据交换服务; B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租 用设备. 信息自己管理. 有比C/S 更强的适应范围, 一般只要有操作系统和浏 览器就行; 2)对安全要求不同: C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度 机密的信息系统采用C/S 结构适宜. 可以通过B/S 发布部分可公开信息; B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用 户; 3)对程序架构不同: C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可 以较少考虑; B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S 有更高的要求B/S 结构的程序架构是发展的趋势, 从MS 的.Net 系列的 BizTalk 2000 Exchange 2000 等, 全面支持网络的构件搭建的系统. SUN 和 IBM 推的JavaBean 构件技术等,使B/S 更加成熟; 4)软件重用不同: C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S 要求下的 构件的重用性好; B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入 买来的餐桌可以再利用,而不是做在墙上的石头桌子; 5)系统维护不同: C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升 级难. 可能是再做一个全新的系统; B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销 减到最小.用户从网上自己下载安装就可以实现升级; 6)处理问题不同: C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操 作系统相关. 应该都是相同的系统; B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S 无法作到 的. 与操作系统平台关系最小; 7)用户接口不同: C/S 多是建立的Window 平台上,表现方法有限,对程序员普遍要求较高; B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大 部分难度减低,减低开发成本; 8)信息流不同: C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低; B/S 信息流向可变化, B-B B-C B-G 等信息、流向的变化, 更像交易中心。

30、过滤器有哪些作用?【基础】
答:可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码, 可以从系统里获得配置的信息,可以过滤掉客户的某些不应该出现的词汇,可以 验证用户是否登录,可以验证客户的浏览器是否支持当前的应用,可以记录系统 的日志等等。

31、过滤器的用法?(对客户端的请求统一编码和对客户端进行认证)【基础】 答:首先要实现(implements)Filter 接口,同时覆盖Filter 接口的三个方法:
init(FilterConfig config) //用于获得FilterConfig 对象; doFilter(ServletRequest request, ServletResponse response, FilterChain chain) //进行过滤处理一些业务; destroy() //销毁Filter。

32、简述HttpSession 的作用、使用方法,可用代码说明。(3 分钟)【基础】
答:HttpSession 中可以跟踪并储存用户信息,把值设置到属性中,有2 个方法: setAttribute(),getAttrribute(); 例如:在一个方法中用session.setAttribute(“student”,student);在 session 中设置一个属性名为student,值为一个名为student 的对象。而后可在 同一session 范围内用getAttribute(“student”)取出该属性,得到student 对象。

33、介绍在JSP 中如何使用JavaBeans?【基础】 答:在JSP 中使用JavaBean 常用的动作有: 1)<jsp:useBean />:用来创建和查找bean 对象; 2)<jsp:setProperty />:用来设置bean 的属性,即调用其setXxx()方法; 3)<jsp:getProperty />:用来获得bean 的属性,即调用其getXxx()方法。 34、JSP 和Servlet 中的请求转发分别如何实现?【基础】 答:JSP 中的请求转发可利用forward 动作实现:<jsp:forward />; Serlvet 中实现请求转发的方式为: getServletContext().getRequestDispatcher(path).forward(req,res)。 35、Web.Xml 的作用?【基础】 答:用于配置web 应用的信息;如listener、filter 及servlet 的配置信息等。 36、写出熟悉的JSTL 标签。【基础】 答:<c:if>、<c:choose>、<c: when>、<c: otherwise>、<c:forEach>、<c:set>。 38、JSP 标签的作用?如何定义?【中等难度】
答:作用:分离jsp 页面的内容和逻辑; 业务逻辑开发者可以创建自定义标签; 封装业务逻辑; 可重用并且易维护; 易于手工修改、易于工具维护; 提供简洁的语法; 定义: 写标签处理器; 写tld 文件; 讲标签处理器和tld 文件放到同一个包里面; 把jsp 页面和标签库配置部署在一起。

39、写一个自定义标签;【中等难度】 答:代码如下: import javax.servlet.jsp.tagext.*; import javax.servlet.jsp.*; import java.io.*;

public class TimeTag extends SimpleTagSupport{ private boolean isServer = true; public void setServer(boolean isServer){ this.isServer = isServer; } public void doTag() throws JspException, IOException{ JspWriter out = getJspContext().getOut(); if(isServer) { out.println(new java.util.Date()); }else{ out.println("<script language=\"javascript\">"); out.println("document.write(new Date());"); out.println("</script>"); } } } 40、javascript 的优缺点和内置对象;【中等难度】 答:1)优点:简单易用,与Java 有类似的语法,可以使用任何文本编辑工具编 写,只需要浏览器就可执行程序,并且事先不用编译,逐行执行,无需进行严格 的变量声明,而且内置大量现成对象,编写少量程序可以完成目标; 2)缺点:不适合开发大型应用程序; 3)Javascript 有11 种内置对象: Array、String、Date、Math、Boolean、Number、 Function、Global、Error、RegExp、Object。

1.标签基本构成 <html>...</html> HTML文件全文的开始结束标记 <head>...</head> HTML文件头部的开始结束标记 <title>...</title> HTML文件页面标题的开始结束标记 <body>...</body> HTML文件体部的开始结束标记 2.form表单基本元素 text,submit,image,file,checkbox,password,email,seletion 属性 method action name 3.js使用的三种方式 1) 事件定义 < onclick="js代码"> 2)直接嵌入式:可以出现在html的任意位置 <script type="text/javascript"> </script> 3)文件调用 <script type="text/javascript" src="test.js"> </script> 4.web相关的view层放在哪 WebRoot下的*.jsp相关文件都是View层 5.引用的架包放在哪 web下的Lib文件夹里 6.web.xml在哪

webInfo文件夹下 7.tomacat端口号修改在哪 在tomacat的文件夹中的conf文件夹下的server.xml文件内配置 8.css添加的四种方式 1)行内添加,<body style="width:500px"> 2)import引入@import "import.css" 3)连接引入<link href="alone.css" rel="stylesheet" type="text/css" /> 4)嵌入 <style type="text/css"> h2{ color:white;background-color:blue;} </style> 9.请求重定向和请求转发的区别 RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件; 而HttpServletResponse.sendRedirect 方法还可以重定向到同一个站点上的其他应用程序 中的资源, 甚至是使用绝对URL重定向到其他站点的资源。 10.servlet的生命周期 1. web服务器首先会检查是否已经装载并创建了该servlet实例对象。如果是直接进行第4步, 否则执行第2步 2. 装载并创建该servlet的一个实例对象 3. 调用servlet实例对象的init方法 4. 创建一个用于封装http请求消息的httpservletrequest对象和一个代表http响应纤细的 httpservletresponse对象, 然后调用service()方法并将请求和响应作为参数传递进去。 5. web应用被停止或者重启之前,servlet引擎将卸载servlet,在卸载之前调用servlet的 destroy()方法 11.区分jsp和servlet JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成擅 长于流程控制和事务处理而通过Servlet 来生成动态网页;JSP由HTML代码和JSP标签构成,可以方便地编写动态网页 因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页. 12.Tomcat的安装和主要目录结构 1)在Tomcat官网下载相关的压缩包,解压后,即可使用 2)主要目录结构: bin: 开启和关闭tomcat服务等功能所在目录 lib:包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的 classpath中 Logs:存放Tomcat的日志文件 webapp:包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下 work:Tomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP文件). 如在Tomcat运行时删除此目录.JSP页面将不能运行.[ jsp生成的sevlet放在此目录下] 13.session怎么区分会话对象 客户首次访问服务器的一个页面时,服务器就会为该客户分配一个session对象, 同时为该session对象指定一个唯一的ID,并且将该ID号发送到客户端并写入到cookie中,使 得客户端与服务器端的session建立一一对应关系 14.el表达式是什么,怎么用 1)EL表达式是为了便于存取数据而定义的一种语言 2)使用${expression}来获取变量的值

[]与.两种运算符来存取数据 也可以使用各种运算符和函数来对数据进行处理 15.JSTL是什么,怎么用 1)JSTL是一个实现Web应用程序中常用功能的定制标签库集,由5个不同的功能标签库组成 2)使用前,必须下载好JSTL,然后复制到Web工程下的/WEB-INFO/lib目录下 在JSP页面中添加<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 然后就可以使用JSTL了 16.MVC经典架构 业务应用层是用JAVABEAN来做 控制层是使用Sevlet来做 View层是使用HTML来做 17.JSP常用的内置对象及生命周期 1.request对象的范围: 2.response:响应对象 3.pageContext:页面上下文对象 4.session会话对象 5.application:应用程序对象 6.out:输出对象 7.config:配置对象 8.page:页面对象 9.exception:异常对象 18.JSP指令(动作)是什么 JSP指令分为两者那个:第一是page指令,用来完成导入制定的类、自定义Sevlet的超类等任 务 第二是include命令,用来在JSP文件转换成Servlet时引入其他文件, JSP也可以使用taglib指令,来自定义标签。 19.jsp语法 <%=expression%>来计算表达式并输出结果 <%Code%>在JSP中写JAVA代码,并把代码插入到Servlet的service方法 <%!code%>声明,加入到Servlet类 20.javascript 是弱类型语言,和java无关, var a=10, a=20, 21.程序题.登录校验 servlet: package com.hncj; import java.io.*; import javax.servlet.ServletException; import javax.servlet.*; public class login extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String user = "root"; String passwd = "123456"; String username = request.getParameter("username"); String userpass = request.getParameter("password"); if(user.equals(username)&&passwd.equals(userpass)){ request.setAttribute("username", username);

request.setAttribute("userpass", userpass); request.getRequestDispatcher("/ok.jsp").forward(request,response); }else{ request.setAttribute("username", username); request.setAttribute("userpass", userpass); request.getRequestDispatcher("/Error.jsp").forward(request,response); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } JSP: index: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> </head> <body> <form action="/xx/servlet/login" methond="doGet"> <input type="text" name="username" value="username"/></br> <input type="password" name="password" value="123456"/></br> <input type="submit" value="登录"/> </form> </body> </html> ok: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>ok</title> </head> <body> user:${username} or password:${userpass} is ok; </body> </html> error: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>false</title> </head> <body> user:${username} or password:${userpass} is false. </body> </html>

2.tomcat 默认端口号是多少?怎样修改端口? 默认端口是:8080。找到 tomcat 的安装目录,有个 conf 文件夹,里面有个 server.xml。<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 把这个 8080 改成你需要的 就可以了。 3.重定向与转发技术的区别? 1.转发是服务器行为,重定向是客户端行为。 2.转发时浏览器上的网址不变 ,转发的路径必须是同一个 web 容器下的 url,不能转向到其他 web 路径上 去。重定向时浏览器网址发生变化,得到响应后浏览器自动发送新的 http 请求,请求的 url 是新的 location 地址,在这里 location 可以重定向到任意 URL。 3.转发做了一次请求,重定向至少做了两次请求。 5.添加样式表的方法 1.行内样式表 2.嵌入样式表 3.链接样式表 4.输入样式表 6.MVC 中的 M、V、C M:Model(模型) ,在 j2ee 开发中扮演数据封装相关的角色(像 javabean) ; V:View(视图),在开发中扮演数据显示相关的角色(像 jsp,html 文件) ; C:Controller(控制器),在 j2ee 开发中扮演数据控制相关的角色(像 Servlet、Action 等) 。

7.什么是 cookie? cookie 有什么作用? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点 时,Web 应用程序都可以读取 Cookie 包含的信息。 Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问您的站点时,您可 以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问您的站点时,应用程序就可以检索以前保 存的信息。

练习题
1、下面哪一个不是动态网页技术( D ) 。 A.ASP B.JSP C.PHP D.HTML 2、下列关于 Tomcat 说法不正确的是( B )。 A.Tomcat 是一个 Servlet 容器。 B.Tomcat 是一种编程语言。 C.Tomcat 是一个免费开源的项目。 D.Tomcat 的默认端口是 8080。 3、可以实现不同网页之间的数据共享,而且还可以实现跨机共享数据的 JSP 对象是( C ) 。 A.Response 对象 B.Session 对象 C.Application 对象 D.Request 对象 4、Servlet 需要在( C )文件中进行配置。 A.context.xml B.web.config C.web.xml D.webapp.xml 5、JSP 页面经过编译之后,将创建一个( B ) 。 (选择一项) A.applet B.servlet C.application D.exe 文件 6、下列哪个方法用于从 ServletContext 中检索属性?( B ) A.Object getObject(int index) B.Object getAttribute(String name) C.String getObjext(int index) D.String getAttribute(String name)

7、下列哪个接口或类检索与用户相关的会话对象?( D ) A.HttpServletResponse B.ServletConfig C.ServletContext D.HttpServletRequest 8、<jsp:useBean>中指定 Bean 实例的存取范围的属性是( C )。 A. id B. class C. scope D. type 9、下列哪个 page 指令是合法的?( C ) A.<%page language=”java”%> B.<%! page language=”java”%> C.<%@ page language=”java”%> D.<%@Page language=”java”%> 10、下列不是 JSP 隐含变量的是( C )。 A.request B.out. C.context D.sesion 11、 为了丰富 JSP 页面的图形化布局, 可以使用下面哪个 JSP 标准动作把一个图像导入到 JSP 页面中?( D A.<jsp:image page=”logo.png”/> B. <jsp:include page=”logo.png”/> C. <jsp:include file=”logo.png”/> D.使用 JSP 标准动作无法做到 12、在 JSP 中,( A )动作用于将请求转发给其他 JSP 页面。 A.forward B.include C.useBean D.setProperty 13、在 JSP 的 Model II 模式中,模型层对象被编写为( D )。 A.Applet B.JSP C.Servlet D.JavaBean 14.在 JSP 的 Model II 模式中,视图层对象被编写为( B )。 A. Applet B. JSP C. Servlet D. JavaBean 15.从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条 select 语句正确:( D ) A.Select * from 员工 where 姓名 =?_玛丽_? B.Select * from 员工 where 姓名 =?%玛丽_? C.Select * from 员工 where 姓名 like ?_玛丽%? D.Select * from 员工 where 姓名 like ?%玛丽%? 16、Page 指令中的“contenType”属性是用于指出( B ) 。 A.数据库类型 B.网页类型 C.服务器类型 D.用户类型 17、关于 web.xml 的配置说法错误的是( D )。 A.在 web.xml 描述中,要指定这个 Servlet 的名字。 B.在 web.xml 描述中,要指定这个 Servlet 的类。 C.在 web.xml 描述中,要为 Servlet 做 URI 映射。 D.在 web.xml 中不可同时指定多个 Servlet。 18、( D )是 JSP 中最基本的对象,它是用户与服务器进行交互的基础。 A.Response 对象 B.Session 对象 C.Application 对象 D.Request 对象 19、Java 是( C )公司开发的。 A.Microsoft B.Adobe C.Sun .DMacromedia 20、 Servlet 中,HttpServletResponse 的( C )方法用来把一个 Http 请求重定向到另外的 URL。 A.sendURL() B.redirectURL() C.sendRedirect() D.redirectResponse() 21、不能实现会话跟踪技术的是( B )。 A.URL 重写 B.使用 application C.使用 Cookie D.使用 session 22、在 JSP 中,page 指令的( B )属性用来引入需要的包或类。 A extends B import C languge D contentType 23、下列哪个状态码表示“Not Found 无法找到指定位置的资源”?( D ) A.100 B.201 C.400 D.404 24、在 web.xml 中,有如下代码:

)

<session - config> <session - timeout>30</session - timeout> </session - config> 上述代码定义了默认的会话超时时长,时长为 30( C ) 。 A.毫秒 B.秒 C.分钟 D .小时 25、session 对象的( B )方法可以用来设置 session 对象的超时时间。 A. time() B. setMaxInactiveInterval() C. maxTime() D. invalidate() 26、用下列哪个方法将使会话失效?( A ) A.session.invalidate(); B.session.close(); C.session.destroy(); D.session.end(); 27、在 JSP 中如果要导入 java.io.* 包,应该使用( A )指令。 A. page B. include C. taglib D. forward 28、在 Servlet 里,能正确获取 session 的语句是( A ) 。 A.HttpSession session = request.getSession(true); B.HttpSession session = request.getHttpSession(true); C.HttpSession session = response.getSession(true); D.HttpSession session = response. getHttpSession (true); 29、在 J2EE 中,在一个 JSP 文件中,有表达式<%=2+3 %>,它将输出( B ) 。 A.2+3 B.5 C.23 D.不会输出,因为表达式是错误的 30、在 J2EE 的 Model Ⅱ模式中,模型层对象被编写为( D ) 。 A.Applet B.JSP C.Server D.JavaBean 31、在 J2EE 中,使用 Servlet 过滤器时,需要在 web.xml 通过( B )元素将过滤器映射到 Web 资源。 A.<filter> B.<filter-mapping> C .<servlet> D. <servlet-mapping> 32 、要为一个名为 TestServlet 的服务器小程序指定初始化参数,应该使用下面哪个部署描述文件元素? ( D ) A. <servlet-param> B. <param> C. <initialization-param> D. <init-param> 33、Web 应用程序需要用到的数据库驱动程序 JAR 文件,应该存放在哪个目录中?( D ) A. WEB-INF/thirdparty B. WEB-INF C. WEB-INF/classes D. WEB-INF/lib 34、给定 request 是一个 HttpServletRequest 对象,可使用( A )创建一个会话。 A. request.getSession() B. request.Session() C. request.getSession(false) D. request.createSession() 35、给定一个会话对象 s,有两个属性,属性名分别为 myAtt1 和 myAtt2,下列哪行代码会把这两个属性从会 话中删除?( C )。 A. s.removeAllValues(); B. s.removeAllAttributes(); C. s.removeAttribute("myAtt1");s.removeAttribute("myAtt2"); D. s.getAttribute("myAtt1",UNBIND); s.getAttribute("myAtt2",UNBIND); 1.在 Java 中使用关键字 new 来实例化对象。 2.Servlet 的生命周期包括加载与实例化、 初始化 、 提供服务 和销毁四个阶段 3.每一个 Servlet 都需要在 web.xml 文件中进行部署。 4.Page 指令中的 import 属性可以设置导入 JSP 页面中使用的 Java 类和接口。

5.page 指令中的

ContentType

属性用于指定输出的内容类型和字符集。 请求作用域 和页面作用域。

6.使用 <jsp:include> 标准动作可以实现动态包含。 7.在 JSP 页面中的 4 种作用域是应用作用域、 会话作用域 、

8.将 HTTP 响应重定向到其他资源,可以使用 HttpServletResponse 接口的 sendredirect () 方法实现。 9.使用 DriverManager 类的 getConnection() 方法建立数据库连接对象。 10.JDBC 的基本功能包括 建立与数据库的连接 、 发送 SQL 语句 和处理数据库操作结 果。 11.Struts 框架包含 核心控制器 、 表单 bean 、动作对象、JSP 页面和配置文件等。 12. 在 web.xml 中 注 册 监 听 器 时 需 使 用 <listener> 元 素 , 该 元 素 的 唯 一 一 个 子 元 素 是 classr> 。 13.在 Struts 框架中实现 MVC,控制器是由 ActionServlet 组件实现的。

<listene —

《JavaWeb 程序设计》 练习题参考答案

第一章:Servlet 基础
1、下列选项中属于动态网站技术的是 _________(多选)答:PHP/ASP/JSP A、PHP B、ASP C、JavaScript D、JSP 2、下列关于 Servlet 的说法正确的是_______(多选) A、Servlet 是一种动态网站技术 B、Servlet 运行在服务端 C、Servlet 针对每个请求使用一个进程来处理 D、Servlet 与普通的 Java 类一样,可以直接运行,不需要环境支持 参考答案: Servlet 是一种动态网站技术,是运行在服务器端,Servlet 针对每个请求使用一个线程来处理,而不是启动 一个进程,传统的 CGI 为每次请求启动一个进程来处理。所以 Servlet 的效率更高 3、下列关于 Servlet 的编写方式正确的是______(多选) A、必须是 HttpServlet 的子类 B、通常需要覆盖 doGet() 和 doPost()方法或其一 C、通常需要覆盖 service()方法 D、通常要在 web.xml 文件中声明<servlet>和<servlet-mapping>两个元素 参考答案:A、B、D 必须继承 Httpservlet 类,不需要覆盖 servlce() 方法, service()方法是 Servlet 接口中的方法,Servlet 是 HttpServlet 的父类,该方法会根据请求类型选择执行 doGet()或 doPost()方法。所以通常需要覆盖 doGet() 和 doPost()方法或其一。 4、下列关于 Servlet 生命周期的说法正确的是____(多选) A、构造方法只会调用一次 B、init()方法只会调用一次 C、service()方法在每次请求此 Servlet 时都会被调用 D、destroy()方法在每次请求完毕时会被调用。 参考答案:B、C Servlet 生命周期由 servlet 接口定义, 每次请求会生成一个对象,所以构造方法会调用多次

Init() : public void init(ServletConfig config) throws ServletException; Servlet 引擎会在 Servlet 实例化之后, 置入服务之前精确地调用 init 方法。 在调用 service 方法之前, init 方法必须成功退出。 如果 init 方法抛出一个 ServletException,你不能将这个 Servlet 置入服务中,如果 init 方法在超时范 围内没完成,我们也可以假定这个 Servlet 是不具备功能的,也不能置入服务中。 Service() : public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException; Servlet 引擎调用这个方法以允许 Servlet 响应请求。这个方法在 Servlet 未成功初始化之前无法调用。在 Servlet 被初始化之前,Servlet 引擎能够封锁未决的请求。 在一个 Servlet 对象被卸载后,直到一个新的 Servelt 被初始化,Servlet 引擎不能调用这个方法 每次请求都会被调用但是不会被覆盖,覆盖的是相应的 do 方法 Destroy(): public void destroy(); 当一个 Servlet 被从服务中去除时,Servlet 引擎调用这个方法。在这个对象的 service 方法所有线程未全 部退出或者没被引擎认为发生超时操作时,destroy 方法不能被调用。 这个方法给 servlet 释放占用的资源的机会,通常用来执行一些清理任务。服务器关闭时才销毁这个 Servlet 对 象 5、下列方式中可以执行 TestServlet (路径为/test)的 doPost()方法是____(多选) A、在 IE 中直接访问 http://localhost:8080/网站名/test B、<form action=”网站名/test”>提交表单 C、<form action=”网站名/test” mothod=”post”>提交表单 D、<form id=forma”>在 JavaScript 中执行下述代码: Document.getElementById(“form1”).action=”/网站名/test”; Document.getElementById(“form1”).method=”post”; Document.getElementById(“form1”).submit; 参考答案:C、D A.在地址栏上访问 是 get 方式 B.在表单里如果不写 method,默认也是 get 方式 6、针对下述 JSP 页面,在 Servlet 中需要得到用户选择的爱好的数量,最合适的代码时____ <input type="checkbox" name="channel" value="网络"/>网络; <input type="checkbox" name="channel" value="朋友推荐"/>朋友推荐; <input type="checkbox" name="channel" value="报纸"/>报纸; <input type="checkbox" name="channel" value="其他"/>其他; A、request.getParameter(“aihao”).length B、request.getParameter(“aihao”).size C、request.getParameterValues(“aihao”).length D、request.getParameterValues(“aihao”).size 参考答案:C 从表单中获取多个值用 getParameterValues,求数组的长度为 length。 7、用户使用 POST 方式提交的数据中存在汉字(使用 GBK 字符集) ,在 Servlet 中需要使用下面____个语句处 理。 A、request.setCharcterEncoding(“GBK”); B、request.setContentType(“text/html;charset=GBK”); C、reponse.setCharcterEncoding(“GBK”); D、response.setContentType(“text/html;charset=GBK”); 参考答案:A

其中 D 是设置响应的方式的,A 是设置请求的方法。其他两个是错误的。选择:A 8、简述 Servlet 的生命周期。Servlet 在第一次和第二次被访问时,生命周期方法的执行有何区别。 参考答案: 1、 在 Servlet 容器刚被启动时加载,也可以在容器收到客户请求服务时加载 <servlet> <load-on-startup>1</load-on-startup> </servlet> 标签<load-on-startup>配置该 Servlet 的加载方式,可选值为 0 和 1,如果配置为 1.Tomcat 会在启动时候加载 该 Servlet,否则,Tomcat 会在有人第一次请求该 Servlet 时才加载该 Servlet 2、 加载成功后,Servlet 容器便可以创建一个 Servlet 实例。Servlet 加载并实例化后,在处理客户端请求前,容 器必须通过调用它的 init 方法进行初始化 3、 实例创建好后,就要对其初始化。Servlet 的 init()方法的主要任务就是完成初始化工作。该方法由 Servlet 容器调用完成。对于每一个 Servlet 实例,该方法只允许被调用一次。 4、 利用 service 处理请求 在 Servlet 被成功初始化后容器就可以使用它去处理客户端发来的请求了。在使用 HTTP 协议发送请求时, 容器必须提供代表请求和回应的 HttpServletRequest 对象和 HttpServlerRespons 5、利用 destroy()方法终止服务 在 Servlet 执行完毕或是在处理请求过程中出现 UnavailiableException 异常, 需要移除 Servlet, 在移除之前, Servlet 会调用 destroy()方法让 Servlet 自动释放占用的资源。 ? 第一次访问时会执行 init()方法,第二次访问不会执行 init()方法。 9、简述转发和重定向跳转方式的区别,在 Servlet 中分别使用什么方法实现? 重定向跳转方式的区别:转发和重定向都可以使浏览器获得另外一个 URL 所指向的资源,区别是转发共 享同一个请求对象,而重定向不共享同一个请求对象。 在 Servlet 中分别使用什么方法实现?在 Servlet 中转发使用 RequestDespacher 接口的 forward()方法实现。 重定向由 HttpServletResponse 接口的 sendRedirect()方法实现。

第二章

Servlet 会话跟踪

1、下列关于 Cookie 的说法正确的是_____.(多选) A、Cookie 保存在客户端 B、Cookie 可以被服务器修改 C、Cookie 中可以保存任意长度的文本 D、浏览器可以关闭 Cookie 功能 参考答案:A、B、D Cookie 是保存在客户端的, 也可以被服务器修改, 但是 Cookie 的长度是有限的, 浏览器可以关闭 Cookie 功能。 2、写入和读取 Cookie 的代码分别是_______ A、request.addCookies()和 response.getCookies(); B、response.addCookie()和 request.getCookie(); C、response.addCookies()和 request.getCookies(); D、response.addCookie()和 request.getCookies(); 参考答案:D 3、Tomcat 的默认端口是______ A、80 B、8080 C、8088 D、8000 参考答案:B 4、 HttpServletRequest 的____方法可以得到会话(多选)

A、getSession() B、getSession(Boolean) C、getRequestSession(); D、getHttpSession(); 参考答案:A、B(参看 p38) 5、 下列选项中可以关闭会话的是______(多选) A、调用 HttpSession 的 close 方法 B、调用 HttpSession 的 invalidate()方法 C、等待 HttpSession 超时 D、调用 HttpServletRequest 的 getSession(false)方法 参考答案:A、B、 C、D HttpSession 的 invalidate()方法,使得回话失效,同时删除属性对象 等待 HttpSession 超时 Session 失效。 public HttpSession getSession(); 返回与这个请求关联的当前的有效的 session。如果调用这个方法时没带参数,那么在没有 session 与这个请 求关联的情况下,将会新建一个 session。 public HttpSession getSession(boolean create); 调用这个方法时带入了一个布尔型的参数,只有当这个参数为真时,session 才会被建立。 HttpServletRequest 的 getSession(false)方法 为了确保 session 能够被完全维持。Servlet 开发者必须在响应被提交之前调用该方法。 如果带入的参数为假,而且没有 session 与这个请求关联。这个方法会返回空值。 6、 在 HttpSession 中写入和读取数据的方法是_____ A、setParameter()和 getParameter() B、setAttributer()和 getAttribute() C、addAttributer()和 getAttribute() D、set()个 get() 参考答案:B getParameter()是获取参数,addAttributer()是保存 Cookie 到客户端 set()和 get()是一对修改属性的方法, 7、下列关于 ServletContext 的说法正确的是_____(多选) A、一个应用对应一个 ServletContext B、ServletContext 的范围比 Session 的范围要大。 C、第一个会话在 ServletContext 中保存了数据,第二个会话读取不到这些数据 D、ServletContext 使用 setAttributer()和 getAttribute()方法操作数据。 参考答案:A、B、D Servlet 上下文是运行 Servlet 的逻辑容器,同一个上下文中共享存有其中的信息和属性, 在 Servlet 中定义了一个 ServletContext 接口,用于存取 Servlet 运行的环境或者上下文信息。 ServletContext 对象可以通过使用 ServletConfig 对象的 getServletContext() 方法获得,在 Servlet 中提供的 getServletContext()方法也可是直接获得 ServletContext 对象。 ? getServletContext: public ServletContext getServletContext(); 返回这个 Servlet 的 ServletContext 对象。 8、关于 HttpSession 的 getAttibute()和 setAttribute()方法,正确的说法是_____(多选) A、getAttributer()方法返回类型是 String B、getAttributer()方法返回类型是 Object C、setAttributer()方法保存数据时如果名字重复会抛出异常 D、setAttributer()方法保存数据时如果名字重复会覆盖以前的数据 参考答案:B、D

Servlet API 解释如下: getAttribute(java.lang.String name) Returns the object bound with the specified name in this session, or null if no object is bound under the name. 可以运行以下代码测试: HttpSession session=request.getSession(); session.setAttribute("name", "limei"); session.setAttribute("name", "liyan"); out.print("ppp:"+session.getAttribute("name")); 9、使得 HttpSession 失效的三种方式是______、_______、和_________ 参考答案:关闭浏览器、调用 session 的 invalidate 方法和等待 session 超时 10、测试在其他浏览器下 Session 的生命周期,如:Firefox、Chrome 等。 略。

第三章 JSP 基础
1、下列关于 JSP 执行过程的说法正确的是____ (多选) A、JSP 在容器启动时会被翻译成 Servlet,并编译为字节码文件。 B、JSP 在第一次被请求时会被翻译成 Servlet,并编译成字节码文件。 C、在第二次请求时,将不再执行翻译步骤 D、如果 JSP 页面有错误将不再执行翻译步骤。 参考答案:B、C、D JSP 是一种 Servlet,但是与 HttpServlet 的工作方式不太一样。HttpServlet 是先由源代码编译为 class 文件后 部署到服务器下,先编译后部署。而 JSP 则是先部署源代码后编译为 class 文件的。先部署后编译。JSP 会 在客户端第一次请求 JSP 文件时被编译为 HttpJspPage(接口 Servlet 的一个子类), 该类被服务器临时存放在 服务器的工作目录里面。 举例说明 JSP 编译过程: 客户端第一次请求 greeting.jsp。 Tomcat 首先将 jsp 文件转化为标准的 Java 源代码, greeting_jsp.java,存放在 Tomcat 工作目录下,并将其编译为 greeting_jsp.calss,编译完后再运行 class 文件 来响应客户端请求。以后访问 jsp 时,服务器将不再重新编译 JSP 文件而是直接调用 class 文件来响应客户 端请求。 2、下列不属于 JSP 构成元素的是_____ A、脚本 B、声明 C、表达式 D、JavaScript 参考答案:D 3、下列注释方式可以再 JSP 中使用并且客户端无法查看的是____ A、<!—注释--> B、<%注释%> C、<%--注释--%> D、<%!注释%> 参考答案:C 在JSP页面中可以使用<%-- --%>的方式来注释,服务器编译JSP时会会忽略<%-- --%>之间的内容,所以生 成的注释在客户端是看不到的。 4、下列JSP表达式的写法正确的是_____(多选) A、<%=”abcdefg”.length()%> B、<%=”abcedfg”+123%> C、<%=new java.util.Date()%> D、<%=this%>

参考答案:A、B、C、D 都是表达式, abcdefg是字符串, length()是求该字符串的长度, 123是数字, 会自动转为字符, new java.util.Date() 是一个匿名对象,显示当前的系统时间。This代表本类对象的引用变量。其值为 org.apache.jsp.prime_jsp@171194d。 1、 在JSP页面中有下述代码,第二次访问此页面的输出是______ <%! Int x=0; %> <% Int y=0; %> <%=x++>,<%=y++> A、0,0 B、0,1 C、1,0 D、1,1 参考答案:C 声明中定义的是全局变量,可以在整个应用中使用。所以第二次访问时变量x为1,以后每次访问会自增,而 在脚本中定义的变量只在本页面内有效。第二次访问和第一次访问一样没有变化都是0. 2、 找出下述代码中的错误 <%! int x; int method(){ return x++); } %> <% int x=method(); int y; %> <%=method();%> 参考答案:<%=method();%>修改为<%=method()%>.表达式后面不允许有分号。 3、 编写JSP页面,输出100以内的素数 核心参考代码 <% int m,i,j; boolean f; for(i=2;i<=100;i++) {f=true; m=(int)Math.sqrt(i); for(j=2;j<=m;j++) if(i%j==0) { f=false;break; } } if (f) out.print(i+" "); %>

第四章 JSP 指令和动作
1、下列page指令的使用正确的是______(多选) A、<%@ page import="java.util.* java.sql.* "%> B、<%@ page import="java.util.*, java.sql.* "%> C、<%@ page import="java.util.*;java.sql.* "%> D、<%@page import="java.util.*" %> <%@page import="java.sql.*" %> 参考答案:B、D Import属性可以在当前页中引入JSP脚本代码中需要用到的其他类,需要引入多个类或包时, 可以在中间使用逗号隔开: <%@ page import="java.util.*, java.sql.* "%> 或使用多个page指令: <%@page import="java.util.*" %> <%@page import="java.sql.*" %> 2、下列useBean标准动作使用正确的是_____ A、<jsp:useBean id="a" class="java.util.Date" scope="request"></jsp:useBean> B、<jsp:useBean name="a" class="java.util.Date" scope="request"></jsp:useBean> C、<jsp:useBean id="a" class="Date" ></jsp:useBean> D、<jsp:useBean name="a" class="java.util.Date" scope="request"></jsp:useBean> 参考答案:A Id指定该JavaBean的实例的变量名,通过这个id可以访问这个实例。 class指定JavaBean的类名,如果需要创建一个新的实例,容器会使用class类指定的类并调用午餐构造方法来完 成实例化。 scope指定JavaBean的作用范围。 type 指定JavaBean对象的类型,通常在查找已存在的JavaBean时使用,这时不会产生新的对象。 3、下列setProperty标准动作使用正确的是______(多选) A、<jsp:setProperty name="id" property="name" value="name"/> B、<jsp:setProperty id="id" property="name" value="name"/> C、<jsp:setProperty name="id" property="name" value="name"/> D、<jsp:setProperty id="id" property="name" value="name"/> 参考答案:A、C name指定JavaBean对象名, 与userBean标准动作中的id相对应, property指定JavaBean中需要赋值的属性名, value 指定属性设置的值,参数param指定请求中的参数名(该参数可以来自于表单(URL传递参数等). 4、下列关于getProperty标准动作的说法正确的是_______(多选) A、当JavaBean不存在所访问的属性时,显示null B、当 JavaBean 不存在所访问的属性时,发生异常 C、getProperty 标准动作实际上是调用对应属性的 get 方法 D、以上都不对。 参考答案:B、C 5、存在以下JavaBean和JSP页面 Person.java package x; public class Person { String name; public String getName() { return name; } public void setName(String name) {

this.name = name; } } Index.jsp <jsp:useBean id="p" class="com.haiersoft.entity.Person"></jsp:useBean> <jsp:setProperty property="name" name="p" value="Mike"/> <jsp:setProperty property="name" name="p" param="names"/> <jsp:getProperty property="name" name="p"/> 访问http://localhost:8080/项目名/index.jsp?name=John时的页面输出为_____ 参考答案:C <jsp:setProperty property="name" name="p" param="names"/> name指定JavaBean对象名,与useBean标准动作中的id相对应。 property 指定JavaBean中需要赋值的属性名 value指定要为属性设置的值 param指定请求中的参数名(该参数可以来自表单、URL传递参数等)并将该参数的值赋给property所指定的 属性) 从地址栏上传递的参数是name,JSP页面中设置的参数为names,所以该参数没有获得值,对应属性中的值 为value=”Mike”中的值Mike 6、广义上讲,满足_______、_____和_______三个要求的Java类可以称为JavaBean , 参考答案: (1)是一个公共类 含有公有的无参构造方法 (2)属性私有 (3)属性具有公有的get和set方法

8.7、简述 include 指令和 include 标准动作的区别。
include 指令用于在当前 JSP 中包含其他文件,可以是 JSP、HTML 或文本文件,包含的过程发生在将 JSP 翻译成 Servlet 时,是静态包含。 include 标准动作用于在 JSP 页面动态包含其它页面,是在运行时完成包含,是动态包含。

第五章 JSP内置对象
1、下列属于 JSP 内置对象的是________(多选) A、request B、response C、session D、servletContext 参考答案:A、B、C JSP 内置对象有 9 个:request、response、session、application、out、pageContext、config、page、exception. 2、下列关于 JSP 内置对象的说法正确的是_______(多选) A、内置对象无需定义,可直接使用 B、内置对象无法再 JSP 的声明部分使用 C、内置对象只能在 JSP 脚本部分使用。 D、只有使用 Tomcat 作为 JSP 容器时才能使用内置对象。 参考答案:A JSP 内置对象是指由 JSP 容器加载的,不用声明就可以直接在 JSP 页面中使用的对象。 3、下列 request 和 response 内置对象的使用正确的是______(多选)

A、request.getRequestDispatcher(“index.jsp”).forward(); B、response.sendRedirect(“index.jsp”); C、request.getParameterValues(“name”); D、response.setContentType(“text/html;charset=gbk”); 参考答案:B、C、D ? request常用的方法有: String getParameter (String name):根据参数名称得到单一参数值 String getParameterValues(String name):根据参数名称得到一组参数值。 ? response常用方法: (1)void setContentType(String name):设置相应内容的类型和字符编码 例如:设置响应内容类型为text/html,字符编码为gbk response.setContentType(“text/html;charset=gbk”); (2)void sendRedirect(String url):重定向到指定的URL资源 例如:使用response对象的sendRedirect()方法实现页面的重定向 response.sendRedirect(“index.jsp”); 4、 在1.jsp中有下述代码 <% out.println(session.getAttribute("name")); request.setAttribute("name","JSP"); %> session.setAttribute("name","JSP"); A、 JSP JSP response.sendRedirect("2.jsp"); %> B、 null JSP 2.jsp C、JSP JSP <% D、null JSP out.println(request.getAttribute("name")); 参考答案:D 在1.jsp 中分别在request和session范围内保存了数据, 然后重定向到2.jsp页面, 在2.jsp页面中输出名称为name 的值,request范围内只在当前页面有效,session在会话中有效,故选择D,输出没有换行。所以不选择B 5、 pageContext、request、session、application四个内置对象的作用范围从小到大依次为___________ A、 request、pageContext、session、application B、 request、session、pageContext、application C、 request、session、application、pageContext D、 pageContext、request、session、application 参考答案:D pageContext的范围是当前页面, ,在一个JSP页面有效 request的指从HTTP请求到服务器处理结束,返回响应的整个过程,在这个过程中使用forward方法跳转多个 JSP,在这些页面里都可以使用这个变量。 session的有效范围是当前会话,从浏览器打开到浏览器关闭这个过程。 application的有效范围是整个应用程序,作用域中的变量,它们的存活期是最长的,如果不进行手工删除, 它们就一直可以使用。 6、 在Servlet的doGet()和doPost()方法中,如何得到与JSP内置对象out、request、rsponse、session、application 分别对应的对象? (1)可以通过以下代码获取out对象: PrintWriter out = response.getWriter(); (2)Servlet直接继承了HttpServlet类,可以直接使用request和response对象 (3)可以通过以下代码获取session对象 HttpSession session=request.getSession(); (4)application是javax.servlet.ServletContext类的对象 Application对象需要通过ServletConfig.getServletContext()来获取。 Servlet自动定义了ServletConfig对象。故可以使用以下代码获取application对象 ServletContext application =this.getServletContext();

或者: ServletConfig config=getServletConfig(); ServletContext application=config.getServletContext();

第六章 EL 和 JSTL
1、 下列关于EL的说法正确的是________ A、EL可以访问所有的JSP内置对象 B、EL可以读取JavaBean的属性值 C、EL可以修改JavaBean的属性值 D、EL可以调用JavaBean的任何方法 参考答案:A、B 2、 下列 EL 的使用语法正确的是______(多选) A、${1+2==3?4:5} B、${param.name+paramValues[1]} C、${someMap[var].someArray[0]} D、${someArray[“0”] 参考答案:A、B 数组的下标应该是常量,不能是变量。 3、 关于 JSTL 条件标签的说法正确的是________(多选) A、单纯使用 if 标签可以表达 if…else ….的语法结构 B、when 标签必须在 choose 标签内使用 C、otherwise 标签必须在 choose 标签内使用 D、以上都不正确 参考答案:B、C <c:choose>用于条件选择,和<c:when>以及<c:otherwise>一起使用 4、 下列代码的输出结果是_______ A、1 2 3 4 5 6 7 8 B、3 5 C、4 6 D、4 5 6 <% int[] a=new int[] {1,2,3,4,5,6,7,8}; pageContext.setAttribute("a",a); %> <c:forEach items="${a }" var="i" begin="3" end="5" step="2" > ${i } </c:forEach> 参考答案:C 定义了一个数组 a 并且初始化 pageContext 为 JSP 内置对象,用于存储当前页面的相关信息。 pageContext.settribute(“a”,a);将对象 a 存储为名称 a(前面的 a 是键,后面的 a 是值是一个对象) <c:forEach items="${a }" var="i" begin="3" end="5" step="2" > 其中的 items="${a },这里的对象是 a,用<c:forEach>标签遍历对象的所有元素 5、 下列指令中,可以导入 JSTL 核心标签库的是_______(多选) A、<%@taglib url="http://java.sun.com/jsp/jstl/core" prefix="c" %> B、<%@taglib url="http://java.sun.com/jsp/jstl/core" prefix="core" %> C、<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

D、%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="core" % 参考答案:C taglib 指令中,uri 属性指明标签库描述文件的路径;prefix 属性指明标签库的前缀。 6、 下列代码中,可以取得 ArrayList 类型的变量 x 的长度的是_______ A 、${fn.size} B、<fn:size value=”${x}”/> C、${fn:length(x)} D、<fn:length value=”${x}”/> 参考答案: 7、 JSTL 分为____、____、_____、____、______五部分 参考答案: JSTL 标签库分为五部分:核心标签库、国际化输出标签库(I18N 标签库) 、XML 标签库、SQL 标签库、EL 函数库

JAVA WEB 部分:
1. 基于 HTTP 协议的 Servlet 通常继承__C______, 也可以继承__B______。 这些类型都实现了接口___A_____。 A. javax.servlet.Servlet B. javax.servlet.GenericServlet C. javax.servlet.http.HttpServlet 2. 我们实现的基于 HTTP 协议的 Servlet 的服务方法签名正确的有__ BCD_____________。 A. public void doGet(ServletRequest req, ServletResponse res) throws IOException, ServletException B. public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException C. public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException D. public void service(ServletRequest req, ServletResponse res) throws IOException, ServletException 重写服务方法,一般是以下两种方式: doGet(HttpServletRequest req,HttpServletResponse res) doPost(HttpServletRequest req,HttpServletResqonse res) HttpServlet 继承自 GenericServlet,其中的 service 方法自动实现; GenericServlet 的调用方法: 容器 -->service(ServletRequest req,ServletResponse res) -->service(HttpServletRequest req,HttpServletResponse res) -->METHOD="GET"-->doGet(HttpServletRequest req,HttpServletResponse res) -->METHOD="POST"-->doPost(HttpServletRequest req,HttpServletResponse res) API 中有 D 这个方法 3. 在 Servlet 中要输出内容,使用 HttpServletResponse 的方法_setContentType 设置内容,对于文本类型调用 方法 __ getWriter _ 获得一个 ___ PrintWriter ___ 的输出流, 对于二进制类型调用 _ getOutputStream 获得 _ ServeltOutputStream _ 的 输 出 流 。 调 用 HttpServletRequest 的 方 法 _ getParameter 解 析 有 名 参 数 , 调 用 _ getInputStream 获 得 一 个 _ ServletInputStream _ 的 输 入 流 。 在 Servlet 中 也 可 以 调 用 _ ServletContext 和 _ HttpServletRequest _的方法_ getRequestDispatcher __获得__ RequestDispatcher __, 将请求的处理权交给一个新 的资源。 A. ServletInputStream B. ServletContext C. HttpServletRequest D. setContentType E. getInputStream F. getOutputStream G. getRequestDispatcher H. RequestDispatcher I. getParameter J. ServeltOutputStream K. getWriter L. PrintWriter

4. 控制一个 Servlet 的生命周期的方法有__C______, _____B___和____A____。其中___C_____在所有的请求 到来之前调用,____A____在撤消应用或关闭 web container 时调用。Servlet 通常只有一个实例,被所有的访问 者共享,因此要注意资源的同步。 A. destroy B. service C. init 5. 以下是部署在主机 www.briup.com 80 口上的 web 应用 webdev 的部署描述文件 web.xml 的一部分: ? <servlet> <servlet-name>accountServlet</servlet-name> <servlet-class>com.tarena.account.AccountServlet</servlet-class> <init-param> //配置初始化参数 <param-name>interestRate</param-name> <param-value>0.012</param-name> </init-param> </servlet> <servlet-mapping> <servlet-name>accountServlet</servlet-name> <url-pattern>/account/*</url-pattern> </servlet-mapping> … 一个客户在浏览器的地址栏输入了如下 URL: http://www.briup.com/webdev/account/deposit?accno=1212&amt=1000 调 用 ____G_HttpServlet___ 或 _____E_Servletconfig__ 的 方 法 ____F__getInitParameter__ 可 以 获 得 初 始 参 数 interestRate 的 值 。 在 accountServlet 中 调 用 HttpServletRequest 的 getRequestURI 返 回 ___H__/webdev/account/deposit___, 调 用 getQueryString 返 回 ____B_ accno=1212&amt=1000___, 调 用 getContextPath 返回 ___A__ /webdev___, 调用 getServletPath 返回 ______C_/account_, 调用 getPathInfo 返回 ___D__/deposit ___。 A. /webdev B. accno=1212&amt=1000 C. /account D. /deposit E. Servletconfig F. getInitParameter G. HttpServlet H. /webdev/account/deposit 6. 在 Java Web 开发中,跟踪客户状态的手段可通过__B__ Session____和___F__Cookie ___; 增加一个新的 cookie, 调用___E_HttpServletResponse____的___C__ addCookie___方法; 要在服务器端查询 cookie, __A_HttpServletRequest__的_D_getCookies 方法。 Session 的类型是_H__HttpSession__, 获得 session 的途 径是调用_A_HttpServletRequest__的方法_G__getSession___。 A. HttpServletRequest B. Session C. addCookie D. getCookies E. HttpServletResponse F. Cookie G. getSession H. HttpSession 7. 将 session 与浏览器联系起来的手段有 Cookie 和 URL rewriting, 所用 Cookie 变量却省为__B______, URL rewriting 的却省参数是_____A___。 URL rewriting 通过调用 HttpServletResponse 的___D_____重写重定向资源, 调用__C______重写一般资源。 A. jsessionid B. JSESSIONID C. encodeURL D. encodeRedirectURL URL 重写:服务器在响应之后返回的 url 后加一个 jsessionid 8. Java Web 应用中往往通过设置不同作用域的属性来达到通讯的目的。如果某个对象只在同一请求中共享, 通过调用_B__HttpServletRequest___的 setAttribute 方法设置属性, 也可通过_C_ServletRequestListener___事件侦 听器实现;如果在不同的请求中传递某一客户的状态,调用_A__HttpSession__的 setAttribute 方法设置属性,也

可通过 _F_HttpSessionListener___ 事件侦听器实现;如果某个对象被所有的访问者共享,把这个对象设置为 _D__ServletContext___的属性即可,也可通过_E__ ServletContextListener___事件侦听器实现。 A. HttpSession B. HttpServletRequest C. ServletRequestListener D. ServletContext E. ServletContextListener F. HttpSessionListener 9. Filter 必须实现接口__I__Filter__, 它只有一个实例,控制生命周期的方法是 _F_init___,__G__doFilter__和 _H_destroy____; 在提供服务之前被调用方法的参数类型是_J_FilterConfig(init 的参数)___;服务方法的参数类 型 是 _B__ServletRequest___ , __C_ServletResponse__ 和 _A_FilterChain_ 。 如 果 要 截 取 请 求 , 我 们 会 提 供 _E__HttpServletRequestWrapper___ 类 型 的 封 装 类 ; 如 果 截 取 应 答 , 我 们 会 提 供 __D_HttpServletResponseWrapper__ 类型的封装类,截取应答的标志是在调用 _A_ FilterChain___ 类型对象的 _G__doFilter __方法后继续有代码处理应答。 A. FilterChain B. ServletRequest C.ServletResponse D.HttpServletResponseWrapper E. HttpServletRequestWrapper F. init G. doFilter H. destroy I. Filter J. FilterConfig(init 的参数) 10. 以下 JSP 代码属于指令 directive 的有 __BGK__; 属于表达式( expression )的有 _AH_______; 属于申明 (declaration)的有__F______;属于脚本程序(scripleting)的有_EJ_______;属于 action 的有_CDI_______。 A. <%=12%> B. <%@include file=”header.html”%> C. <jsp:forward page=”cart.jsp”/> D. <jsp:include page=”header.html”/> E. <% int i = 10; %> F. <%! int i = 10; %> G. < %@taglib uri=”http://java.sun.com/jstl/core” prefix=”c”%> H. <%=new java.util.Date()%> I. <jsp:useBean id=”gzhu” class=”com.tarena.Instructor”/> J. <% response.sendRedirect(“http://www.tarena.com”); %> K. <%@page contentType=”text/html; charset=gb2312”%> 11. 在 directive page 中,__B______属性可反复出现, ___AC_____属性的却省值为 true, ____E____属性的值 指向处理异常的页面,______D__表示激活 EL。 A. autoFlush B. import C. session D.isELIgnored=false E. errorPage jsp 的 page 指令(directive) jsp 的 page 指令(directive)影响着由 JSP 页面生成的 Servlet 的整体结构!page 指令的功能包括 (1)类的导入(2)Servlet 父类的制定(3)内容类型的设置(4)页面会话的设置(5)页面缓冲的设置 (6)错误页面的设置(7)控制线程行为 page 属性(attribute)值的两边的双引号也可以用单引号代替,单引号不能省略,若属性值本身含有引号,则 在它们之前加上反斜杠来转义。 page 的几个重要的指令:1.import 唯一的一个允许多次出现的 attirbute. 默认情况下有以下几个是自动导入的 包,java.lang.*; java.servelt.*; javax.servlet.jsp.*; javax.servlet.http.*! 2.pageEncoding 用来单独设置页面的字符集。%@page pageEncoding="GB2312"% 3.contentType 设置响应报头标明发送到客户端的 MIME 类型和页面字符集! <%@ page contentType="text/html;charset=gb2312"%> 4.session 属性控制页面的会话特性!%@page session="true|false"% 默认值为 true. 5.buffer 和 autoFlush 属性 buffer 设置缓冲区的大小 <%@ page buffer="sizekb|none"%> autoFlush 当缓冲区满后自动清空! %@page autoFlush="true|false"% 默认值为 true,为 false 时会抛出一个异常。 6. errorPage 和 isErrorPage (attribute)

<%@page errorPage="RelativeURL "%>指定一个页面处理当前页面抛出但未捕获的异常对象。 %@page isErrorPage="true|false"% 表明当前页面是否可以作为其他 jsp 页面的错误页面 。可以将此页面放在 WEB-INF 目录中,有助于提高程序的安全性。 1、<%@ page buffer="25kb" autoFlush="true" %> 2、buffer="none | 8kb | sizekb" buffer 的大小被 out 对象用于处理执行后的 JSP 对客户浏览器的输出。缺省值是 8kb 3、autoFlush="true | false" 设置如果 buffer 溢出,是否需要强制输出,如果其值被定义为 true(缺省值),输出正常,如果它被设置为 false, 如果这个 buffer 溢出,就会导致一个意外错误的发生.如果你把 buffer 设置为 none,那么你就不能把 autoFlush 设 置为 false.

12. 有一个 JavaBean com.briup.Student, 在 JSP 中用 action 在 session 作用域里创建一个对象 hellen 的语句是 ___<jsp:useBean id=”hellen” scope=”session” class=”com.briup.Student”/>____。 什么是 JavaBean?(参见文档) 13. 以下_ABCD_______是 JSP 中正确的注释: A. <%--comments--%> 真正的注释 B. <% //comments %> C. <!--comments --> 会写在页面当中 D. <%! /* comments */ %> JAVA 中的单行和多行注释 14. 以下__AB______是错误的: A. <%! int i = 10; int j = 10; i += j; %> B. <% int getHash(String str) { return str.hashCode(); } %> 声明脚本 C. <%! class A { void print(){System.out.println(“in A”);}} %> 15. 在 JSP 中有很多隐含变量,request 的类型是 C_javax.servlet.http.HttpServletRequest______, response 的类型 是_I__javax.servlet.http.HttpServletResponse__, page 的类型是__E__javax.servelet.jsp.JspPage_,pageContext 的类型 是__B__javax.servlet.jsp.PageContext____, session 的类型是_D__javax.servlet.http.HttpSession_____, application 的类型是____G__ javax.servlet.ServletContext__, config 的类型是__F_javax.servlet.ServletConfig_, out 的类型是 _H__ javax.servlet.jsp.JspWriter_____, exception 的类型是___A__java.lang.Throwable___。 A. java.lang.Throwable B. javax.servlet.jsp.PageContext C.javax.servlet.http.HttpServletRequest D. javax.servlet.http.HttpSession E. javax.servelet.jsp.JspPage F. javax.servlet.ServletConfig G. javax.servlet.ServletContext H. javax.servlet.jsp.JspWriter I.javax.servlet.http.HttpServletResponse 参见 PDF97 页 16. JSP 在处理客户请求前会被编译成 servlet, JSP 中 declaration 中定义的变量和方法在运行时成为对应 servlet 的 ___B_____ 变 量 和 方 法 ; scripting 会 成 为 服 务 方 法 ____C____ 的 语 句 。 JSP 的 生 命 周 期 受 到 ____A____,___C_____和___D_____的控制。 A. jspInit B. member C. _jspService D. jspDestroy 调出一个编译后的 JSP 文件给学生看 D:\JAVA\Tomcat-5.5.25\work\Catalina\localhost\RunCommunity\org\apache\jsp\pages 17. 在 web 应用 webdev 的 WEB-INF 的目录下有一个标签库描述文件 sample.tld, 其内容部分如下: <tag>

<name>hello</name> <tag-class>com.tarena.tags.HelloTag</tag-class> <body-content>empty</body-content> <attribute> <name>user</name> <required>true</required> <rtexprvalue>false</rtexprvalue> <type>java.lang.String</type> </attribute> <example></example> </tag> 在 hello.jsp 中要使用标签 hello, 因此必须先引入该标签库,语句是__<%@taglib uri=”/WEB-INF/sample.tld” prefix= ” s ” %>_____ 。要用 hello 标签在页面上给” world “打招呼的语句是 ___<s:hello user= ” world ” />_____________。 18. 在 web 应用 webdev 的 WEB-INF/tags 目录下放置了一些标签文件,用前缀”me”引入这些标签到一个 jsp 的 directive taglib 的表达式是___<%@taglib tagdir=”/WEB-INF/tags” prefix=”me”%>__。 19. 一个没有 body 的标签其 tag handler 要实现接口__C______;如果某个标签有 body, 但 标签不与 body 交互, tag handler 要实现接口___E_____, 如果要与 body 交互,tag handler 要实现接口____D____。通常前两种情况的 tag handler 会继承___A_____, 最后一种情况 tag handler 会继承_____B___。 A. javax.servlet.jsp.tagext.TagSupport B. javax.servlet.jsp.tagext.BodyTagSupport C. javax.servlet.jsp.tagext.Tag D. javax.servlet.jsp.tagext.BodyTag E. javax.servlet.jsp.tagext.IterationTag 20. 在 EL 中以下____B____可以获得 requestURI: A. ${requestScope.request.requestURI} B. ${pageContext.request.requestURI} C. ${requestScope.requestURI} 21. EL 中可使用一些隐含对象,通过____C____可以访问 request 中的属性(attriubte), 通过___A_____可以访问 session 中的属性, 通过___B_____可以访问 application 中的属性, 通过___D_____可以访问浏览器输入的参数, 通过____G____可以访问请求头中的参数,通过____E____可以访问 web 应用的参数,通过____F____可以访问 cookie。 A. sessionScope B. applicationScope C. requestScope D. param E. initParam F. cookie G. header 22. 在 EL 中能够访问的函数(function)必须是_____A___。 A. public static B. protected C. protected static D. public static void F. protected static void 23. 在 EL 中访问 JavaBean Student 的对象 smallTank 的属性 name 正确的是__ABC______。 A. ${smallTank.name} B. ${smallTank[?name?]} C. ${smallTank[“name”]} D. ${smallTank(?name?)} SESSION AAA=”aa” APPLICATION(aa=”hhhh”) applicationScope['aa'] 此种情况只能用方括号 25. 使用 Tomcat,我们通常会设置环境变量_C_ CATALINA_HOME_指向安装目录; web 应用的却省部署目录 在安装目录下的___A__webapps___子目录; 如果有多个 web 应用共享的包如数据库驱动程序, 我们应该将其放 置在安装目录的 __D__common/lib__ 子目录; Tomcat 的主要配置文件是安装目录下 __B_conf _ 子目录下的

___F__server.xml___;Tomcat 5 的应用相关的配置文件放在安装目录下___E__conf/Catalina/<host>___子目录。 A. webapps B. conf C. CATALINA_HOME D. common/lib E. conf/Catalina/<host> F. server.xml

练习题
一、 选择题 1. 表单中的数据要提交到的处理文件由表单的( A )属性指定。 A.method B. name C. action D. 以上都不对

2. 要运行 JSP 程序,下列说法不正确的是( B ) A. 服务器端需要安装 Servlet 容器,如 Tomcat 等。 B. 客户端需要安装 Servlet 容器,如 Tomcat 等。 C. 服务器端需要安装 JDK。 D. 客户端需要安装浏览器,如 IE 等。 3. 当发布 Web 应用程序时,通常把 Web 应用程序的目录及文件放到 Tomcat 的( C)目录下。 A.work B. temp C. webapps D. conf 4. 下面有关 HTTP 协议的说法不正确的是( D ) A. HTTP 协议是 Web 应用所使用的主要协议 B. HTTP 协议是一种超文本传输协议(Hypertext Transfer Protocol),是基于请求/响应模式的 C. HTTP 是无状态协议 D. HTTP 的请求和响应消息如果没有发送并传递成功的话,HTTP 可以保存已传递的信息 5. 下面有关 Servlet 的描述错误的是(C )。 A. 一个 Servlet 就是 Java 中的一个类 B. Servlet 是位于 Web 服务器内部的服务器端的 Java 应用程序 C. Servlet 可以由客户端的浏览器解释执行 D. 加载 Servlet 的 Web 服务器必须包含支持 Servlet 的 Java 虚拟机 6. 下面不属于 JSP 指令的是:( B ) A. include B. import C. page D. taglib

7. ( B )动作用于转向另一个页面。 A. next B. forward C. include D. param

8. 在项目中已经建立了一个 JavaBean,该类为:bean.Student,该 bean 具有 name 属性,则下面标签用法 正确的是:( C ) A.<jsp:useBean id="student" class="Student" scope="session"> </jsp:useBean> B.<jsp:useBean id="student" class="Student" scope="session"> </jsp:useBean> C.<jsp:useBean id="student" class="bean.Student" scope="session"> </jsp:useBean> 9. 下列选项中,( B)可以准确地获取请求页面的一个文本框的输入(文本框的名称为 name)。 A. request.getParameter(name)

B. request.getParameter(”name”) C. request.getParameterValues(name) D. request.getParameterValues(“name”) 10. 使用 response 对象进行重定向时,使用的方法是( C )。 A. getAttribute B. setContentType D. setAttribute

C. sendRedirect

11. session 对象中用于设定指定名字的属性值,并且把它存储在 session 对象中的方法是( A )。 A. setAttribute C. getValue B. getAttributeNames D. getAttribute

12. 在 application 对象中用(B )方法可以获得 application 对象中的所有变量名。 A. getServerInfo B. nextElements()

C. removeAttribute D. getRealPath 13. 有关 struts 2 的说法不正确的是( B ) A. Struts 是一个用于简化 MVC 框架(Framework)开发的 Web 应用框架 B. 应用 Struts 2 不需要进行配置 C. Struts 2 含有丰富的标签 D. Struts2 采用了 WebWork 的核心技术 14. Web 应用的数据共享方式不包括( C )。 A.基于请求的共享 B.基于会话的共享 C.基于页面的共享 D.基于应用的共享 15. 要在页面上输出 2+3=${2+3},则对应的程序代码应为(A )。 A. 2+3=\${2+3} B. 2+3=${2+3} C. 2+3=/${2+3} D. 以上都不对 16. 下面有关 EL 中“.“和“[ ]“两种存取运算符的说法不正确的是( C ) A. 两者在某些情况下是等效的 B. “[ ]“运算符主要用来访问数组、列表或其他集合 C. 如果要动态取值时,两者都可以实现 D. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“ 17. 要使用 JSTL 的核心标签库,需要在 JSP 源文件的首部加入如下声明语句( A ) A. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> B. <%@ taglib prefix=”x” uri=”http://java.sun.com/jsp/jstl/xml”%> C. <%@ taglib prefix=”fmt” uri=”http://java.sun.com/jsp/jstl/fmt”%> D. <%@ taglib prefix=”sql” uri=”http://java.sun.com/jsp/jstl/sql”%>

18. 以下( B)标签用于实现循环功能,类似与 Java 语句中的 for 循环。 A. <c:set> B. <c:Tokens> B. <c:forEach> D. <c:import>

19. 以下 URL 中语法不正确的是( D ) A.http://www.bta.net.cn:80/software/home.html B.telnet://bdysseu.bbb.com:70 C.ftp://ftp.btbu.edu.cn D.www0.btbu.edu.cn 20. page 指令用于定义 JSP 文件中的全局属性,下列关于该指令用法的描述不正确的是:( D ) A. <%@ page %>作用于整个 JSP 页面。 B. 可以在一个页面中使用多个<%@ page %>指令。 C. 为增强程序的可读性,建议将<%@ page %>指令放在 JSP 文件的开头,但不是必须的。 D. <%@ page %>指令中的属性只能出现一次。 第二题:填空。 1. 在编写 Servlet 时,需要继承 要 HttpServletRequest 和 HttpServlet 类,在 Servlet 中声明 doGet()和 doPost()需 类型的两个参数。 、

HttpServletResponse

2. jsp 主要内置对象有: application ____session_

、 exception、 pageContext、 cookie request 、 response

__、out、config、page。

3. 使用 useBean 动作标记的时候 scope 属性有 4 种选项,作用范围由小到大是______page___、 ___request______、___session______、_____application____,其中____session_____是指当关闭浏览器 的时候这个 javabean 失效, ____ _application____是指当关闭服务器的时候这个 javabean 失效。


JavaWeb期末考试题必过宝典.doc

JavaWeb期末考试题必过宝典 - JAVAWEB 期末考试必过宝典 版权所有

Javaweb复习题(带答案).doc

Javaweb复习题(带答案)_IT认证_资格考试/认证_教育专区。Javaweb 复习题 1....JavaWeb复习题 16页 1下载券 JavaWeb期末考试题必过宝... 32页 1下载券...

JAVA WEB期末复习题库(便于打印版).doc

JAVA WEB期末复习题库(便于打印版)_文学_高等教育_教育专区。1、当访问一个 ...JavaWeb期末考试题必过宝... 32页 2下载券 2014java期末复习试题 暂无评价...

JAVAWEB期末复习题.doc

JAVAWEB期末复习题_工学_高等教育_教育专区。第 1 章 WEB 开发环境

javaweb期末考试复习选择题.doc

javaweb期末考试复习选择题 - JSP 期末考试复习题 1)当 JSP 页

Java web期末考试考试.doc

它必须嵌入 Html 语言编写的 web 页面中,通过与 java 相关的浏览器控 制执行...JavaWeb期末考试题必过宝... 32页 2下载券 Java web期末考试模拟题 11页...

JAVAWEB期末复习题库.pdf

JAVAWEB期末复习题库_IT认证_资格考试/认证_教育专区。1、当访问一个

javaweb期末题..doc

--如果没有指定的话,默认会去加载/WEB-INF/applicationContext.xml文件 , 此处...JavaWeb期末考试题必过宝... 32页 2下载券 javaweb期末考试复习选择... ...

JavaWeb期末试卷_图文.doc

JavaWeb期末试卷_电脑基础知识_IT/计算机_专业资料。B. HTTP 协议是一种超文本传输协议(Hypertext Transfer Protocol) , 是基于请求/响应模式的 期末考试卷(卷) ...

Java web期末考试题.doc

Java web期末考试题 - 天津师范大学期末考核 班级:计算机 1304 2

JAVA WEB期末考试题.doc

JAVA WEB期末考试题 - 《JAVA WEB 程序设计》期末考试题 一、简

Java web期末考试模拟题.doc

在一个 Web 应用中, admin 目录与 images 目录为同级目录, 现在 admin 目录...JavaWeb期末考试题必过宝... 32页 1下载券 Java web期末考试 3页 免费 ...

java web 期末试题填空简答整理.doc

java web 期末试题填空简答整理_计算机软件及应用_IT/计算机_专业资料。1 ___...Java web整理 22页 1下载券 喜欢此文档的还喜欢 JavaWeb期末考试题必过宝.....

java.web期末考试.doc

java.web期末考试_计算机软件及应用_IT/计算机_专业资料。1、下面哪一个不是...javaweb期末考试复习选择... 19页 1下载券 JavaWeb期末考试题必过宝... ...

Java Web期末练习题(1).pdf

练习题 A Unit 1 1、在 JSP 中引入 JavaScript 的方法有哪些? 2、在 ...JavaWeb练习题 暂无评价 19页 免费 JavaWeb期末考试题必过宝... 32页 1下载...

javaweb考试题.doc

Java 开发工程师 Web 测试卷一、单选题 1、下列选项中,() 可以准确地获取...JavaWeb复习题 16页 1下载券 JavaWeb期末考试题必过宝... 暂无评价 32页 ...

JavaWeb期末考试A卷.pdf

JavaWeb期末考试A卷 - ………装………订………线………...

Java Web试题.doc

Java Web试题 - JSP 期末考试题 针对以下题目请选择正确的答案(每道

昆明理工大学java期末考试题,背完必过.doc

昆明理工大学java期末考试题,背完必过 - 1 在 java 中,数组的下标是从( )开始的。 a. 以上说法都不对 b. 可以任意指定 c. 1 d. 0 1 在 Java 中,n...

Java期末考试题及答案.doc

Java期末考试题及答案 - Java 期末考试题 一、简答题(共 8 个题,每题 5 分,共 40 分) java 语言有哪些特点? (1)简单的 Java 最初是为对家用电器进行...