1.用自己的话简要阐述struts2的执行流程。
Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。
Struts 2的工作流程相对于Struts 1要简单,与WebWork框架基本相同,所以说Struts2是WebWork的升级版本。
基本简要流程如下:
1、客户端浏览器发出HTTP请求。
2、根据web.xml配置,该请求被FilterDispatcher接收。
3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton。
4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。
6、返回HTTP响应到客户端浏览器。
2.为什么要使用MVC框架?
(1)web应用架构发展:
第一阶段:servlet的响应流程:
javaWeb应用中第一个阶段是基于Servlet的应用,Servlet充当MVC中的控制层和表现层的角色,是实现B/S结构应用的基础;
第二阶段:Model 1的程序流程:
这个阶段是当JSP技术出现后,因为JSP的本质仍是Servlet,整个Web项目几乎都由JSP组成。它和第一阶段一样,JSP充当MVC中的控制层和表现层的角色。
缺点:当软件规模变大,因为JSP使大量类耦合,可扩展性、可测试性就变得非常低。
第三阶段:Model 2的程序流程:
这个阶段开始有了MVC的设计:Servlet充当控制器,JSP充当视图,JavaBean充当模型。这个阶段的极致设计就是引入一些设计模式,比如Spring的IoC就是使用工厂模式,Struts2也类似观察者模式。
第四阶段:框架的出现:
这一阶段,主要是为了简化开发流程和设计难度,将MVC实现为一个框架,开发者只需要遵循MVC框架即可完成开发。
现在javaEE中的常用的框架有:Struts、Spring、Hibernate、Ibatis、JPA、Spring MVC、JSF、Tapestry
原文:http://www.cnblogs.com/x_wukong/p/3937662.html