} } Index.jsp
访问http://localhost:8080/项目名/index.jsp?name=John时的页面输出为_____ 参考答案:C name指定JavaBean对象名,与useBean标准动作中的id相对应。 property 指定JavaBean中需要赋值的属性名 value指定要为属性设置的值 param指定请求中的参数名(该参数可以来自表单、URL传递参数等)并将该参数的值赋给property所指定的属性) 从地址栏上传递的参数是name,JSP页面中设置的参数为names,所以该参数没有获得值,对应属性中的值为value=”Mike”中的值Mike 6、广义上讲,满足_______、_____和_______三个要求的Java类可以称为JavaBean , 参考答案:(1)是一个公共类 含有公有的无参构造方法 (2)属性私有 (3)属性具有公有的get和set方法 7、简述include指令和include标准动作的区别。 在Servlet中,可以include另外一个资源(Servlet或JSP),在JSP中也有类似的概念,不过它有两种,其一是静态Include,另外一种是动态Include。 静态Include是JSP指令标记。 <%@include file=”head.htm”%> 其中file可以是HTML文件、Servlet文件或者另外一个JSP文件 动态Include Include标准动作用于在JSP页面动态包含其他页面。该动作的功能和JSP的include指令类似,区别在于include指令是在编译时完成包含,是静态包含;而include标准动作是在运行时完成包含,是动态包含。 第五章 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内置对象的说法正确的是_______(多选) 9 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中有下述代码 <% request.setAttribute(\ session.setAttribute(\ response.sendRedirect(\ %> 2.jsp <% out.println(request.getAttribute(\ out.println(session.getAttribute(\ %> A、 JSP JSP B、 null JSP C、JSP JSP D、null JSP 参考答案:D 在1.jsp 中分别在request和session范围内保存了数据,然后重定向到2.jsp页面,在2.jsp页面中输出名称为name的值,request范围内只在当前页面有效,session在会话中有效,故选择D, 10 输出没有换行。所以不选择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 11 数组的下标应该是常量,不能是变量。 3、 关于JSTL条件标签的说法正确的是________(多选) A、单纯使用if标签可以表达if…else ….的语法结构 B、when标签必须在choose标签内使用 C、otherwise标签必须在choose标签内使用 D、以上都不正确 参考答案:B、C 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\ %> 参考答案:C 定义了一个数组a并且初始化 pageContext为JSP内置对象,用于存储当前页面的相关信息。 pageContext.settribute(“a”,a);将对象a存储为名称a(前面的a是键,后面的a是值是一个对象) 其中的items=\,这里的对象是a,用 A、<%@taglib url=\B、<%@taglib url=\C、<%@taglib uri=\D、%@taglib uri=\ 参考答案:C taglib指令中,uri属性指明标签库描述文件的路径;prefix属性指明标签库的前缀。 6、 下列代码中,可以取得ArrayList类型的变量x的长度的是_______ A 、${fn.size} B、 D、 7、 JSTL分为____、____、_____、____、______五部分 参考答案: JSTL标签库分为五部分:核心标签库、国际化输出标签库(I18N标签库)、XML标签库、SQL标签库、EL函数库 12 8、 在页面中接收用户输入的字符串,使用JSTL将此字符串反向输出,不允许使用Java代 码,如用户输入”abcdefg”,则输出”gfedcba” (略) 9、 使用JSTL在页面中输出1到100的质数,不允许有Java代码。 13