*Struts几个面试题收集1说说Struts的优点、缺点Struts是开源软件,使开发者能更深入的了解其内部实现机制。Struts优点:业界”标准”(很多成功案例),学习资源丰富。Struts的优点主要集中体现在两个方面:Taglib和页面导航。a、利用Struts提供的taglib可以大大节约开发时间。b、维护扩展比较方便。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。c、表现与逻辑分离d、表单验证解决了请求数据的验证问题,增强了系统健壮性。e、便于团队开发Struts缺点:a、大量的使用标签,对于初学者难度较大。b、ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成)Struts提供了几个标签库?都是什么标签库?Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。HTML标签用来创建能够和Struts框架和其他相应的HTML标签交互的HTML输入表单Bean标签在访问JavaBeans及其属性,以及定义一个新的bean时使用Logic标签管理条件产生的输出和对象集产生的循环Template标签随着Tiles框架包的出现,此标记已开始减少使用Nested标签增强对其他的Struts标签的嵌套使用的能力2分析一下struts是如何实现MVC的。Struts采用jsp作为MVC的视图,由ActionServlet具体指定的action动作类作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JAVA类以进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。3说说Struts的处理流程:控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModuleConfig对象。控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自已。还可以在ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。也可以把Action要处理的业务逻辑封装在JavaBean中,如果系统...