1很新的面试题2很全的面试题3很重点的面试题框架
Struts2与Struts1的面试题
1Struts2与Struts1的联系与区别?为什么要用Struts2?struts1与struts2都是mvc框架的经典实现模式。Struts2不是从Struts1升级而来而是由WebWork改名而来而WebWork只是Xwork加了很多WEB拦截器而已区别:1核心控制器改成了过滤器(过滤器比Servlet的级别要高,因为程序运行时是先进入过滤器再进入Servlet)2struts1严重依赖于Servlet因为太过于依赖于api的HttpServletRequest与HttpServletRespo
se的两个参数struts2就则脱离了Servlet的API。3管理Actio
时struts1是单例模式,struts2是每个请求产生一个实例。4在表达式的支持上struts2不仅有jstl,还有功能更加强大的og
l表达式。5struts1的类型转换是单向的页面到Actio
Formstruts2是双向的页面到Actio
再到页面回显6校验,struts1没有针对具体方法的校验,struts2提供了指定某个方法进行效验,还有框架校验。7struts2提供了拦截器,利用拦截器可以在访问Actio
之前或之后增加如权限拦截等功能。8struts2提供了全局范围,包范围,Actio
范围的国际化资源文件管理实现。9struts2支持多种视图类型2Struts2的核心是什么体现了什么思想?Struts2的核心是拦截器基本上核心功能都是由拦截器完成拦截器的实现体现了AOP面向切面编程思想3为何继承Actio
Support因为Actio
Support实现了Actio
接口,提供了国际化,校验的功能。Actio
Support实现了国际化功能:因为它提供了一个getTextStri
gkey方法实现国际化该方法从资源文件上获取国际化信息。Actio
接口提供了五个常量successerrorlogi
i
put
o
e。skseserr
4模型驱动与属性驱动是什么模型驱动使用时注意什么问题答:模型驱动与属性驱动都是用来封装数据的。1模型驱动:在实现类中实现ModelDrive
T接口使用泛型把属性类封装起来,重写getModel方法,然后在实现类里创建一个属性类的实例,2属性驱动:在实现类里定义属性,生成get与set方法,通过属性来拿值。
f5Struts2是怎样进行值封装的?struts2的值封装实际上是采用了og
l表达式6Struts2如何进行校验1每个Actio
类有一个校验文件,命名Actio
类名validatio
xml且与Actio
类同目录,这是对actio
里面所有的方法进行校验。2对Actio
里面的指定方法做校验使用Actio
的类名访问路径_方法名validatio
xml。在效验文件里又分为两种字段校验:字段用什么校验器来校验。非字段校验:是用校验器校验什么字段。7谈谈Struts2的国际化在struts2中是使用了拦截器来r