>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23781 个阅读者 刷新本主题
 * 贴子主题:  Struts2的面试题 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2017-06-27 21:43:34     消息  查看  搜索  好友  邮件  复制  引用

1.描述Struts2的工作原理

答:客户端发送请求--》请求经过一系列过滤器--》FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action --》FilterDispatcher把请求的处理交给ActionProxy--》通过ConfigurationManager询问Struts配置文件(Struts.xml),找到需要调用的Action类--》ActionProxy创建一个ActionInvocation的实例 --》调用Action--》执行完毕,返回结果

2.Struts2中的拦截器有什么用?列举框架提供的拦截器名称?(至少3种,可用中文名)

答:拦截器是struts2核心组成部分,它提供了一种机制,使得开发者可以定义一个特定的功能模块,这个模块会在Action执行之前或者之后执行,也可以在Action执行之前阻止Action执行。

常用的拦截器有:chain:在不同请求之间将请求参数在不同名字件转换,请求内容不变fileUpload:提供文件上传。

i18n:记录用户选择的区域环境   logger:输出Action的名字  params:将请求中的参数设置到Action中去。

3.什么是OGNL,有什么用途?如何访问存放在session中叫user的对象的username属性

答:OGNL是Object-Graph Navigation Language的缩写,也叫对象导航语言。它是Struts的一种功能强大的表达式语言

列如:访问session中的user对象的username属性:

注意的是:使用前需要在页面头部导入taglib prefix="s" uri="/struts-tags"

4. 什么是国际化,struts2实现国际化的原理。

答:国际化是根据不同的国家和地区的语言文化的不同,所设计的适用于不同地区的编码格式。

实现方法:

首先在src目录下新建message_en.properties(英文);

页面获取国际化信息:

或者使用

原理:程序得到当前运行环境的国际/区域,语言环境并存放于Locale,ResourceBundle根据Locale中信息自动搜索对应的国际化资源文件并加载。

5.JSON的全称是什么?用JavaScript代码描述一个json数组,并进行解析。

答:JSON的全称是”JavaScript Object Notation”,它是一种独立于语言的轻量级数据交换格式。

比如:

[{

  "id":"1",

  "text":"所有班级",

  "Children":[

  {"id":"11",

  "text:"Y2T01"

}

]

}]

6. AJAX是什么? 描述ajax的原理

答:Ajax又叫异步刷新,(JavaScript和xml)

原理:

使用HttpRequest向服务器发送异步请求,服务器返回处理结果

7. 什么是反射?请用反射动态创建一个类的对象(写关键代码,其它可省略)

答:反射,程序运行时动态获取类型信息,完成对象创建,方法调用等。

例如:

Class myclass=Class.forNama("包名.类名");

Student stu=Factory.createInstance("stu1");

8. 在struts2中如何实现转发和重定向?

答:在struts.xml中配置type="redirect"(重定向)

type="redirectAction"(转发)

9. Struts2中的type类型有哪些?至少写4种

答:chain,redirect,redirectAction,json,dispatcher

10. Struts2有哪些优点?

答:实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现。有丰富的tag可以用,大大提高了开发效率。



程序猿的技术大观园:www.javathinker.net



网站系统异常


系统异常信息
Request URL: http://www.javathinker.net/WEB-INF/lybbs/jsp/topic.jsp?postID=208

java.lang.NullPointerException

如果你不知道错误发生的原因,请把上面完整的信息提交给本站管理人员