Struts2错题总结

Struts总结

     struts 2是一个MVC框架,以WebWork框架的设计思想为核心,吸收了Struts 1的部分优点Struts 2拥有更加广阔的前景,自身功能强大,还对其他框架下开发的程序提供很好的兼容性。

1.以下关于jQuery说法错误的选项是(D )。

A.“$”为jQuery脚本库的默认全局变量名,即“$” = “jQuery”

B.$.ajax( )方法是jQuery提供的最底层的Ajax方法,其它如“$.get( )、$.post( )、$.getJSON( )”等都是在其基础上的再次封装

C.$.ajax( )方法具有较强的灵活性,通过设置“type”属性可以指定请求方式,设置“dataType”属性可以指定服务器端返回的数据类型

D.$.parseJSON( )方法用来返回JSON格式的数据,通常需要与$.getJSON( )方法联合使用

$.parseJSON( ):解析JSON格式的数据(转换其它类型到JSON类型)

2. 下列选项中关于XMLHttpRequest对象的说法错误的是(BC )。(选两项)

A.XMLHttpRequest对象是Ajax技术的核心,它的作用是可以发送异步请求到服务器端

B.status属性的作用可以返回当前请求的就绪状态,其常用值为:0、1、2、3、4

C.readyState属性的作用可以返回当前请求的HTTP状态码,其常用值404表示找不到访问对象

D.当就绪状态是4且状态码是200时,方可处理服务器数据

答:readyState属性作用可以返回当前请求的就绪状态,其常用值为:0、1、2、3、4

XMLHttpRequest.readyState:

状态码

0 - (未初始化)还没有调用send()方法

1 - (载入)已调用send()方法,正在发送请求

2 - (载入完成)send()方法执行完成,已经接收到全部响应内容

3 - (交互)正在解析响应内容

4 - (完成)响应内容解析完成,可以在客户端调用了

XMLHttpRequest.status:

200-正确返回

404—找不到访问对象

3.在Struts 2框架中访问Servlet API对象描述错误的是(AB )

A.ServletActionContext和ActionContext都有getRequest()方法,都返回HttpServletRequest对象

B.ServletActionContext和ActionContext访问Servlet API时,都无需直接调用原始Servlet API

C.Action可以实现特定的接口,由Struts 2框架向Action注入Servlet API对象,这种编程思想称为IoC

D.ActionContext类没有封装所有Servlet API的访问方法,所以有时也需要使用ServletActionContext

答:A项 ActionContext.getContext().get("REQUEST");  ServletActionContext.getRequest();

B项ServletActionContext直接调用原始Servlet API。

C 项、D项正确

4.以下关于Struts 2的标签说法错误的是(AD )

A.<s:date>用于格式化输出一个日期,它的format属性用于指定日期显示的格式,如:yyyy-mm-dd HH24:mi:ss,表示格式为:“年-月-日 时:分:秒”MM--->月   mm-->分钟

B.Struts 2标签比JSTL标签功能更强大,数量也更多

C.<s:property value="username"/>的作用是在页面中访问Action中的getUsername()方法,并显示返回值

D.<s:textarea>(文本域)可以在页面上生成一个<input type="text" />标签

5. 以下关于OGNL和ValueStack描述错误的是(CD )

A.由于值栈存储在request中,所以值栈和request作用域的生命周期是相同的

B.使用OGNL访问对象属性时,会按照从顶部到底部的顺序查找

C.当ValueStack中存放多个对象时,下面对象的属性会覆盖上面对象中的同名属性(栈的特性是:先进后出,所以上面的属性会覆盖下面的)

D.Struts 2会将Action的实例保存在Stack Context中而非ValueStack中(Action的实例都存储在值栈(ValueStack)中)

6.下面是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"/>

答:对象都保存到ValueStack中,不需要#,访问Stack Context属性需要加#。

7.在页面中使用Struts 2的URL标签构建一个URL,则能够正确构建超链接的选项是(CD)

<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>

8.执行<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>

答:对于字符串类型的属性,如果要访问动态数据,必须使用%{...}这样的语法,否则将被直接看作字符串场常量。

对于对象类型的属性,将直接作为OGNL表达式进行计算。如果需要对对象类型的属性制定字符串常量,则必须在

这个字符串常量外加一对单引号或者使用%{‘constant string‘}这样的语法。

例:

<s:set name="list" value="‘http://www.sohu.com‘">

<s:property value="#myurl"/>//显示http://www.sohu.com

所以BD实现同样功能。

时间: 2024-08-11 11:11:41

Struts2错题总结的相关文章

node学习错题集

1.请求路径/favicon.ico 问题:node http.createServer()创建服务器,用户请求一次,但是服务器显示两次请求:一次为用户请求,一次请求路径为/favicon.ico ?? 代码如下: var http = require('http'); http.createServer(function(req,res){ console.log( req.url ); }).listen(8080);console.log("The server is on ...&quo

objective-c 错题

//1, NSString *name = [[NSString alloc]initWithString:@"张三"]; NSLog(@"%d",[name retainCount]); //2014-11-27 20:43:20.290 OC考试错题[1750:303] -1 //2, NSString* testObject = [[NSData alloc] init]; //编译时,NSString类型,运行时,NSData类型 //3, NSArray

错题整理

错题分析: 1:java中的错误处理是通过异常处理模型来实现的,那么异常处理模块能处理的错误是: A:运行时错误 B:逻辑错误 C:语法错误 D:内部错误 正确答案是:A 解析:运行时异常都是RuntimeException类及其子类异常,如NullPointerException.IndexOutOfBoundsException等, 这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理.这些异常一般是由程序逻辑错误引起的, 程序应该从逻辑角度尽可能避免这类异常的发生. 2:java中,

大学生活6 上课应该记笔记。应不应该有错题集?

个人观点.认为对,就做.认为错,就不做.即可 好记性不如烂笔头.上课应该记笔记,而且每一个必修,专业选修课程都应该有一个笔记本.有的人会说了,每个课程都有一个本子,那得多费钱呀.我说,不呀.你到网上买2,3块钱一个本子,课程笔记不建议你买厚的本子.为啥?你算一算,一学期有多少次课,每次课有几节,一节课你会记多少内容.你就会发现本子不需要太厚的. 每到期末考试阶段,有的同学就会说:史诗级灾难大片开始上演.为什么会出现这种现象?因为平时上课没有好好学习,作业不认真做,而且到了期末考试的时候发现自己手

hibernate错题解析

01 Hibernate错题分析 解析: 此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通过属性作为筛选条件,如统计报表数据.使用交叉连接时应避免“from Dept,Emp”这样的语句出现.执行这条HQL查询语句,返回DEPT表和EMP表的交叉组合,结果集的记录数为两个表的记录数之积,也就是数据库中的笛卡尔积.这样的查询结果没有实际意义,因此选项b是正确的.A和C答案都是符合上述描述的,是

03 Hibernate错题分析

1.在Hibernate中,以下关于主键生成器说法错误的是( C). A.increment可以用于类型为long.short或byte的主键 B.identity用于如SQL Server.DB2.MySQL等支持标识列的数据库 C.sequence用于如Oracle.SQL Server等支持序列的数据库 D.native由Hibernate根据底层数据库自行判断采用何种主键生成策略,是由使用的数据库生成主键的值 解析:C .sequence不能用于SQL Server数据库 2.使用HQL

【好程序员笔记分享】Obj-c之错题分析

由于错题点击提交后不能在进入,所以只能记下小部分开始就弄不清楚的Obj-c的题目(希望能改进一下,这样更利于学习). 1.Obj-c中变量的作用域问题.Obj-C语言支持用public.private和protected对其作用域进行设定.其中默认值为protected,表示在这个类及其派生类中可以访问该变量.public表示这个类以及其派生类,还有类外都可以对该变量进行访问,这是较不安全的.private表示只有这个类可以访问该变量,值得提出的一点是,若父类中有某private变量,则其子类不

C#初级阶段-学习收获及错题(知识点)汇总

Learn C#  既然选择了游戏开发就没有放弃的打算,接受新鲜事物的前期阶段有的人是排斥的,而我恰恰相反,属于那种极其兴奋甚至忘我的类型,随着课程难度的增加,学习量的加大,有时甚至压的你喘不过气,最恐怖的还是当你思维陷入了死循环跳出不来的时候,想破脑袋都想不出来的答案的迷茫感和挫败感,这大概就是大部分程序员发量不多的原因吧,难的不是代码本身,而是对于整个思路和框架的把控,周围有陆陆续续的人选择了离开,惋惜但又庆幸.惋惜一个相处半月之久的好友离去,庆幸他们没有在不喜欢的领域浪费着自己的生命,在惜

S2 深入.NET和C#编程 笔试测试错题积累

---恢复内容开始--- <深入.NET平台和C#编程>内部测试题-笔试试卷错题积累 1: 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和Deserialize()方法可以分别用来实现序列化和反序列化过程 解析:BinaryFormatter c) 如果一个类可序列化,则它的子类和包含的各成员对象也一定可序列化 问题出在了子类,如果子类压根不能进行序列化操作,则会抛出异常 d) 标识一