Struts2测试题
今天给大家看一套我最近做的一套关于Struts2的题:
1.以下关于jQuery说法错误的选项是( D )。
A.“$”为jQuery脚本库的默认全局变量名,即“$” = “jQuery”
B.$.ajax( )方法是jQuery提供的最底层的Ajax方法,其它如“$.get( )、$.post( )、$.getJSON( )”等都是在其基础上的再次封装
C.$.ajax( )方法具有较强的灵活性,通过设置“type”属性可以指定请求方式,设置“dataType”属性可以指定服务器端返回的数据类型
D.$.parseJSON( )方法用来返回JSON格式的数据,通常需要与$.getJSON( )方法联合使用
解析:$.parseJSON是用来解析JSON格式的,而不是返回
2. 下列选项中关于XMLHttpRequest对象的说法错误的是( BC )。(选两项)
A.XMLHttpRequest对象是Ajax技术的核心,它的作用是可以发送异步请求到服务器端
B.status属性的作用可以返回当前请求的就绪状态,其常用值为:0、1、2、3、4
解析:readyState的的常用值是0、1、2、3、4,而不是struts属性
C.readyState属性的作用可以返回当前请求的HTTP状态码,其常用值404表示找不到访问对象
readyState的作用可以返回当前请求的就绪状态,而不是HTTP
D.当就绪状态是4且状态码是200时,方可处理服务器数据
3.以下选项中关于jQuery插件说法错误的是( D )。
A.jQuery插件是指基于jQuery脚本库开发出来的扩充函数库
B.jQuery的官方插件叫做jQuery UI
C.所有jQuery插件都必须依赖于jQuery基础脚本库
D.要想使用lazyload插件除了需要导入jQuery基础脚本库外,还需要导入jQuery UI插件库
lazyload属于第三方,跟jQueryUI是无关的,需要单独引用lazyload
4.在使用jQuery插件的应用中,以下选项中可以实现构建列表展示数据的插件是( D )。
A.autocomplete插件 在用户输入时自动提示
B.tree插件 树形菜单
C.grid插件 列表插件
D.datagrid插件列表 展示数据
5.在使用Struts 2的应用中,实现服务器端返回Ajax数据的错误选项是( BD )(选两项)
A.指定Struts 2原有的stream类型结果集
B.指定Struts 2原有的redirect类型结果集
C.使用第三方jar包,实现Struts 2的json类型结果集
D.使用Struts 2原有的despatcher类型结果集
6.关于使用JSON类型的Result返回easy UI的datagrid列表数据说法错误的是( D )
A.需要添加第三方jar包struts2-json-plugin-xxx.jar
B.需要指定package继承json-default
C.可以使用<param>标签的root参数指定返回的结果对象为根对象
D. <result>的type属性可以不指定
只要使用datagrid列表显示数据,就得使用JSON,所以type属性必须指定
7.在Struts 2框架中访问Servlet API对象描述错误的是( AB )
A.ServletActionContext和ActionContext都有getRequest()方法,都返回HttpServletRequest对象
ServletActionContext没有getRequest()方法
B.ServletActionContext和ActionContext访问Servlet API时,都无需直接调用原始Servlet API
ServletActionContext会调用原始Servlet API
C.Action可以实现特定的接口,由Struts 2框架向Action注入Servlet API对象,这种编程思想称为IoC
D.ActionContext类没有封装所有Servlet API的访问方法,所以有时也需要使用ServletActionContext
8.下列选项中,说法错误的是( C )
A.一个Interceptor处理请求后,可以调用下一个Interceptor继续处理请求
B.StrutsPrepareAndExecuteFilter是一个过滤器,它是Struts 2处理请求的入口
C.JSP结果页面运行在Action之前
D.Struts 2框架运行在Web服务器中,如果没有Web服务器,就无法配置并运行Struts 2
9.在struts.xml配置文件中有如下代码:
<action name="userAction" class="cn.jbit.action.UserAction" method="login">
<result type="redirectAction">${nextAction}</result>
<result name="error">/page/error.jsp</result></action>则下列说法不正确的是( D )
A.redirectAction类型可以将请求重定向到Action类
B.${nextAction}用来获取UserAction类中nextAction属性的值
C.UserAction类一定要提供nextAction的getter方法
D.${nextAction}配置是错误的,不能使用EL表达式确定转发的Action
可以使用EL表达式
10.下列自定义拦截器代码语法正确的是( BD )
A.public class MyInterceptor implements Interceptor { public String intercept(ActionInvocation invocation) throws Exception { … } }
实现接口必须重写其方法,这里只重写了一个方法
B.public class MyInterceptor extends AbstractInterceptor { public String intercept(ActionInvocation invocation) throws Exception { … } }
C.public class MyInterceptor implements Interceptor { public void init() { … } public String intercept(ActionInvocation invocation) throws Exception { … } }
跟选项A一样
D.public class MyInterceptor extends AbstractInterceptor { public void init() { … } public String intercept(ActionInvocation invocation) throws Exception { … } }
11.在Struts 2的应用中,要请求一个资源,其URL为:http://…/myaction/dologin.action,并且要访问其Action中的login()方法,下面选项对其配置不正确的是( AD )。
A.<struts>
<package name="default" namespace="/myaction" extends="struts-default">
<action name="dologin!login" class="……">
……
</action>
</package>
</struts>
B.<struts>
<package name="default" namespace="/myaction" extends="struts-default">
<action name="dologin" class="……" method="login">
……
</action>
</package>
</struts>
C.<struts>
<package name="default" namespace="/myaction" extends="struts-default">
<action name="do*" class="……" method="{1}">
……
</action>
</package>
</struts>
D.<struts>
<package name="default" namespace="/myaction" extends="struts-default">
<action name=" dologin" class="……" >
……
</action>
</package>
</struts>
12.以下关于Struts 2的标签说法错误的是( AD )
A.<s:date>用于格式化输出一个日期,它的format属性用于指定日期显示的格式,如:yyyy-mm-dd HH24:mi:ss,表示格式为:“年-月-日 时:分:秒”
B.Struts 2标签比JSTL标签功能更强大,数量也更多
C.<s:property value="username"/>的作用是在页面中访问Action中的getUsername()方法,并显示返回值
D.<s:textarea>可以在页面上生成一个<input type="text" />标签
13. 以下关于OGNL和ValueStack描述错误的是( CD )
A.由于值栈存储在request中,所以值栈和request作用域的生命周期是相同的
B.使用OGNL访问对象属性时,会按照从顶部到底部的顺序查找
C.当ValueStack中存放多个对象时,下面对象的属性会覆盖上面对象中的同名属性
D.Struts 2会将Action的实例保存在Stack Context中而非ValueStack中
14.下列选项对于MVC的优缺点,说法错误的是( D )
A.MVC的优点之一是模型、视图和控制器各司其职、互不干涉
B.MVC的优点之二是由于按层把系统分开,因而可以更好地实现开发中的分工
C.MVC的优点之三是允许使用各种不同样式的视图来访问同一个服务器端的代码,因此有利于组件的重用
D.MVC的优点之四是使应用程序结构变得灵活,各层之间都可以直接相互访问,因此能提交开发效率
15.在Struts 2应用中,能正确处理中文乱码问题的设置是( A )
A.<constant name="struts.i18n.encoding" value="UTF-8">
B.<constant name=" struts.custom.i18.encoding" value="UTF-8">
C.<constant name="struts.custom.i18.resources" value="UTF-8">
D.<constant name="struts.ui.theme" value="UTF-8">
16.下面是Struts 2的StudentAction类的部分代码:
public class StudentAction extends ActionSupport {
private List<Student> students = new ArrayList<Student>();
//省略了getter、setter等其他代码
}
已知students中保存了多个Student对象,下面代码能访问到students中第一个Student对象的name属性值的是( AD )。
A.<s:property value="students[0].name"/>
B.<s:property value="#Student.getName()"/>
C.<s:property value="#students[0].name"/>
D.<s:property value="students.get(0).name"/>
17.下列关于在Struts 2中访问Servlet API的说法错误的是( B )
A.ActionContext是以解耦合方式访问Servlet API
B.ServletActionContext和ActionContext都有getSession()方法,都返回Map对象
C.ActionContext类只封装部分Servlet API,有些功能需要原始的Servlet API才能实现,这种情况就需要使用ServletActionContext类
D.Action可以实现特定的接口,由Struts 2框架向Action注入Servlet API对象
18.假设在Struts 2的struts.xml中有如下拦截器配置:
<interceptors>
<interceptor name="lgIntcpt" class="intceps.LoginInterceptor"/>
<interceptor-stack name="myStack">
<interceptor-ref name=" lgIntcpt "/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack"/>
下列说法不正确的是( B )
A.该拦截器执行时,不会调用Struts2中的默认拦截器栈defaultStack
B.拦截器栈myStack的定义有误,应该使用<interceptor-stacks>标签
C.<default-interceptor-ref>标签用来定义默认拦截器或拦截器栈的引用
D.<interceptor-stack>标签中可以定义多个拦截器的引用
19.为了实现图片的下载,配置struts.xml文件时能够填写在横线处的代码是( B )
<action name="download" class="cn.jbit.houserent.action.FileDownAction">
<result name="success" type="stream">
<param name="contentType">______________</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">
attachment;filename="${fileName}"
</param>
<param name="bufferSize">4096</param>
</result>
</action>
A.text/plain
B.image/gif
C.octet-stream
D.application/msword
20.下列选项中不属于Struts 2框架配置文件的是( D )
A.struts.xml
B.struts-default.xml
C.struts-plugin.xml
D.struts-web.xml
21.下列选项中,通配符使用正确的选项是( C )
A.<action name="?Action" class="cn.jbit.houserent.action.Login" method="{?}">
<result name="success">/page/{?}_success.jsp</result>
<result name="input">/page/{?}_input.jsp</result>
</action>
B.<action name="*Action" class="cn.jbit.houserent.action.Login" method="{*}">
<result name="success">/page/{*}_success.jsp</result>
<result name="input">/page/{*}_input.jsp</result>
</action>
C.<action name="*Action" class="cn.jbit.houserent.action.Login" method="{1}">
<result name="success">/page/{1}_success.jsp</result>
<result name="input">/page/{1}_input.jsp</result>
</action>
D.<action name="*Action" class="cn.jbit.houserent.action.Login" method="{0}">
<result name="success">/page/{0}_success.jsp</result>
<result name="input">/page/{0}_input.jsp</result>
</action>
22.在Struts 2的Action中实现用户权限控制时,需要使用seesion保存用户信息,下面获取session语法正确的是( C )
A.Session session=request.getSession();
B.Session session= ActionContext.getSession();
C.Map session= ActionContext. getContext().getSession();
D.Map session= ServletContext. getContext().getSession();
23.在页面中使用Struts 2的URL标签构建一个URL,则能够正确构建超链接的选项是( C )
<s:url id="first" value="http://www.sohu.com"></s:url>
A.<s:a href="first">搜狐</s:a>
B.<s:a href="#first">搜狐</s:a>
C.<s:a href="%{first}">搜狐</s:a>
D.<s:a href="%{#first}">搜狐</s:a>
24.在Struts 2中实现文件下载时,对于stream结果类型的contentDisposition参数的描述错误的是( C )
A.contentDisposition参数设置响应的HTTP头信息中的Content-Disposition参数的值
B.contentDisposition参数有两部分组成,设置文件的下载处理方式和设置下载文件显示的文件名
C.contentDisposition参数用于设置下载文件的类型
D.contentDisposition参数的设置必须在stream结果类型中完成
25.执行<s:set name="list" value="{'北京','天津','上海','重庆'}"/>后,可以正确遍历该列表的选项是( BD )
A.<s:property value="list"/>
B.<s:iterator value="#list">
<s:property/>
</s:iterator>
C.<s:iterator value="${list}">
<s:property/>
</s:iterator>
D.<s:iterator value="%{#list}">
<s:property/>
</s:iterator>
Struts2测试题的更多相关文章
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- 菜鸟学Struts2——Interceptors
昨天学习Struts2的Convention plugin,今天利用Convention plugin进行Interceptor学习,虽然是使用Convention plugin进行零配置开发,这只是 ...
- 菜鸟学Struts2——零配置(Convention )
又是周末,继续Struts2的学习,之前学习了,Struts的原理,Actions以及Results,今天对对Struts的Convention Plugin进行学习,如下图: Struts Conv ...
- 菜鸟学Struts2——Results
在对Struts2的Action学习之后,对Struts2的Result进行学习.主要对Struts2文档Guides中的Results分支进行学习,如下图: 1.Result Types(Resul ...
- 菜鸟学Struts2——Actions
在对Struts2的工作原理学习之后,对Struts2的Action进行学习.主要对Struts2文档Guides中的Action分支进行学习,如下图: 1.Model Driven(模型驱动) St ...
- 菜鸟学Struts2——Struts工作原理
在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...
- 13、零配置Struts2开发
Convention 插件 从 Struts 2.1 开始, Struts 可以使用 Convention 插件来支持零配置: Convention 插件完全抛弃配置信息, 不仅不需要使用 strut ...
- 12、Struts2表单重复提交
什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 &qu ...
- 11、Struts2 的文件上传和下载
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
随机推荐
- NSUserDefaults的用法
NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefa ...
- kali下纯文本与窗口环境切换
切到纯文本环境,想返回 试了半天ctrl+alt+f7不行, 最后我想试试ctrl+alt+f8竟然成了: 而且那是之前以root账户登录图像界面时切换回去是f8,普通用户是f9 ,为何如此,我还不 ...
- MapReduce TopN(自主复习)
1.MyTopN 主程序 package com.littlepage.topn; import org.apache.hadoop.conf.Configuration; import org.a ...
- java面试(反射)05
1.什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够获取这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取类信息以及动态调用对象内容就称为jav ...
- Android开发艺术探索笔记之Activity
内容来源:Android开发艺术探索第一章:Activity的生命周期与启动模式 不能在onPause中做重量级的操作,因为必须执行完成以后新Activity才能Resume.onPause和onSt ...
- Android仿支付宝扣款顺序,动态改变ListView各Item次序
前言:今天遇到个需求,需要让用户动态选择语音传输方式的次序,突然想起支付宝选择扣款顺序的功能,恰好能满足需要,就花了点时间写了个demo,在此权当学习记录 先上效果图 支付宝的效果 demo的效果 思 ...
- 在vue下引入jquery bootstrap
在vue 项目中引入jquery bootstrap 引入jquery npm install jquery --save-dev 在项目根目录下的build/webpack.base.conf.js ...
- Django ckeditor增加编辑代码 功能
前言 使用ckeditor这个组件的时候 对于长写博客的同学当然希望能有 增加代码这个功能按钮 而这个按钮 需要自己配置 我们的编辑器自然需要添加代码块的功能. 需要用到插件codesnippet,c ...
- Apache服务器配置https
https://startssl.com这个网站可以给我们免费提供可信任的https证书,这里简单介绍一下配置的过程. 首先服务器需要安装openssl和apache的mod_ssl.so模块,并且需 ...
- 按照行数分割excel
本来是想通过NOPI自己编写个小工具分割excel的,但是不想去研究API,就百度了一下,找了很久,有几个软件说是为了这个功能而生,实际上要么不能使用,要么出错,所以暂时没有公开可用的软件. 然后我就 ...