这是一道面试题 请大家帮帮忙  谢谢

解决方案 »

  1.   

    struts怎么能和设计模式貌似不搭边吧
    一个是思想,一个是具体应用的工具.
      

  2.   

    struts就是典型的MVC模式啊,model-view-control。你看看mvc吧
      

  3.   

    Struts 中所使用的是命令模式
      

  4.   

    Action 接口就是一个命令接口。
      

  5.   

    struts2是在WEB层应用了MVC模式的一个框架!里面充满了AOP IOC等流行思想!其中如果要套用的设计模式的话,什么模式都有,比如动态代理,工厂,模板,结合ACTION,interceptor等等具体可以参考源码实现!
      

  6.   

    struts 完整的MVC设计模式  
      

  7.   

    如楼上 struts是MVC设计模式的体现  M-model V-view C-control
    Struts体系结构
    视图:一组jsp文件。这组jsp文件中既没有业务逻辑,也没有模型信息,只有标签。
    模型:表示应用程序的状态和业务逻辑,struts没有提供特定的模型组件,在大型分布式应用程序开发中,业务逻辑通常由JavaBean或ejb组件实现。
    控制器:Struts的中枢,由ActionServlet类和Action类实现。ActionServlet在MVc模型中扮演中央控 制器的角色,接收所有客户端得请求,并把请求委派到指定的Action类。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。 
         
        
      

  8.   

    struts只是一个框架,不是设计模式,mvc才是设计模式,struts只是mvc设计模式的一种体现。
      

  9.   

    总体框架是mvc。
    但里边还有很多其它模式结合在一起。
      

  10.   

    struts实现了策略模式,在数据类型转换中应用!
    struts还实现了Memento模式,在表单校验失败时会保存actionform对象的前一个状态!
      

  11.   

    个人感觉Struts就是mvc的一个实现,如果非要说设计模式的话,就讲讲mvc吧
      

  12.   

    Struts 是一组相互协作的类、servlet 和 JSP 标记组成的一个可重用的 MVC 2 设计,这个定义表示Struts是一个框架.
      

  13.   

    简单层面看就是MVC模式,可是一个框架包含太多模式了,基本上都有代理;是面试的话就说说MVC,和代理、反射这些吧
      

  14.   

      struts 不就是mvc模式吗?  
      

  15.   

    struts是MVC的一个具本实现,MVC是设计模式,在不同平台都有不同的实现。
      

  16.   

    Struts1.2 控制流程关键还是要自己了解透彻。现总结如下。供参考: Struts1.2依然是应用很广的框架,熟悉其基本的控制流程是必要的:
    一、ActionServlet的初始化ActionServlet作为Struts组件的前端控制器,由于web.xml的相应配置:<load-on-startup>0</load-on-startup>在应用一加载时即会被实例化并调用其init方法,init方法所做的主要工作有二:1. 加载struts配置文件,并创建用于封装配置信息的ModuleConfig对象 
    2. 加载资源文件,并创建用于封装资源文件的MessageResources对象 
    需要注意两点:如果web.xml有多模块配置,将创建多个ModuleConfig对象和MessageResources对象分别用于封装各个模块的struts配置文件和资源文件。 
    针对各个模块所创建的ModuleConfig对象和MessageResources对象将存储在ServletContext中,对应的属性名中有该模块名称的相应标识。 
    另外,如果有相应配置的话,init方法还将初始化数据源和PlugIn
    二、ActionServlet的process所有形如*.do的请求(根据web.xml中的相关配置)将提交给ActionServlet,最终将调用其process方法。process方法的主要工作有三:1.  根据请求信息获知所请求的模块名称,从ServletContext中获得与请求模块对应的的ModuleConfig对象,并存储到request中。 
    2.  根据模块信息获得相应的RequestProcessor对象,一个模块对应一个RequestProcessor对象,RequestProcessor对象将关联与所属模块对应的ModuleConfig对象。 
    3.  调用RequestProcessor对象的process方法,将request和response作为参数传递给它。 
    三、RequestProcessor的processRequestProcessor对象的process方法的主要工作有五步:1.  调用自己的 processPreprocess(request, response)方法,该方法不进行任何操作,用于子类重写扩展其功能。 
    2.  获得与请求地址所匹配的ActionMapping对象,AcionMapping对象用于封装一个特定acion的配置信息。 
    3.  根据ActionMapping中的配置信息获得ActionForm对象(该对象将缓存到request或session中),并将表单数据填充到ActionForm中,然后根据ActionMapping的配置决定是否验证ActionForm,如果验证,将调用ActionForm的validate方法,若其返回的ActionErros对象中包含ActionMessage对象则表示验证失败,将转向action配置信息input属性所指示的地址。 
    4.  如果ActionForm无需验证或验证通过将创建并缓存与请求地址匹配的Action对象,将ActionMapping对象、ActionForm对象、request和response作为参数调用其execute方法。 
    5.  根据Action对象的execute方法返回的ActionForward对象,将请求转发或重定向到该ActionForward所封装的地址。 
      

  17.   

    struts 是一种框架思想 简化编程 
      

  18.   

    sturts 是 mvc 模式的一种实现了
      

  19.   

    首先STRUTS是三层架构,这个无需怀疑,然后你说下典型的三层架构是怎样的,然后再说struts是如果控制的,struts2。0开始就是webwork的翻版,降低了和JDK的耦合,然后view自然可以理解成JSP(也可以是别的),页面action配置提交struts的控制器(这里用XML文档进行控制)转到后台的JAVA类代码,进行后台的判断及数据库查询,然后再通过XML配置转到想显示的页面就可以了
      

  20.   

      .do---->contextServlet--->context-struts.xml--->action-->jsp
    model<---->view
    model<---->controller
      

  21.   

    应该是要问java中有哪些设计模式吧
    有23中,最简单的就是单例模式
      

  22.   

    mvc属于架构模式,大家就不要误导LZ啦