Struts1和Struts2都是优秀的MVC框架,MVC模式的目的是实现web的职能分离。MVC即模型、视图、控制器,模型层实现业务逻辑,视图层用于用户交互,控制器担当模型的视图的桥梁,它分发用户的请求并选择视图显示给用户,同时也解释用户的输入并映射成模型层可执行的操作。
Struts1的控制层由ActionServlet和ActionMapping构成,ActionServlet继承自Servlet,它包含一组基于配置的ActionMapping对象,每个ActionMapping对象实现了一个请求到模型层中的一个Action之间映射,ActionServlet接收并分发用户的请求。
Model部分由Action和ActionForm对象构成,Strut1中所有的Action处理器对象都是必须继承Action类,Action处理器对象用于封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。通过ActionForm组件对象实现了对View和
Model之间交互的支持。 在Strut1中Action处理器是单例的,所以有线程安全的问题。
View部分是通过JSP技术实现的,并且提供了一套自定义的标记库。
Struts2是Strut和webwork的整合,它的控制层由FilterDispatcher和Interceptor构成,FilterDispatcher根据请求调用相应的业务逻辑控制器(Action)并根据配置加载Action相关的所有Interceptor。
Strut2中的Action可以是一个pojo,通常包含了一个execute方法,该方法返回一个字符串,当业务控制器处理完用户请求后,根据处理结果不同,execute方法返回不同字符串——每个字符串对应一个视图名,。 (实际上Action是个被代理的对象,ActionProxy为Interceptor、Action和Result提供了执行环境。 )Struts 2 中的Action对象为每一个请求产生一个实例,因此没有线程安全问题。在与spring集成时,应设置作用域scope为prototype。
Struts2并不强制View层的表现形式,可以是JSP、Freemarker模板、二进制流输出等等。也有自己的一套标签,并支持OGNL表达式。
分享到:
相关推荐
struts1工作原理 struts2工作原理 struts1和struts2比较 spring mvc工作原理 struts和spring mvc比较
MVC模式和Struts框架
从开发者角度看,就是说需要显示给用户的数据可以直接从Action中获取,而不像Struts1.x那样,必须把相应的Bean存到Page、Request或者Session中才能获取。Struts1.x 必须继承org.apache.struts.action.Action或者其...
为更好的了解struts2的框架的原理 自定义框架 去更好的理解和认识struts
spring-webmvc-struts.jar对Struts和Spring整合时需要用到的包
简单的介绍了MVC的架构模式以及Struts2的产生、Struts的简单介绍
MVC框架2 struts2+ibatis+springMVC
第1章 Struts 2概述,第2章 Struts 2下的HelloWorld,第3章 Struts 2基础,第4章 深入Struts 2,第5章 Struts 2的类型转换,第6章 文件的上传和下载.,第7章 Struts 2的拦截器,第8章 Struts 2的输入校验,9.2 ...
MVC原理(struts框架详解), Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑
ACCP 5.0 Y2 MVC和Struts2本书的选择题答案,希望可以帮到大家
spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 spring webmvc struts 2.5 ...
MVC模式和Struts框架 MVC模式 Java EE 平台上的MVC实现 Struts的架构 Struts的安装使用
源码一 jsp+servlet+javaBean实现MVC 源码二 Struts+Hibernate实现MVC 源码一 jsp+servlet+javaBean实现MVC 源码二 Struts+Hibernate实现MVC
DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> ...
详细介绍了java web开发的model2模式即mvc模式的理论,以及mvc框架struts框架的理解
简单学习例 MVC结构 实现查询,追加,修改,删除处理
MVC模式和Struts框架。
JSP源码——Struts+Hibernate实现MVC_strutsmvc.zip