文档详情

java程序员2016最新面试题ssm面向对象选编.docx

发布:2017-04-16约2.2万字共27页下载文档
文本预览下载声明
1.很新的面试题 2.很全的面试题 3.很重点的面试题 框架 Struts2与Struts1的面试题 ###1.Struts2与Struts1的联系与区别?为什么要用Struts2? struts1与struts2都是mvc框架的经典实现模式。 Struts2不是从Struts1升级而来,而是由WebWork改名而来,而WebWork只是Xwork加了很多WEB拦截器而已 区别: 1.核心控制器改成了过滤器(过滤器比Servlet的级别要高,因为程序运行时是先进入过滤器再进入Servlet) 2.struts1严重依赖于Servlet(因为太过于依赖于api的HttpServletRequest与HttpServletResponse的两个参数), struts2就则脱离了Servlet的API。 3.管理Action时struts1是单例模式,struts2是每个请求产生一个实例。 4.在表达式的支持上struts2不仅有jstl,还有功能更加强大的ognl表达式。 5.struts1的类型转换是单向的(页面到ActionForm),struts2是双向的(页面到Action再到页面回显) 6.校验,struts1没有针对具体方法的校验,struts2提供了指定某个方法进行效验,还有框架校验。 7.struts2提供了拦截器,利用拦截器可以在访问Action之前或之后增加如权限拦截等功能。 8.struts2提供了全局范围,包范围,Action范围的国际化资源文件管理实现。 9.struts2支持多种视图类型 ###2.Struts2的核心是什么,体现了什么思想? Struts2的核心是拦截器,基本上核心功能都是由拦截器完成,拦截器的实现体现了AOP(面向切面编程)思想 ###3.为何继承ActionSupport 因为ActionSupport实现了Action接口,提供了国际化,校验的功能。 ActionSupport实现了国际化功能:因为它提供了一个getText(String key)方法实现国际化,该方法从资源文件上获取国际化信息。 Action接口提供了五个常量(success,error,login,input,none)。 (s?kses,er?(r) n?n ###4.模型驱动与属性驱动是什么 模型驱动使用时注意什么问题 答:模型驱动与属性驱动都是用来封装数据的。 1.模型驱动:在实现类中实现ModelDrivenT接口使用泛型把属性类封装起来,重写getModel()方法,然后在实现类里创建一个属性类的实例, 2.属性驱动:在实现类里定义属性,生成get与set方法,通过属性来拿值。 ###5.Struts2是怎样进行值封装的? struts2的值封装实际上是采用了ognl表达式. ###6.Struts2如何进行校验 1.每个Action类有一个校验文件,命名 Action类名-validation.xml,且与Action类同目录,这是对action里面所有的方法进行校验。 2.对Action里面的指定方法做校验使用Action的类名-访问路径_方法名-validation.xml。 在效验文件里又分为两种: 字段校验:字段用什么校验器来校验。 非字段校验:是用校验器校验什么字段。 ###7.谈谈Struts2 的国际化 在struts2中是使用了拦截器来实现国际化。 具体是先配置属性文件,格式是文件名_语言_国家名.properties,然后放的位置有Action同包位置, package位置,全局位置(要在常量里面配置), 然后页面通过s:text或者key属性去访问 ###8.OGNL是什么你在项目中如何使用它 OGNL是:对象图形导航语言。 在struts2中的作用: ognl的实现关系:ActionConetxt。 ognl 3个常用的符号 # $ % # 1 构造map,list集合。 2 取ognl上下文的值。 3 用来过滤集合。 $ 1 在校验框架中取资源文件中的值。 2 可以在配置文件中传递参数。 % 使用百分号可以进行转义。 ###9.Strust2如何访问Servlet API 1:通过ActionContext可以获得request,application,session三个作用域(struts2实际上是通过适配器 来把servlet的api转换为一个map,并把这些map放在ActionContext里面)。 2:通过ActionContext的子
显示全部
相似文档