文档库 最新最全的文档下载
当前位置:文档库 › Struts2练习题

Struts2练习题

Struts2练习题
Struts2练习题

Struts 2作业

1.简述什么事MVC?

MVC 的全称为model-view-controller(模型-视图-控制器)。MVC 是一种开发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护。使用MVC 开发出来的应用程序一般包括以下几块内容:

·控制器(Controller):控制器类处理客户端向Web 应用程序发出的请求,获取数据,

并指定返回给客户端,用来显示处理结果的视图。

·模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻

辑,用来使得这些数据必须符合业务逻辑。

·视图(View):视图类是Web 应用程序中用来生成并显示HTML 格式的服务器端对客

户端请求的响应结果的模板文件

2.Struts 2以(webWork )为核心,采用(拦截器)的机制来处理用户的

请求。

3.简述一个请求在Struts 2框架中的处理流程,请按自己对框架的理解叙述。

1-用户提交自己的请求-2-由web.xml拦截,转发到action进行处理;-3- Struts.xml根据相应的action配置,调用相应的方法来处理,并根据结果转发到不同的页面;

4.不属于Action接口中定义的字符串常量是()?

A)SUCCESS

B)FAILURE

C)ERROR

D)INPUT

5.资源文件的后缀名为()?

A)txt

B)doc

C)property

D)properties

6.在JSP页面中可以通过Struts 2提供的()标签来输出国际化信息。

A)

B)

C)

D)

7.以文字过滤拦截器为例,简述拦截器的使用步骤。

-1 定义自己的拦截器实例,并继承相应的拦截器类;

-2 在struts.xml中配置拦截器。使用声明拦截器,在 内以调用拦截器或者使用拦截器;

-3 用户发送添加评论的请求,由struts.xml捕获,并交由拦截器处理;

-4 拦截器根据定义的方法进行校验,放回相应的执行结果,实现文字屏蔽效果。

8.在同一个系统中配置多个拦截器,试说明它们的执行顺序。

一般来说:先配置的拦截器,会先获得执行的机会,但是实际情况不是这样。execute()

方法执行之前,配置在前面的拦截器,会先对用户的请求起作用。execute()方法执行之后,配置在后面的拦截器,会先对用户的请求起作用。(两头向中间靠拢的执行)

9.请简述struts2中输入校验的几种方式。

客户端校验:在客户端用过使用javascript脚本对用户输入的数据进行校验;

服务器校验:在服务器端对数据进行校验。

10.使用配置方式实现输入校验有哪两种方式?它们的命名规则是?如果同时配

置了两种方式,寻找校验文件的顺序是?

-1 重写validate()方法实现和validateXxx()方法实现

-2 命名规则:必须以validate开头

-3 顺序:当被请求的action方法处理逻辑还有相应的validateXxx()方法。那么该校验方法将在validate()校验之前进行

11.校验器配置风格有哪两种?举例解释使用标签的含义。

-1 一种是字段优先,称为字段校验器风格;

一种是校验器优先,称为非字段校验器风格。

-2 字段校验器:以 指定action中校验的属性指定校验器,message为校验器的失败提示信息key为国际化资源文件中的key -3 非字段校验器:以为基本元素。Type指定该元素的类型,

Param指定传人参数。

12.Struts 2哪些内置校验器支持客户端校验?以及如何通过Struts 2标签自动生

成客户端校验代码?

必填校验器(required)

必填字符串校验器(requiredstring)

字符串长度校验器(stringlength)

整数校验器(int)

日期校验器(date)

邮件地址格式校验器(email)

网址格式校验器(url)

转换校验器(conversion)

表达式校验器(expression)

字段表达式校验器(fieldexpression)

正则表达式校验器(regex)

13.自定义校验器必须实现哪个接口?注册校验器的配置文件应如何命名?

实现com.opensymphony.xwork2.validator.Validator;接口;配置文件必须以validate.xml命名;

14.按照自己的理解,谈谈自定义类型转换器的方法。

1 继承DefaultTypeConverter类;

2 注册局部类型转换器方法

在Action所在的目录下,创建ActionClassName-conversion.properties文件,文件内容格式syntax: =

3 注册全局类型转换器方法

在classpath的根下创建xwork-conversion.properties 文件,文件内容语法:syntax: =

15.Struts2中动态调用的格式()

A)ActionName?methodName.do。

B)ActionName!methodName.do。

C)ActionName?methodName.action。

D)ActionName!methodName.action。

16.什么是国际化?国际化资源文件的命名格式是?

国际化是(i18n)指的是软件设计阶段,就应该使软件具有支持多种语言和地区的功能、这样,

当需要在应用中添加对一种新语言和国家的支持是不需要对已有的软件返工,不需要修改的代码;

java资源文件的命名可以有3种格式:

basename_language_country.properties

basename_language.properties

basename_properties

17.在页面中使用( )输出国际化信息;在Action类中如何输出国际

化信息?表单标签中又当如何?

在action类中,可以继承actionSupport,使用getText()方法得到国际化信息;

在表单标签中,通过key属性指定资源文件的key

18.加载国际化资源文件有哪四种方式?

加载全局范围资源文件,加载包范围资源文件,加载action范围资源文件,加载临时指定范围内的资源文件;

19.按照你的理解,谈谈如何实现自由选择语言环境?

Struts 2提供一个名字为i18n的拦截器,并已把该拦截器添加到默认拦截器中。

i18n拦截器自动查找客户端请求中名字为request_locale的参数,并根据该参数实例化一个Locale对象。

Struts 2会把Locale保存在Session中的一个名字为WW_TRANS_I18N_LOCALE的属性中,该属性值将会作为浏览器默认的Locale.

20.请画出OGNL上下文的结构示意图。解释如何访问OGNL上下文的对象?常

常需要配合哪个Struts标签使用?

添加值栈,将值存放到值栈里面,在页面访问方式# 配合

21 Struts 2默认响应请求的后缀名是.action,若要配置Struts 2只处理以.do为后

缀名的请求,有哪些方法?若要处理多个后缀又当如何?

1 可以修改struts.xml 和struts.properties来修改默认的配置,

在struts.xml中添加子接点

或者是修改struts.properties文件添加struts.action.extension = do这都是一样的效果

注意:struts.xml 和struts.properties的都放在src下发布的时候会自动拷贝到WEB-INF/classes下

2 在web.xml里面的filter中加入值为do;

3 处理多个后缀,在步骤1里面用逗号隔开添加即可;

21.实现在Action中访问Servlet API有哪几种方法?

直接访问方式,间接访问方式,ioc和非ioc方式;

22.Struts 2文件上传需要用到那两个包?根据你的理解,谈谈实现文件上传的步

骤。

Comons-fileupload-1.2.1.jar 和commons-io-1.2.1.jar

第一步:在web-inf/lib下面添加必须的jar文件

第二步:把form表单的enctype设置为“multipart/form-data”;

第三步:在action类中;添加必要属性:

private File upload;//得到上传文件的类型

private String uploadFIletype;//文件类型

private String uploadFileName;//文件名称

23.在strutrs2中数据验证失败时,通过()标签显示错误信息。

A)

B)

C)

D)

24.以下配置文件上传拦截器只允许bmp图片文件代码,正确的是()。

A)*.bmp

B)bmp

C)image/*.bmp

D)image/bmp

25.如下代码,对DemoAction起作用的拦截器有()。

A)只有testInterceptor.

B)只有demoInterceptor.

C)都不起作用。

D)同时起作用。

26.假设在Session中存在名称为uid属性。通过OGNL访问该属性。真确的代

码是()

A)#uid。

B)#session.id。

C)uid 。

D)${session.id}。

27.如下代码说法真确的是()(多选)


A)奇数行为黄色

B)偶数行为黄色

C)奇数行为红色

D)偶数行为红色

28.下面代码运行的效果是()

<%

String url="生成超链接";

pageContext.setAttribute("uid",url);

%>

A)生成超链接

B)生成超链接。

C)找不到对象。

D)什么都不输。

29.简述如何用拦截器解决表单重复提交问题?

第一步:在表单中加入

第二步:在struts.xml中添加如下配置token拦截器

/tokenTag.jsp

Java工程师面试题(三大框架)

Java工程师(程序员)面试题 Struts,Spring,Hibernate三大框架的面试 1.Hibernate工作原理及为什么要用? 原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作6.提交事务7.关闭Session 8.关闭SesstionFactory 为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2.Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many 4.Struts1流程: 1、客户端浏览器发出HTTP请求。 2、根据web.xml配置,该请求被ActionServlet接收。 3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。 4、是否验证,需要验证则调用ActionForm 的validate方法,验证失败则跳转到input,成功则继续。 5、Action从ActionForm获得数据,调用javabean 中的业务方法处理数据。 6、Action返回ActionForward对象,跳转到相应JSP 页面或Action。 7、返回HTTP响应到客户端浏览器。 MVC设计模式:modal:“模型”也称业务逻辑,是正真完成任务的代码,相当与JavaBeanview:视图,其实就是显示界面,相当于JSPcontroller:控制器,他控制模型和视图的交互过程,相当于servletstruts1是基于MVC设计模式hibernate是基于ORM对象关系映射 5.struts是什么? struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式struts2是基于webwork技术的框架,是sun和webwork公司联手开发的一个功能非常齐全的框架,struts2和struts1没有任何关系,是一个全新的框架 6.spring是什么? spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注

SCME_STRUTS2试卷

--------------------------------------装--------------------------------------订------------------------------线---------------------------------------- **学院课程考试试卷 课程名称:《使用Struts2开发基于MVC设计模式的企业级应用》(A)卷 年级:班级: 姓名:_______________ 学号:_________________ 考试(考查) 闭卷 选择题(每题2分,共计100分) 1.在控制器类中一般需要添加相应属性的( A )和(C )。(选两项) A.setter方法 B.as方法 C.getter方法 D.is方法 2.业务控制器需要在( B )配置文件中进行配置 A.web.xml B.struts.xml C.struts2.xml D.webwork.xml 3.不属于Struts 2表单标签库的是( D )。 A. B. C. D.